diff --git a/data/playground/haskell/RFC.hs b/data/playground/haskell/RFC.hs new file mode 100644 index 0000000000..ee8507f623 --- /dev/null +++ b/data/playground/haskell/RFC.hs @@ -0,0 +1,20 @@ +-- RFC 1: What should "arg" match? +fst :: (a, b) -> a +fst tup@(x, y) = x +-- ^^^^^^^^^^ <- 🎉 the whole pattern +-- ^^^ <- 👀 only the name of the whole argument, if given +-- ^^^ ^ ^ <- 🚀 all names in the pattern + +-- RFC 2: What should "branch" match? +foo = bar + where + bar = 1 +-- 🎉 `foo = bar` and `bar = 1` +-- 👀 `foo = bar where bar = 1` +-- 🚀 `foo = bar where bar = 1` and `bar = 1` + +-- RFC 3: What should "condition" match? +bap :: Int -> Int +bap | 1 == 1, 2 == 2 = undefined +-- 🎉 `1 == 1` and `2 == 2` +-- 👀 `1 == 1, 2 == 2` diff --git a/data/playground/haskell/branch.hs b/data/playground/haskell/branch.hs new file mode 100644 index 0000000000..0c372e27ff --- /dev/null +++ b/data/playground/haskell/branch.hs @@ -0,0 +1,46 @@ +data a :*: b = a :*: b +type a :+: b = Either a b + +fst :: a :*: b -> a +fst (a :*: b) = a + +pair a b = a :*: b + +fromLeft :: a :+: b -> a +fromLeft (Left a) = a +fromLeft _ = undefined + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +abs :: Int -> Int +abs x + | x >= 0 = x + | otherwise = -x + +bap :: Int -> Int +bap x + | x > 0, x == 0 = x + | otherwise = -x + +compare :: Int -> Int -> Ordering +compare x y + | x < y = LT + | x == y = EQ + | x > y = GT + +fromEither :: (a -> c) -> (b -> c) -> Either a b -> c +fromEither f g x = case x of + Left l -> f l + Right r -> g r + +someFunction x (y1 : y2 : ys) (a, b, (c, [d])) = undefined + +compose :: (a -> b) -> (b -> c) -> (a -> c) +compose f g x = g (f x) + +zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] +zipWith f [] [] = [] +zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys diff --git a/data/playground/haskell/namedFunction.hs b/data/playground/haskell/namedFunction.hs new file mode 100644 index 0000000000..692b2efcc3 --- /dev/null +++ b/data/playground/haskell/namedFunction.hs @@ -0,0 +1,30 @@ +one :: Integer +one = 1 + +type MyInt = Int + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +not True = False +not False = True + +wot True = 1 +wot False = crash + where + crash = undefined + +zot = undefined + +pot :: a +pot = + let kettle = undefined + in kettle + +lot = undefined + +type MyDouble = Double + +dot = undefined diff --git a/packages/common/src/extensionDependencies.ts b/packages/common/src/extensionDependencies.ts index d748061247..2c2a9bd430 100644 --- a/packages/common/src/extensionDependencies.ts +++ b/packages/common/src/extensionDependencies.ts @@ -7,6 +7,7 @@ export const extensionDependencies = [ "mrob95.vscode-talonscript", // talon "jrieken.vscode-tree-sitter-query", // scm "mathiasfrohlich.kotlin", // kotlin + "justusadam.language-haskell", // haskell // Necessary for the `drink cell` and `pour cell` tests "ms-toolsai.jupyter", diff --git a/packages/common/src/scopeSupportFacets/haskell.ts b/packages/common/src/scopeSupportFacets/haskell.ts new file mode 100644 index 0000000000..55a87cd3c8 --- /dev/null +++ b/packages/common/src/scopeSupportFacets/haskell.ts @@ -0,0 +1,84 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + +import type { LanguageScopeSupportFacetMap } from "./scopeSupportFacets.types"; +import { ScopeSupportFacetLevel } from "./scopeSupportFacets.types"; + +const { supported, unsupported, notApplicable } = ScopeSupportFacetLevel; + +export const haskellScopeSupport: LanguageScopeSupportFacetMap = { + list: unsupported, + map: unsupported, + ifStatement: unsupported, + regularExpression: unsupported, + switchStatementSubject: unsupported, + fieldAccess: unsupported, + + statement: unsupported, + "statement.iteration.document": unsupported, + "statement.iteration.block": unsupported, + + class: unsupported, + // "class.instance": unsupported, + className: unsupported, + + namedFunction: unsupported, + "namedFunction.method": unsupported, + anonymousFunction: unsupported, + functionName: unsupported, + + functionCall: unsupported, + "functionCall.constructor": unsupported, + functionCallee: unsupported, + "functionCallee.constructor": unsupported, + + "argument.actual": unsupported, + "argument.actual.iteration": unsupported, + "argument.formal": unsupported, + "argument.formal.iteration": unsupported, + + "comment.line": unsupported, + "comment.block": unsupported, + + "string.singleLine": unsupported, + + "branch.match": unsupported, + "branch.match.iteration": unsupported, + "branch.if": unsupported, + "branch.if.iteration": unsupported, + "branch.ternary": unsupported, + + "condition.if": unsupported, + "condition.ternary": unsupported, + + "name.assignment": unsupported, + "name.assignment.pattern": unsupported, + "name.function": unsupported, + "name.class": unsupported, + "name.field": unsupported, + + "key.mapPair": unsupported, + "key.mapPair.iteration": unsupported, + + "value.assignment": unsupported, + "value.mapPair": unsupported, + "value.mapPair.iteration": unsupported, + "value.return": unsupported, + "value.return.lambda": unsupported, + "value.field": unsupported, + + // "type.adt": unsupported, + // "type.alias": unsupported, + // "type.annotation": unsupported, + // "type.constraint": unsupported, + // "type.dataFamily": unsupported, + // "type.dataInstance": unsupported, + // "type.field": unsupported, + // "type.foreignExport": unsupported, + // "type.foreignImport": unsupported, + // "type.formalParameter": unsupported, + // "type.function": unsupported, + // "type.gadt": unsupported, + // "type.newtype": unsupported, + // "type.typeFamily": unsupported, + // "type.typeInstance": unsupported, +}; diff --git a/packages/common/src/scopeSupportFacets/languageScopeSupport.ts b/packages/common/src/scopeSupportFacets/languageScopeSupport.ts index 8e9d706b59..d862d915b3 100644 --- a/packages/common/src/scopeSupportFacets/languageScopeSupport.ts +++ b/packages/common/src/scopeSupportFacets/languageScopeSupport.ts @@ -5,6 +5,7 @@ import { cppScopeSupport } from "./cpp"; import { csharpScopeSupport } from "./csharp"; import { cssScopeSupport } from "./css"; import { goScopeSupport } from "./go"; +import { haskellScopeSupport } from "./haskell"; import { htmlScopeSupport } from "./html"; import { javaScopeSupport } from "./java"; import { javascriptScopeSupport } from "./javascript"; @@ -36,6 +37,7 @@ export const languageScopeSupport: StringRecord = csharp: csharpScopeSupport, css: cssScopeSupport, go: goScopeSupport, + haskell: haskellScopeSupport, html: htmlScopeSupport, java: javaScopeSupport, javascript: javascriptScopeSupport, diff --git a/packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts b/packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts index 8ac41be384..08d52accc5 100644 --- a/packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts +++ b/packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts @@ -299,6 +299,16 @@ export const scopeSupportFacetInfos: Record< scopeType: "disqualifyDelimiter", }, + "branch.match": { + description: "A pattern match branch", + scopeType: "branch", + }, + "branch.match.iteration": { + description: + "Iteration scope for pattern match branches; should be the entire branch", + scopeType: "branch", + isIteration: true, + }, "branch.if": { description: "An if/elif/else branch", scopeType: "branch", @@ -308,7 +318,6 @@ export const scopeSupportFacetInfos: Record< "A for / while loop branch. For most languages there will just be one branch for the entire loop, but eg in Python you can have an else branch for a loop.", scopeType: "branch", }, - "branch.if.iteration": { description: "Iteration scope for if/elif/else branch; should be the entire if-else statement", diff --git a/packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts b/packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts index 2112a74ad8..e8b26d6de2 100644 --- a/packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts +++ b/packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts @@ -81,6 +81,8 @@ export const scopeSupportFacets = [ "disqualifyDelimiter", + "branch.match", + "branch.match.iteration", "branch.if", "branch.if.iteration", "branch.try", diff --git a/packages/cursorless-vscode-e2e/package.json b/packages/cursorless-vscode-e2e/package.json index a3dbc7a7ff..11e2206973 100644 --- a/packages/cursorless-vscode-e2e/package.json +++ b/packages/cursorless-vscode-e2e/package.json @@ -13,7 +13,8 @@ "scripts": { "compile": "tsc --build", "watch": "tsc --build --watch", - "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build" + "clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build", + "generate-scope-tests-for-haskell": "my-ts-node src/scripts/generateScopeTestsForHaskell.mts" }, "keywords": [], "author": "", diff --git a/packages/cursorless-vscode-e2e/src/scripts/generateScopeTestsForHaskell.mts b/packages/cursorless-vscode-e2e/src/scripts/generateScopeTestsForHaskell.mts new file mode 100644 index 0000000000..6b2cd9d73d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/scripts/generateScopeTestsForHaskell.mts @@ -0,0 +1,157 @@ +import * as fs from "fs"; +import * as path from "path"; + +const functionsWithSingleCase = [ + ["id :: a -> a", "id x = x"], + ["const :: a -> b -> a", "const x y = x"], + ["fst :: (a, b) -> a", "fst (x, y) = x"], +]; + +const functionsWithMultipleCases = [ + [ + "fib :: Integer -> Integer", + "fib 0 = 0", + "fib 1 = 1", + "fib n = fib (n-1) + fib (n-2)", + ], + [ + "map :: (a -> b) -> [a] -> [b]", + "map f [] = []", + "map f (x:xs) = f x : map f xs", + ], + ["not :: Bool -> Bool", "not True = False", "not False = True"], +]; + +const nonFunctions = [ + ["type Point = (Double, Double)"], + ["data Maybe a = Nothing | Just a"], +]; + +interface FunctionParameters { + singleCase: boolean; + signature: boolean; +} + +function* functionParameterCases(): Generator { + for (const singleCase of [true, false]) { + for (const signature of [true, false]) { + yield { singleCase, signature }; + } + } +} + +type DelimiterParameters = + | { kind: "anchor" } + | ({ kind: "function" } & FunctionParameters) + | { kind: "otherwise" }; + +const delimiterParameterCases: DelimiterParameters[] = [ + { kind: "anchor" }, + ...[...functionParameterCases()].map( + (functionParameters: FunctionParameters): DelimiterParameters => { + return { kind: "function", ...functionParameters }; + }, + ), + { kind: "otherwise" }, +]; + +interface TestParameters { + startDelimiterParameters: DelimiterParameters; + functionParameters: FunctionParameters; + endDelimiterParameters: DelimiterParameters; +} + +function* testParameterCases(): Generator { + for (const startDelimiterParameters of delimiterParameterCases) { + for (const functionParameters of functionParameterCases()) { + for (const endDelimiterParameters of delimiterParameterCases) { + yield { + startDelimiterParameters, + functionParameters, + endDelimiterParameters, + }; + } + } + } +} + +function renderFunction( + [functionSignature, ...functionBody]: string[], + { signature }: FunctionParameters, +): string { + if (signature) { + return [functionSignature, ...functionBody].join("\n"); + } else { + return functionBody.join("\n"); + } +} + +function* testCases(): Generator { + for (const testParameters of testParameterCases()) { + const functionsWithSingleCaseIter = functionsWithSingleCase.values(); + const functionsWithMultipleCasesIter = functionsWithMultipleCases.values(); + const nonFunctionsIter = nonFunctions.values(); + // eslint-disable-next-line no-inner-declarations + function generateFunction(functionParameters: FunctionParameters): string { + if (functionParameters.singleCase) { + return renderFunction( + functionsWithSingleCaseIter.next().value, + functionParameters, + ); + } else { + return renderFunction( + functionsWithMultipleCasesIter.next().value, + functionParameters, + ); + } + } + const testCase: string[] = []; + if (testParameters.startDelimiterParameters.kind === "function") { + testCase.push(generateFunction(testParameters.startDelimiterParameters)); + } else if (testParameters.startDelimiterParameters.kind === "otherwise") { + testCase.push(nonFunctionsIter.next().value.join("\n")); + } + testCase.push(generateFunction(testParameters.functionParameters)); + if (testParameters.endDelimiterParameters.kind === "function") { + testCase.push(generateFunction(testParameters.endDelimiterParameters)); + } else if (testParameters.endDelimiterParameters.kind === "otherwise") { + testCase.push(nonFunctionsIter.next().value.join("\n")); + } + testCase.push("---"); + yield testCase.join("\n\n"); + } +} + +const scopeTypes = [ + "branch.match.iteration", + "name.function", + "namedFunction", + "functionName", +]; + +function generateTestsFor(scopeType: string): void { + const dirname = path.join( + "src", + "suite", + "fixtures", + "scopes", + "haskell", + "generated", + scopeType, + ); + fs.mkdirSync(dirname, { recursive: true }); + + let index: number = 1; + for (const testCase of testCases()) { + fs.writeFileSync( + path.join(dirname, `./${scopeType}${index}.scope`), + testCase, + { encoding: "utf-8" }, + ); + index++; + } +} + +for (const scopeType of scopeTypes) { + generateTestsFor(scopeType); +} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration1.scope new file mode 100644 index 0000000000..b657f557da --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration1.scope @@ -0,0 +1,46 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:0-1:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >---------< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >---------< +3| fib n = fib (n-1) + fib (n-2) + +4| + + + +[#3 Range] = +[#3 Domain] = 3:0-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-----------------------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration2.scope new file mode 100644 index 0000000000..e5e0ae51c7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration2.scope @@ -0,0 +1,18 @@ +abs :: Int -> Int +abs x + | x >= 0 = x + | otherwise = -x + +--- + +[Range] = +[Domain] = 1:0-3:20 +0| abs :: Int -> Int + +1| abs x + >----- +2| | x >= 0 = x + -------------------- +3| | otherwise = -x + --------------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration3.scope new file mode 100644 index 0000000000..3c1f308286 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration3.scope @@ -0,0 +1,18 @@ +bap :: Int -> Int +bap x + | x > 0, x == 0 = x + | otherwise = -x + +--- + +[Range] = +[Domain] = 1:0-3:20 +0| bap :: Int -> Int + +1| bap x + >----- +2| | x > 0, x == 0 = x + ------------------------ +3| | otherwise = -x + --------------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration4.scope new file mode 100644 index 0000000000..84c38b1321 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration4.scope @@ -0,0 +1,21 @@ +compare :: Int -> Int -> Ordering +compare x y + | x < y = LT + | x == y = EQ + | x > y = GT + +--- + +[Range] = +[Domain] = 1:0-4:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >----------- +2| | x < y = LT + ----------------- +3| | x == y = EQ + ----------------- +4| | x > y = GT + -----------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration5.scope new file mode 100644 index 0000000000..76eb6d892e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal.iteration5.scope @@ -0,0 +1,46 @@ +fromEither :: (a -> c) -> (b -> c) -> Either a b -> c +fromEither f g x = case x of + Left l -> f l + Right r -> g r + +--- + +[#1 Range] = +[#1 Domain] = 1:0-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >---------------------------- +2| Left l -> f l + ------------------ +3| Right r -> g r + ------------------< +4| + + + +[#2 Range] = +[#2 Domain] = 2:4-2:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--------------< +3| Right r -> g r + +4| + + + +[#3 Range] = +[#3 Domain] = 3:4-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >--------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal1.scope new file mode 100644 index 0000000000..ee9833a874 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal1.scope @@ -0,0 +1,293 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:7-0:14 +0| fib :: Integer -> Integer + >-------< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Removal] = 0:7-0:15 +0| fib :: Integer -> Integer + >--------< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Leading delimiter] = 0:6-0:7 +0| fib :: Integer -> Integer + >-< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Trailing delimiter] = 0:14-0:15 +0| fib :: Integer -> Integer + >-< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:18-0:25 +0| fib :: Integer -> Integer + >-------< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Removal] = 0:17-0:25 +0| fib :: Integer -> Integer + >--------< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Leading delimiter] = 0:17-0:18 +0| fib :: Integer -> Integer + >-< +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 1:4-1:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >-< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#3 Removal] = 1:4-1:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >--< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#3 Leading delimiter] = 1:3-1:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >-< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#3 Trailing delimiter] = 1:5-1:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >-< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 2:4-2:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >-< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#4 Removal] = 2:4-2:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >--< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#4 Leading delimiter] = 2:3-2:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >-< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#4 Trailing delimiter] = 2:5-2:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >-< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#4 Insertion delimiter] = " " + + +[#5 Content] = +[#5 Domain] = 3:12-3:17 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-----< +4| + + +[#5 Removal] = 3:12-3:18 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >------< +4| + + +[#5 Leading delimiter] = 3:11-3:12 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[#5 Trailing delimiter] = 3:17-3:18 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[#5 Insertion delimiter] = " " + + +[#6 Content] = +[#6 Domain] = 3:24-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-----< +4| + + +[#6 Removal] = 3:23-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >------< +4| + + +[#6 Leading delimiter] = 3:23-3:24 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[#6 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal2.scope new file mode 100644 index 0000000000..850f55bfe1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal2.scope @@ -0,0 +1,177 @@ +abs :: Int -> Int +abs x + | x >= 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-0:4 +0| abs :: Int -> Int + >< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-0:4 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:4-1:5 +0| abs :: Int -> Int + >------------- +1| abs x + -----< +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#2 Removal] = 0:3-1:5 +0| abs :: Int -> Int + >-------------- +1| abs x + -----< +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 0:3-0:4 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 0:7-0:10 +0| abs :: Int -> Int + >---< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#3 Removal] = 0:7-0:11 +0| abs :: Int -> Int + >----< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#3 Leading delimiter] = 0:6-0:7 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#3 Trailing delimiter] = 0:10-0:11 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 0:14-1:5 +0| abs :: Int -> Int + >--- +1| abs x + -----< +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#4 Removal] = 0:13-1:5 +0| abs :: Int -> Int + >---- +1| abs x + -----< +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#4 Leading delimiter] = 0:13-0:14 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal3.scope new file mode 100644 index 0000000000..8e8962cdbb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal3.scope @@ -0,0 +1,177 @@ +bap :: Int -> Int +bap x + | x > 0, x == 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-0:4 +0| bap :: Int -> Int + >< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-0:4 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:4-1:5 +0| bap :: Int -> Int + >------------- +1| bap x + -----< +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#2 Removal] = 0:3-1:5 +0| bap :: Int -> Int + >-------------- +1| bap x + -----< +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 0:3-0:4 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 0:7-0:10 +0| bap :: Int -> Int + >---< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#3 Removal] = 0:7-0:11 +0| bap :: Int -> Int + >----< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#3 Leading delimiter] = 0:6-0:7 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#3 Trailing delimiter] = 0:10-0:11 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 0:14-1:5 +0| bap :: Int -> Int + >--- +1| bap x + -----< +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#4 Removal] = 0:13-1:5 +0| bap :: Int -> Int + >---- +1| bap x + -----< +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#4 Leading delimiter] = 0:13-0:14 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal4.scope new file mode 100644 index 0000000000..3bead8f950 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal4.scope @@ -0,0 +1,564 @@ +compare :: Int -> Int -> Ordering +compare x y + | x < y = LT + | x == y = EQ + | x > y = GT + +--- + +[#1 Content] = +[#1 Domain] = 0:11-0:14 +0| compare :: Int -> Int -> Ordering + >---< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Removal] = 0:11-0:15 +0| compare :: Int -> Int -> Ordering + >----< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Leading delimiter] = 0:10-0:11 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Trailing delimiter] = 0:14-0:15 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:18-0:21 +0| compare :: Int -> Int -> Ordering + >---< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Removal] = 0:18-0:22 +0| compare :: Int -> Int -> Ordering + >----< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Leading delimiter] = 0:17-0:18 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Trailing delimiter] = 0:21-0:22 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 0:18-0:33 +0| compare :: Int -> Int -> Ordering + >---------------< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#3 Removal] = 0:17-0:33 +0| compare :: Int -> Int -> Ordering + >----------------< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#3 Leading delimiter] = 0:17-0:18 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 0:25-0:33 +0| compare :: Int -> Int -> Ordering + >--------< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#4 Removal] = 0:24-0:33 +0| compare :: Int -> Int -> Ordering + >---------< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#4 Leading delimiter] = 0:24-0:25 +0| compare :: Int -> Int -> Ordering + >-< +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#4 Insertion delimiter] = " " + + +[#5 Content] = +[#5 Domain] = 1:8-1:9 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >-< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#5 Removal] = 1:8-1:10 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >--< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#5 Leading delimiter] = 1:7-1:8 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >-< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#5 Trailing delimiter] = 1:9-1:10 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >-< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#5 Insertion delimiter] = " " + + +[#6 Content] = +[#6 Domain] = 1:10-1:11 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >-< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#6 Removal] = 1:9-1:11 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >--< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#6 Leading delimiter] = 1:9-1:10 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >-< +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#6 Insertion delimiter] = " " + + +[#7 Content] = +[#7 Domain] = 3:6-3:7 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#7 Removal] = 3:6-3:8 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >--< +4| | x > y = GT + +5| + + +[#7 Leading delimiter] = 3:5-3:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#7 Trailing delimiter] = 3:7-3:8 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#7 Insertion delimiter] = " " + + +[#8 Content] = +[#8 Domain] = 3:11-3:12 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#8 Removal] = 3:11-3:13 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >--< +4| | x > y = GT + +5| + + +[#8 Leading delimiter] = 3:10-3:11 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#8 Trailing delimiter] = 3:12-3:13 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#8 Insertion delimiter] = " " + + +[#9 Content] = +[#9 Domain] = 4:6-4:7 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#9 Removal] = 4:6-4:9 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >---< +5| + + +[#9 Leading delimiter] = 4:5-4:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#9 Trailing delimiter] = 4:7-4:9 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >--< +5| + + +[#9 Insertion delimiter] = " " + + +[#10 Content] = +[#10 Domain] = 4:11-4:12 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#10 Removal] = 4:11-4:13 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >--< +5| + + +[#10 Leading delimiter] = 4:10-4:11 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#10 Trailing delimiter] = 4:12-4:13 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#10 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal5.scope new file mode 100644 index 0000000000..0c1de9e67e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal5.scope @@ -0,0 +1,989 @@ +fromEither :: (a -> c) -> (b -> c) -> Either a b -> c +fromEither f g x = case x of + Left l -> f l + Right r -> g r + +--- + +[#1 Content] = +[#1 Domain] = 0:14-0:22 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#1 Removal] = 0:14-0:23 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >---------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#1 Leading delimiter] = 0:13-0:14 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#1 Trailing delimiter] = 0:22-0:23 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:15-0:16 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#2 Removal] = 0:15-0:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#2 Trailing delimiter] = 0:16-0:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 0:20-0:21 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#3 Removal] = 0:19-0:21 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#3 Leading delimiter] = 0:19-0:20 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 0:26-0:34 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#4 Removal] = 0:26-0:35 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >---------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#4 Leading delimiter] = 0:25-0:26 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#4 Trailing delimiter] = 0:34-0:35 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#4 Insertion delimiter] = " " + + +[#5 Content] = +[#5 Domain] = 0:26-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >---------------------------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#5 Removal] = 0:25-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >----------------------------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#5 Leading delimiter] = 0:25-0:26 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#5 Insertion delimiter] = " " + + +[#6 Content] = +[#6 Domain] = 0:27-0:28 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#6 Removal] = 0:27-0:29 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#6 Trailing delimiter] = 0:28-0:29 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#6 Insertion delimiter] = " " + + +[#7 Content] = +[#7 Domain] = 0:32-0:33 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#7 Removal] = 0:31-0:33 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#7 Leading delimiter] = 0:31-0:32 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#7 Insertion delimiter] = " " + + +[#8 Content] = +[#8 Domain] = 0:38-0:48 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >----------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#8 Removal] = 0:38-0:49 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-----------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#8 Leading delimiter] = 0:37-0:38 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#8 Trailing delimiter] = 0:48-0:49 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#8 Insertion delimiter] = " " + + +[#9 Content] = +[#9 Domain] = 0:38-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >---------------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#9 Removal] = 0:37-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >----------------< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#9 Leading delimiter] = 0:37-0:38 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#9 Insertion delimiter] = " " + + +[#10 Content] = +[#10 Domain] = 0:52-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#10 Removal] = 0:51-0:53 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >--< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#10 Leading delimiter] = 0:51-0:52 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + >-< +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#10 Insertion delimiter] = " " + + +[#11 Content] = +[#11 Domain] = 1:11-1:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#11 Removal] = 1:11-1:13 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >--< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#11 Leading delimiter] = 1:10-1:11 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#11 Trailing delimiter] = 1:12-1:13 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#11 Insertion delimiter] = " " + + +[#12 Content] = +[#12 Domain] = 1:13-1:14 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#12 Removal] = 1:13-1:15 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >--< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#12 Leading delimiter] = 1:12-1:13 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#12 Trailing delimiter] = 1:14-1:15 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#12 Insertion delimiter] = " " + + +[#13 Content] = +[#13 Domain] = 1:15-1:16 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#13 Removal] = 1:15-1:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >--< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#13 Leading delimiter] = 1:14-1:15 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#13 Trailing delimiter] = 1:16-1:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >-< +2| Left l -> f l + +3| Right r -> g r + +4| + + +[#13 Insertion delimiter] = " " + + +[#14 Content] = +[#14 Domain] = 2:4-2:8 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >----< +3| Right r -> g r + +4| + + +[#14 Removal] = 2:4-2:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >------< +3| Right r -> g r + +4| + + +[#14 Leading delimiter] = 2:0-2:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >----< +3| Right r -> g r + +4| + + +[#14 Trailing delimiter] = 2:8-2:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--< +3| Right r -> g r + +4| + + +[#14 Insertion delimiter] = " " + + +[#15 Content] = +[#15 Domain] = 2:4-2:11 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-------< +3| Right r -> g r + +4| + + +[#15 Removal] = 2:4-2:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--------< +3| Right r -> g r + +4| + + +[#15 Leading delimiter] = 2:0-2:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >----< +3| Right r -> g r + +4| + + +[#15 Trailing delimiter] = 2:11-2:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-< +3| Right r -> g r + +4| + + +[#15 Insertion delimiter] = " " + + +[#16 Content] = +[#16 Domain] = 2:10-2:11 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-< +3| Right r -> g r + +4| + + +[#16 Removal] = 2:10-2:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--< +3| Right r -> g r + +4| + + +[#16 Leading delimiter] = 2:8-2:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--< +3| Right r -> g r + +4| + + +[#16 Trailing delimiter] = 2:11-2:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-< +3| Right r -> g r + +4| + + +[#16 Insertion delimiter] = " " + + +[#17 Content] = +[#17 Domain] = 2:17-2:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-< +3| Right r -> g r + +4| + + +[#17 Removal] = 2:16-2:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--< +3| Right r -> g r + +4| + + +[#17 Leading delimiter] = 2:16-2:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >-< +3| Right r -> g r + +4| + + +[#17 Insertion delimiter] = " " + + +[#18 Content] = +[#18 Domain] = 3:4-3:9 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-----< +4| + + +[#18 Removal] = 3:4-3:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >------< +4| + + +[#18 Leading delimiter] = 3:0-3:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >----< +4| + + +[#18 Trailing delimiter] = 3:9-3:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#18 Insertion delimiter] = " " + + +[#19 Content] = +[#19 Domain] = 3:4-3:11 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-------< +4| + + +[#19 Removal] = 3:4-3:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >--------< +4| + + +[#19 Leading delimiter] = 3:0-3:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >----< +4| + + +[#19 Trailing delimiter] = 3:11-3:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#19 Insertion delimiter] = " " + + +[#20 Content] = +[#20 Domain] = 3:10-3:11 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#20 Removal] = 3:10-3:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >--< +4| + + +[#20 Leading delimiter] = 3:9-3:10 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#20 Trailing delimiter] = 3:11-3:12 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#20 Insertion delimiter] = " " + + +[#21 Content] = +[#21 Domain] = 3:17-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#21 Removal] = 3:16-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >--< +4| + + +[#21 Leading delimiter] = 3:16-3:17 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >-< +4| + + +[#21 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal6.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal6.scope new file mode 100644 index 0000000000..06fb07c3fe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/argument.formal6.scope @@ -0,0 +1,1024 @@ +zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] +zipWith f [] [] = [] +zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +--- + +[#1 Content] = +[#1 Domain] = 0:11-0:24 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-------------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#1 Removal] = 0:11-0:25 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >--------------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#1 Leading delimiter] = 0:10-0:11 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#1 Trailing delimiter] = 0:24-0:25 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Domain] = 0:12-0:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#2 Removal] = 0:12-0:14 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >--< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#2 Trailing delimiter] = 0:13-0:14 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Domain] = 0:17-0:18 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#3 Removal] = 0:17-0:19 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >--< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#3 Leading delimiter] = 0:16-0:17 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#3 Trailing delimiter] = 0:18-0:19 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Domain] = 0:17-0:23 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#4 Removal] = 0:16-0:23 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#4 Leading delimiter] = 0:16-0:17 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#4 Insertion delimiter] = " " + + +[#5 Content] = +[#5 Domain] = 0:22-0:23 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#5 Removal] = 0:21-0:23 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >--< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#5 Leading delimiter] = 0:21-0:22 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#5 Insertion delimiter] = " " + + +[#6 Content] = +[#6 Domain] = 0:28-0:31 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >---< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#6 Removal] = 0:28-0:32 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >----< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#6 Leading delimiter] = 0:27-0:28 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#6 Trailing delimiter] = 0:31-0:32 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#6 Insertion delimiter] = " " + + +[#7 Content] = +[#7 Domain] = 0:28-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-----------------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#7 Removal] = 0:27-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >------------------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#7 Leading delimiter] = 0:27-0:28 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#7 Insertion delimiter] = " " + + +[#8 Content] = +[#8 Domain] = 0:35-0:38 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >---< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#8 Removal] = 0:35-0:39 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >----< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#8 Leading delimiter] = 0:34-0:35 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#8 Trailing delimiter] = 0:38-0:39 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#8 Insertion delimiter] = " " + + +[#9 Content] = +[#9 Domain] = 0:35-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >----------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#9 Removal] = 0:34-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-----------< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#9 Leading delimiter] = 0:34-0:35 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#9 Insertion delimiter] = " " + + +[#10 Content] = +[#10 Domain] = 0:42-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >---< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#10 Removal] = 0:41-0:45 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >----< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#10 Leading delimiter] = 0:41-0:42 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + >-< +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#10 Insertion delimiter] = " " + + +[#11 Content] = +[#11 Domain] = 1:8-1:9 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#11 Removal] = 1:8-1:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >--< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#11 Leading delimiter] = 1:7-1:8 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#11 Trailing delimiter] = 1:9-1:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#11 Insertion delimiter] = " " + + +[#12 Content] = +[#12 Domain] = 1:10-1:12 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >--< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#12 Removal] = 1:10-1:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >---< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#12 Leading delimiter] = 1:9-1:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#12 Trailing delimiter] = 1:12-1:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#12 Insertion delimiter] = " " + + +[#13 Content] = +[#13 Domain] = 1:13-1:15 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >--< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#13 Removal] = 1:13-1:16 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >---< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#13 Leading delimiter] = 1:12-1:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#13 Trailing delimiter] = 1:15-1:16 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + >-< +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + +3| + + +[#13 Insertion delimiter] = " " + + +[#14 Content] = +[#14 Domain] = 2:8-2:9 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#14 Removal] = 2:8-2:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#14 Leading delimiter] = 2:7-2:8 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#14 Trailing delimiter] = 2:9-2:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#14 Insertion delimiter] = " " + + +[#15 Content] = +[#15 Domain] = 2:10-2:18 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--------< +3| + + +[#15 Removal] = 2:10-2:19 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---------< +3| + + +[#15 Leading delimiter] = 2:9-2:10 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#15 Trailing delimiter] = 2:18-2:19 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#15 Insertion delimiter] = " " + + +[#16 Content] = +[#16 Domain] = 2:11-2:12 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#16 Removal] = 2:11-2:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#16 Trailing delimiter] = 2:12-2:13 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#16 Insertion delimiter] = " " + + +[#17 Content] = +[#17 Removal] = +[#17 Domain] = 2:11-2:17 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >------< +3| + + +[#17 Insertion delimiter] = " " + + +[#18 Content] = +[#18 Domain] = 2:15-2:17 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#18 Removal] = 2:14-2:17 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---< +3| + + +[#18 Leading delimiter] = 2:14-2:15 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#18 Insertion delimiter] = " " + + +[#19 Content] = +[#19 Domain] = 2:19-2:27 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--------< +3| + + +[#19 Removal] = 2:19-2:28 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---------< +3| + + +[#19 Leading delimiter] = 2:18-2:19 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#19 Trailing delimiter] = 2:27-2:28 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#19 Insertion delimiter] = " " + + +[#20 Content] = +[#20 Domain] = 2:20-2:21 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#20 Removal] = 2:20-2:22 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#20 Trailing delimiter] = 2:21-2:22 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#20 Insertion delimiter] = " " + + +[#21 Content] = +[#21 Removal] = +[#21 Domain] = 2:20-2:26 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >------< +3| + + +[#21 Insertion delimiter] = " " + + +[#22 Content] = +[#22 Domain] = 2:24-2:26 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#22 Removal] = 2:23-2:26 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---< +3| + + +[#22 Leading delimiter] = 2:23-2:24 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#22 Insertion delimiter] = " " + + +[#23 Content] = +[#23 Domain] = 2:32-2:33 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#23 Removal] = 2:32-2:34 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#23 Leading delimiter] = 2:31-2:32 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#23 Trailing delimiter] = 2:33-2:34 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#23 Insertion delimiter] = " " + + +[#24 Content] = +[#24 Domain] = 2:34-2:35 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#24 Removal] = 2:34-2:36 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#24 Leading delimiter] = 2:33-2:34 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#24 Trailing delimiter] = 2:35-2:36 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#24 Insertion delimiter] = " " + + +[#25 Content] = +[#25 Domain] = 2:46-2:47 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#25 Removal] = 2:46-2:48 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#25 Leading delimiter] = 2:45-2:46 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#25 Trailing delimiter] = 2:47-2:48 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#25 Insertion delimiter] = " " + + +[#26 Content] = +[#26 Domain] = 2:48-2:50 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#26 Removal] = 2:48-2:51 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---< +3| + + +[#26 Leading delimiter] = 2:47-2:48 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#26 Trailing delimiter] = 2:50-2:51 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#26 Insertion delimiter] = " " + + +[#27 Content] = +[#27 Domain] = 2:51-2:53 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >--< +3| + + +[#27 Removal] = 2:50-2:53 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >---< +3| + + +[#27 Leading delimiter] = 2:50-2:51 +0| zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] + +1| zipWith f [] [] = [] + +2| zipWith f (x : xs) (y : ys) = f x y : zipWith f xs ys + >-< +3| + + +[#27 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if1.scope new file mode 100644 index 0000000000..9231bf5835 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if1.scope @@ -0,0 +1,125 @@ +abs :: Int -> Int +abs x + | x >= 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-2:20 +0| abs :: Int -> Int + >------------- +1| abs x + ----- +2| | x >= 0 = x + --------------------< +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-2:20 +0| abs :: Int -> Int + >-------------- +1| abs x + ----- +2| | x >= 0 = x + --------------------< +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >--------------< +3| | otherwise = -x + +4| + + +[#2 Removal] = 2:4-2:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >----------------< +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 2:5-2:6 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >-< +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >--------------< +4| + + +[#3 Removal] = 3:5-3:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >---------------< +4| + + +[#3 Leading delimiter] = 3:5-3:6 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >-< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if2.scope new file mode 100644 index 0000000000..492ab268b8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if2.scope @@ -0,0 +1,125 @@ +bap :: Int -> Int +bap x + | x > 0, x == 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-2:24 +0| bap :: Int -> Int + >------------- +1| bap x + ----- +2| | x > 0, x == 0 = x + ------------------------< +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-2:24 +0| bap :: Int -> Int + >-------------- +1| bap x + ----- +2| | x > 0, x == 0 = x + ------------------------< +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:24 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >------------------< +3| | otherwise = -x + +4| + + +[#2 Removal] = 2:4-2:24 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >--------------------< +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 2:5-2:6 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >-< +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:20 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >--------------< +4| + + +[#3 Removal] = 3:5-3:20 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >---------------< +4| + + +[#3 Leading delimiter] = 3:5-3:6 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >-< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if3.scope new file mode 100644 index 0000000000..1d1de7d71e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.if3.scope @@ -0,0 +1,163 @@ +compare :: Int -> Int -> Ordering +compare x y + | x < y = LT + | x == y = EQ + | x > y = GT + +--- + +[#1 Content] = +[#1 Removal] = +[#1 Domain] = 1:0-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >----------- +2| | x < y = LT + -----------------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-----------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Removal] = 2:4-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-------------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Leading delimiter] = 2:5-2:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-----------< +4| | x > y = GT + +5| + + +[#3 Removal] = 3:5-3:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >------------< +4| | x > y = GT + +5| + + +[#3 Leading delimiter] = 3:5-3:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#3 Insertion delimiter] = "\n" + + +[#4 Content] = +[#4 Domain] = 4:6-4:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-----------< +5| + + +[#4 Removal] = 4:5-4:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >------------< +5| + + +[#4 Leading delimiter] = 4:5-4:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#4 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match1.scope new file mode 100644 index 0000000000..7f058447e1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match1.scope @@ -0,0 +1,125 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:4-1:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >-----< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Removal] = 1:3-1:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >------< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Leading delimiter] = 1:3-1:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + >-< +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:4-2:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >-----< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Removal] = 2:3-2:9 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >------< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Leading delimiter] = 2:3-2:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + >-< +3| fib n = fib (n-1) + fib (n-2) + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + + +[#3 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + + +[#3 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match2.scope new file mode 100644 index 0000000000..9231bf5835 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match2.scope @@ -0,0 +1,125 @@ +abs :: Int -> Int +abs x + | x >= 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-2:20 +0| abs :: Int -> Int + >------------- +1| abs x + ----- +2| | x >= 0 = x + --------------------< +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-2:20 +0| abs :: Int -> Int + >-------------- +1| abs x + ----- +2| | x >= 0 = x + --------------------< +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| abs :: Int -> Int + >-< +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >--------------< +3| | otherwise = -x + +4| + + +[#2 Removal] = 2:4-2:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >----------------< +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 2:5-2:6 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + >-< +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >--------------< +4| + + +[#3 Removal] = 3:5-3:20 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >---------------< +4| + + +[#3 Leading delimiter] = 3:5-3:6 +0| abs :: Int -> Int + +1| abs x + +2| | x >= 0 = x + +3| | otherwise = -x + >-< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match3.scope new file mode 100644 index 0000000000..492ab268b8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match3.scope @@ -0,0 +1,125 @@ +bap :: Int -> Int +bap x + | x > 0, x == 0 = x + | otherwise = -x + +--- + +[#1 Content] = +[#1 Domain] = 0:4-2:24 +0| bap :: Int -> Int + >------------- +1| bap x + ----- +2| | x > 0, x == 0 = x + ------------------------< +3| | otherwise = -x + +4| + + +[#1 Removal] = 0:3-2:24 +0| bap :: Int -> Int + >-------------- +1| bap x + ----- +2| | x > 0, x == 0 = x + ------------------------< +3| | otherwise = -x + +4| + + +[#1 Leading delimiter] = 0:3-0:4 +0| bap :: Int -> Int + >-< +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:24 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >------------------< +3| | otherwise = -x + +4| + + +[#2 Removal] = 2:4-2:24 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >--------------------< +3| | otherwise = -x + +4| + + +[#2 Leading delimiter] = 2:5-2:6 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + >-< +3| | otherwise = -x + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:20 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >--------------< +4| + + +[#3 Removal] = 3:5-3:20 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >---------------< +4| + + +[#3 Leading delimiter] = 3:5-3:6 +0| bap :: Int -> Int + +1| bap x + +2| | x > 0, x == 0 = x + +3| | otherwise = -x + >-< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match4.scope new file mode 100644 index 0000000000..1d1de7d71e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match4.scope @@ -0,0 +1,163 @@ +compare :: Int -> Int -> Ordering +compare x y + | x < y = LT + | x == y = EQ + | x > y = GT + +--- + +[#1 Content] = +[#1 Removal] = +[#1 Domain] = 1:0-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + >----------- +2| | x < y = LT + -----------------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:6-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-----------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Removal] = 2:4-2:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-------------< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Leading delimiter] = 2:5-2:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + >-< +3| | x == y = EQ + +4| | x > y = GT + +5| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:6-3:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-----------< +4| | x > y = GT + +5| + + +[#3 Removal] = 3:5-3:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >------------< +4| | x > y = GT + +5| + + +[#3 Leading delimiter] = 3:5-3:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + >-< +4| | x > y = GT + +5| + + +[#3 Insertion delimiter] = "\n" + + +[#4 Content] = +[#4 Domain] = 4:6-4:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-----------< +5| + + +[#4 Removal] = 4:5-4:17 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >------------< +5| + + +[#4 Leading delimiter] = 4:5-4:6 +0| compare :: Int -> Int -> Ordering + +1| compare x y + +2| | x < y = LT + +3| | x == y = EQ + +4| | x > y = GT + >-< +5| + + +[#4 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match5.scope new file mode 100644 index 0000000000..b4104462e9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/branch.match5.scope @@ -0,0 +1,102 @@ +fromEither :: (a -> c) -> (b -> c) -> Either a b -> c +fromEither f g x = case x of + Left l -> f l + Right r -> g r + +--- + +[#1 Content] = +[#1 Removal] = +[#1 Domain] = 1:0-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + >---------------------------- +2| Left l -> f l + ------------------ +3| Right r -> g r + ------------------< +4| + + +[#1 Insertion delimiter] = "\n" + + +[#2 Content] = +[#2 Domain] = 2:4-2:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >--------------< +3| Right r -> g r + +4| + + +[#2 Removal] = 2:0-2:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >------------------< +3| Right r -> g r + +4| + + +[#2 Leading delimiter] = 2:0-2:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + >----< +3| Right r -> g r + +4| + + +[#2 Insertion delimiter] = "\n" + + +[#3 Content] = +[#3 Domain] = 3:4-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >--------------< +4| + + +[#3 Removal] = 3:0-3:18 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >------------------< +4| + + +[#3 Leading delimiter] = 3:0-3:4 +0| fromEither :: (a -> c) -> (b -> c) -> Either a b -> c + +1| fromEither f g x = case x of + +2| Left l -> f l + +3| Right r -> g r + >----< +4| + + +[#3 Insertion delimiter] = "\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration1.scope new file mode 100644 index 0000000000..6354e6a6f7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration1.scope @@ -0,0 +1,12 @@ +id :: a -> a +id x = x + +--- + +[Range] = +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration10.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration10.scope new file mode 100644 index 0000000000..97fc173005 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration10.scope @@ -0,0 +1,42 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration100.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration100.scope new file mode 100644 index 0000000000..df5ebb42cc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration100.scope @@ -0,0 +1,114 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration101.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration101.scope new file mode 100644 index 0000000000..531ac4f872 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration101.scope @@ -0,0 +1,105 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration102.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration102.scope new file mode 100644 index 0000000000..11f109b804 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration102.scope @@ -0,0 +1,52 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration103.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration103.scope new file mode 100644 index 0000000000..2b882bf9dc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration103.scope @@ -0,0 +1,37 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration104.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration104.scope new file mode 100644 index 0000000000..c00010240d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration104.scope @@ -0,0 +1,74 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 6:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration105.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration105.scope new file mode 100644 index 0000000000..c5957746bb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration105.scope @@ -0,0 +1,67 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const x y = x + +7| + + + +[#3 Range] = +[#3 Domain] = 6:0-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration106.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration106.scope new file mode 100644 index 0000000000..2db743765b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration106.scope @@ -0,0 +1,105 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration107.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration107.scope new file mode 100644 index 0000000000..94b8dd6920 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration107.scope @@ -0,0 +1,96 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + + +[#4 Range] = +[#4 Domain] = 7:4-7:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration108.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration108.scope new file mode 100644 index 0000000000..c562d1c25c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration108.scope @@ -0,0 +1,47 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| type Point = (Double, Double) + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration109.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration109.scope new file mode 100644 index 0000000000..07e266592e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration109.scope @@ -0,0 +1,67 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration11.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration11.scope new file mode 100644 index 0000000000..3aa9d8f480 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration11.scope @@ -0,0 +1,37 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration110.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration110.scope new file mode 100644 index 0000000000..6107e1abc3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration110.scope @@ -0,0 +1,114 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#4 Range] = +[#4 Domain] = 9:3-9:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration111.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration111.scope new file mode 100644 index 0000000000..d40b12416b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration111.scope @@ -0,0 +1,105 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + + +[#4 Range] = +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration112.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration112.scope new file mode 100644 index 0000000000..31dde3d894 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration112.scope @@ -0,0 +1,95 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration113.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration113.scope new file mode 100644 index 0000000000..54b147f5f8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration113.scope @@ -0,0 +1,88 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration114.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration114.scope new file mode 100644 index 0000000000..f0b9577f3d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration114.scope @@ -0,0 +1,81 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration115.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration115.scope new file mode 100644 index 0000000000..44cdcd86f8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration115.scope @@ -0,0 +1,60 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration116.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration116.scope new file mode 100644 index 0000000000..6a6b25ddb1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration116.scope @@ -0,0 +1,105 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + + +[#4 Range] = +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration117.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration117.scope new file mode 100644 index 0000000000..6d31a89bf9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration117.scope @@ -0,0 +1,96 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id x = x + +8| + + + +[#4 Range] = +[#4 Domain] = 7:3-7:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-----< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration118.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration118.scope new file mode 100644 index 0000000000..b39df2d04b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration118.scope @@ -0,0 +1,88 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration119.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration119.scope new file mode 100644 index 0000000000..ff40ec30fc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration119.scope @@ -0,0 +1,81 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not True = False + +8| not False = True + +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration12.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration12.scope new file mode 100644 index 0000000000..93ef8e5eec --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration12.scope @@ -0,0 +1,15 @@ +id x = x + +type Point = (Double, Double) + +--- + +[Range] = +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| type Point = (Double, Double) + +3| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration120.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration120.scope new file mode 100644 index 0000000000..5527d78f6a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration120.scope @@ -0,0 +1,74 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration121.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration121.scope new file mode 100644 index 0000000000..6f875d4a7c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration121.scope @@ -0,0 +1,18 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +--- + +[Range] = +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration122.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration122.scope new file mode 100644 index 0000000000..eb38ca9962 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration122.scope @@ -0,0 +1,47 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + + +[#2 Range] = +[#2 Domain] = 5:0-6:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-------------------- +6| const x y = x + -------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration123.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration123.scope new file mode 100644 index 0000000000..3e073df51b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration123.scope @@ -0,0 +1,42 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const x y = x + +6| + + + +[#2 Range] = +[#2 Domain] = 5:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration124.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration124.scope new file mode 100644 index 0000000000..a5378c8bef --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration124.scope @@ -0,0 +1,57 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#2 Range] = +[#2 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration125.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration125.scope new file mode 100644 index 0000000000..a9ea66bdbe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration125.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#2 Range] = +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration126.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration126.scope new file mode 100644 index 0000000000..a67965ae88 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration126.scope @@ -0,0 +1,24 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Range] = +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| data Maybe a = Nothing | Just a + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration127.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration127.scope new file mode 100644 index 0000000000..1013e215c2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration127.scope @@ -0,0 +1,15 @@ +type Point = (Double, Double) + +id x = x + +--- + +[Range] = +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration128.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration128.scope new file mode 100644 index 0000000000..16b7a99102 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration128.scope @@ -0,0 +1,42 @@ +type Point = (Double, Double) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + + +[#2 Range] = +[#2 Domain] = 4:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-------------------- +5| const x y = x + -------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration129.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration129.scope new file mode 100644 index 0000000000..211f6e25d5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration129.scope @@ -0,0 +1,37 @@ +type Point = (Double, Double) + +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const x y = x + +5| + + + +[#2 Range] = +[#2 Domain] = 4:0-4:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration13.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration13.scope new file mode 100644 index 0000000000..fa536c4566 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration13.scope @@ -0,0 +1,18 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Range] = +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration130.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration130.scope new file mode 100644 index 0000000000..dc02706465 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration130.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#2 Range] = +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration131.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration131.scope new file mode 100644 index 0000000000..9d0ca5d3ee --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration131.scope @@ -0,0 +1,47 @@ +type Point = (Double, Double) + +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration132.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration132.scope new file mode 100644 index 0000000000..9bfef5e416 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration132.scope @@ -0,0 +1,21 @@ +type Point = (Double, Double) + +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Range] = +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| data Maybe a = Nothing | Just a + +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration133.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration133.scope new file mode 100644 index 0000000000..2f556a5cc4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration133.scope @@ -0,0 +1,24 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Range] = +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration134.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration134.scope new file mode 100644 index 0000000000..643ec39d89 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration134.scope @@ -0,0 +1,57 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + + +[#2 Range] = +[#2 Domain] = 8:3-8:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration135.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration135.scope new file mode 100644 index 0000000000..cd562d46a3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration135.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id x = x + +8| + + + +[#2 Range] = +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-----< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration136.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration136.scope new file mode 100644 index 0000000000..75f2c6a8a3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration136.scope @@ -0,0 +1,88 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 8:4-8:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 9:4-9:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration137.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration137.scope new file mode 100644 index 0000000000..dd517f21a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration137.scope @@ -0,0 +1,81 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration138.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration138.scope new file mode 100644 index 0000000000..932fd53b61 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration138.scope @@ -0,0 +1,30 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Range] = +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| data Maybe a = Nothing | Just a + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration139.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration139.scope new file mode 100644 index 0000000000..a3af764e71 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration139.scope @@ -0,0 +1,21 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Range] = +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration14.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration14.scope new file mode 100644 index 0000000000..a6509a81d1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration14.scope @@ -0,0 +1,47 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration140.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration140.scope new file mode 100644 index 0000000000..ee02dc5fcd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration140.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id :: a -> a + +7| id x = x + +8| + + + +[#2 Range] = +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-----< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration141.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration141.scope new file mode 100644 index 0000000000..0db8bd9bb1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration141.scope @@ -0,0 +1,47 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id x = x + +7| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-----< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration142.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration142.scope new file mode 100644 index 0000000000..8c38a44b70 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration142.scope @@ -0,0 +1,81 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration143.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration143.scope new file mode 100644 index 0000000000..a6b91184c9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration143.scope @@ -0,0 +1,74 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration144.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration144.scope new file mode 100644 index 0000000000..6ebe32107a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration144.scope @@ -0,0 +1,27 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Range] = +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| data Maybe a = Nothing | Just a + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration15.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration15.scope new file mode 100644 index 0000000000..ff4f089461 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration15.scope @@ -0,0 +1,42 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration16.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration16.scope new file mode 100644 index 0000000000..c78d399140 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration16.scope @@ -0,0 +1,74 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration17.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration17.scope new file mode 100644 index 0000000000..2a0d0c39a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration17.scope @@ -0,0 +1,67 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration18.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration18.scope new file mode 100644 index 0000000000..224e9e1a4e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration18.scope @@ -0,0 +1,24 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Range] = +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| type Point = (Double, Double) + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration19.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration19.scope new file mode 100644 index 0000000000..e4d6bc56d8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration19.scope @@ -0,0 +1,15 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Range] = +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration2.scope new file mode 100644 index 0000000000..0180b9553c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration2.scope @@ -0,0 +1,37 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration20.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration20.scope new file mode 100644 index 0000000000..249c769209 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration20.scope @@ -0,0 +1,42 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration21.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration21.scope new file mode 100644 index 0000000000..2b882bf9dc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration21.scope @@ -0,0 +1,37 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + + +[#2 Range] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration22.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration22.scope new file mode 100644 index 0000000000..07e266592e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration22.scope @@ -0,0 +1,67 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration23.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration23.scope new file mode 100644 index 0000000000..44cdcd86f8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration23.scope @@ -0,0 +1,60 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + + +[#3 Range] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration24.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration24.scope new file mode 100644 index 0000000000..95ec201d6d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration24.scope @@ -0,0 +1,21 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Range] = +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| type Point = (Double, Double) + +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration25.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration25.scope new file mode 100644 index 0000000000..0180b9553c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration25.scope @@ -0,0 +1,37 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration26.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration26.scope new file mode 100644 index 0000000000..b9eab933f0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration26.scope @@ -0,0 +1,52 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration27.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration27.scope new file mode 100644 index 0000000000..7b123d6535 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration27.scope @@ -0,0 +1,47 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst (x, y) = x + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration28.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration28.scope new file mode 100644 index 0000000000..be97c88cbd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration28.scope @@ -0,0 +1,88 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + + +[#3 Range] = +[#3 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration29.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration29.scope new file mode 100644 index 0000000000..c880d36529 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration29.scope @@ -0,0 +1,81 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration3.scope new file mode 100644 index 0000000000..4b2b75db85 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration3.scope @@ -0,0 +1,32 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration30.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration30.scope new file mode 100644 index 0000000000..ab3bdbcef3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration30.scope @@ -0,0 +1,47 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + + +[#2 Range] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| type Point = (Double, Double) + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration31.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration31.scope new file mode 100644 index 0000000000..4b2b75db85 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration31.scope @@ -0,0 +1,32 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration32.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration32.scope new file mode 100644 index 0000000000..bf8a9e3f95 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration32.scope @@ -0,0 +1,47 @@ +id :: a -> a +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration33.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration33.scope new file mode 100644 index 0000000000..60e7f5b60f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration33.scope @@ -0,0 +1,42 @@ +id :: a -> a +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst (x, y) = x + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration34.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration34.scope new file mode 100644 index 0000000000..edf42f3536 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration34.scope @@ -0,0 +1,81 @@ +id :: a -> a +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration35.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration35.scope new file mode 100644 index 0000000000..33778343cf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration35.scope @@ -0,0 +1,74 @@ +id :: a -> a +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration36.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration36.scope new file mode 100644 index 0000000000..52c3c7c83f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration36.scope @@ -0,0 +1,42 @@ +id :: a -> a +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + + +[#2 Range] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| type Point = (Double, Double) + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration37.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration37.scope new file mode 100644 index 0000000000..f2d322b93e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration37.scope @@ -0,0 +1,47 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration38.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration38.scope new file mode 100644 index 0000000000..2209aec07a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration38.scope @@ -0,0 +1,88 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + + +[#3 Range] = +[#3 Domain] = 8:0-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration39.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration39.scope new file mode 100644 index 0000000000..ada3587f97 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration39.scope @@ -0,0 +1,81 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 8:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration4.scope new file mode 100644 index 0000000000..f2d322b93e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration4.scope @@ -0,0 +1,47 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration40.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration40.scope new file mode 100644 index 0000000000..e890f33ad3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration40.scope @@ -0,0 +1,123 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + + +[#3 Range] = +[#3 Domain] = 9:4-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + + +[#4 Range] = +[#4 Domain] = 10:4-10:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration41.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration41.scope new file mode 100644 index 0000000000..8b6c2fd487 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration41.scope @@ -0,0 +1,114 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration42.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration42.scope new file mode 100644 index 0000000000..cf6b1375bb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration42.scope @@ -0,0 +1,57 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration43.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration43.scope new file mode 100644 index 0000000000..30b10e5115 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration43.scope @@ -0,0 +1,42 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration44.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration44.scope new file mode 100644 index 0000000000..06a56b8c98 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration44.scope @@ -0,0 +1,81 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 7:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration45.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration45.scope new file mode 100644 index 0000000000..1b6d5ceece --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration45.scope @@ -0,0 +1,74 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 7:0-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration46.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration46.scope new file mode 100644 index 0000000000..10683bbb12 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration46.scope @@ -0,0 +1,114 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration47.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration47.scope new file mode 100644 index 0000000000..dcb150ef6c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration47.scope @@ -0,0 +1,105 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration48.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration48.scope new file mode 100644 index 0000000000..3f521ff01f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration48.scope @@ -0,0 +1,52 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration49.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration49.scope new file mode 100644 index 0000000000..d87576bf60 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration49.scope @@ -0,0 +1,32 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration5.scope new file mode 100644 index 0000000000..30b10e5115 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration5.scope @@ -0,0 +1,42 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration50.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration50.scope new file mode 100644 index 0000000000..986e299b79 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration50.scope @@ -0,0 +1,47 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration51.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration51.scope new file mode 100644 index 0000000000..e42d558c75 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration51.scope @@ -0,0 +1,42 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst (x, y) = x + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration52.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration52.scope new file mode 100644 index 0000000000..1d5c639de7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration52.scope @@ -0,0 +1,81 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration53.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration53.scope new file mode 100644 index 0000000000..5a426aa097 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration53.scope @@ -0,0 +1,74 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration54.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration54.scope new file mode 100644 index 0000000000..2254445866 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration54.scope @@ -0,0 +1,42 @@ +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| type Point = (Double, Double) + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration55.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration55.scope new file mode 100644 index 0000000000..c24e2a851d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration55.scope @@ -0,0 +1,27 @@ +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration56.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration56.scope new file mode 100644 index 0000000000..6dac50dbab --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration56.scope @@ -0,0 +1,42 @@ +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration57.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration57.scope new file mode 100644 index 0000000000..e42fb0c786 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration57.scope @@ -0,0 +1,37 @@ +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst (x, y) = x + +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration58.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration58.scope new file mode 100644 index 0000000000..7f670ff616 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration58.scope @@ -0,0 +1,74 @@ +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration59.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration59.scope new file mode 100644 index 0000000000..00d8dae556 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration59.scope @@ -0,0 +1,67 @@ +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration6.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration6.scope new file mode 100644 index 0000000000..05dc9e45c2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration6.scope @@ -0,0 +1,18 @@ +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[Range] = +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| type Point = (Double, Double) + +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration60.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration60.scope new file mode 100644 index 0000000000..2c3b325769 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration60.scope @@ -0,0 +1,37 @@ +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| type Point = (Double, Double) + +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration61.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration61.scope new file mode 100644 index 0000000000..97fc173005 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration61.scope @@ -0,0 +1,42 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration62.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration62.scope new file mode 100644 index 0000000000..f60d8b1cce --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration62.scope @@ -0,0 +1,81 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 7:0-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration63.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration63.scope new file mode 100644 index 0000000000..423d40b16a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration63.scope @@ -0,0 +1,74 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 7:0-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration64.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration64.scope new file mode 100644 index 0000000000..6d9dda418b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration64.scope @@ -0,0 +1,114 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration65.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration65.scope new file mode 100644 index 0000000000..e954094051 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration65.scope @@ -0,0 +1,105 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration66.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration66.scope new file mode 100644 index 0000000000..8b7b63ba32 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration66.scope @@ -0,0 +1,52 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration67.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration67.scope new file mode 100644 index 0000000000..3aa9d8f480 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration67.scope @@ -0,0 +1,37 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration68.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration68.scope new file mode 100644 index 0000000000..4016a7240a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration68.scope @@ -0,0 +1,74 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 6:0-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration69.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration69.scope new file mode 100644 index 0000000000..e0feb9d90a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration69.scope @@ -0,0 +1,67 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const x y = x + +7| + + + +[#3 Range] = +[#3 Domain] = 6:0-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration7.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration7.scope new file mode 100644 index 0000000000..56afb38d56 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration7.scope @@ -0,0 +1,9 @@ +id x = x + +--- + +[Range] = +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration70.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration70.scope new file mode 100644 index 0000000000..1cf6b19713 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration70.scope @@ -0,0 +1,105 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration71.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration71.scope new file mode 100644 index 0000000000..bfa470ba87 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration71.scope @@ -0,0 +1,96 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + + +[#4 Range] = +[#4 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration72.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration72.scope new file mode 100644 index 0000000000..37837d0b70 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration72.scope @@ -0,0 +1,47 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + + +[#2 Range] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| type Point = (Double, Double) + +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration73.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration73.scope new file mode 100644 index 0000000000..a6509a81d1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration73.scope @@ -0,0 +1,47 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration74.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration74.scope new file mode 100644 index 0000000000..da62598d2a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration74.scope @@ -0,0 +1,88 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + + +[#3 Range] = +[#3 Domain] = 8:0-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration75.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration75.scope new file mode 100644 index 0000000000..2a100e9714 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration75.scope @@ -0,0 +1,81 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 8:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration76.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration76.scope new file mode 100644 index 0000000000..8c28f822f5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration76.scope @@ -0,0 +1,123 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + + +[#3 Range] = +[#3 Domain] = 9:4-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + + +[#4 Range] = +[#4 Domain] = 10:4-10:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration77.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration77.scope new file mode 100644 index 0000000000..33e877fddb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration77.scope @@ -0,0 +1,114 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration78.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration78.scope new file mode 100644 index 0000000000..02805d7228 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration78.scope @@ -0,0 +1,57 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + + +[#2 Range] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| type Point = (Double, Double) + +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration79.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration79.scope new file mode 100644 index 0000000000..ff4f089461 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration79.scope @@ -0,0 +1,42 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration8.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration8.scope new file mode 100644 index 0000000000..d87576bf60 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration8.scope @@ -0,0 +1,32 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + + +[#2 Range] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration80.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration80.scope new file mode 100644 index 0000000000..0edd377f40 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration80.scope @@ -0,0 +1,81 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 7:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration81.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration81.scope new file mode 100644 index 0000000000..e889702595 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration81.scope @@ -0,0 +1,74 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 7:0-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration82.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration82.scope new file mode 100644 index 0000000000..c99823dbc9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration82.scope @@ -0,0 +1,114 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + + +[#3 Range] = +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + + +[#4 Range] = +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration83.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration83.scope new file mode 100644 index 0000000000..59a2834311 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration83.scope @@ -0,0 +1,105 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + + +[#4 Range] = +[#4 Domain] = 8:4-8:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration84.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration84.scope new file mode 100644 index 0000000000..bc3dba5ec3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration84.scope @@ -0,0 +1,52 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration85.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration85.scope new file mode 100644 index 0000000000..c78d399140 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration85.scope @@ -0,0 +1,74 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration86.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration86.scope new file mode 100644 index 0000000000..8746d476fd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration86.scope @@ -0,0 +1,123 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id :: a -> a + +10| id x = x + +11| + + + +[#4 Range] = +[#4 Domain] = 10:3-10:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-----< +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration87.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration87.scope new file mode 100644 index 0000000000..1b728f066e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration87.scope @@ -0,0 +1,114 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id x = x + +10| + + + +[#4 Range] = +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-----< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration88.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration88.scope new file mode 100644 index 0000000000..a6767654de --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration88.scope @@ -0,0 +1,102 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration89.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration89.scope new file mode 100644 index 0000000000..9c9e9b313a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration89.scope @@ -0,0 +1,95 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not True = False + +10| not False = True + +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration9.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration9.scope new file mode 100644 index 0000000000..c24e2a851d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration9.scope @@ -0,0 +1,27 @@ +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + + +[#2 Range] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration90.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration90.scope new file mode 100644 index 0000000000..80a2426ea3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration90.scope @@ -0,0 +1,88 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + + +[#2 Range] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + + +[#3 Range] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| type Point = (Double, Double) + +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration91.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration91.scope new file mode 100644 index 0000000000..2a0d0c39a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration91.scope @@ -0,0 +1,67 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration92.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration92.scope new file mode 100644 index 0000000000..b87687e0c6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration92.scope @@ -0,0 +1,114 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + + +[#4 Range] = +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration93.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration93.scope new file mode 100644 index 0000000000..7e0610602b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration93.scope @@ -0,0 +1,105 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + + +[#4 Range] = +[#4 Domain] = 8:3-8:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration94.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration94.scope new file mode 100644 index 0000000000..6f42d00552 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration94.scope @@ -0,0 +1,95 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration95.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration95.scope new file mode 100644 index 0000000000..d4b3154829 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration95.scope @@ -0,0 +1,88 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration96.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration96.scope new file mode 100644 index 0000000000..e00b62900d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration96.scope @@ -0,0 +1,81 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Range] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + + +[#2 Range] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + + +[#3 Range] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration97.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration97.scope new file mode 100644 index 0000000000..249c769209 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration97.scope @@ -0,0 +1,42 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration98.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration98.scope new file mode 100644 index 0000000000..322b6cd208 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration98.scope @@ -0,0 +1,81 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + + +[#3 Range] = +[#3 Domain] = 7:0-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration99.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration99.scope new file mode 100644 index 0000000000..b5ec59d152 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/branch.match.iteration/branch.match.iteration99.scope @@ -0,0 +1,74 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Range] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + + +[#2 Range] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + + +[#3 Range] = +[#3 Domain] = 7:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName1.scope new file mode 100644 index 0000000000..276f6a6804 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName1.scope @@ -0,0 +1,46 @@ +id :: a -> a +id x = x + +--- + +[Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName10.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName10.scope new file mode 100644 index 0000000000..a6f4b9697a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName10.scope @@ -0,0 +1,173 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName100.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName100.scope new file mode 100644 index 0000000000..4150e3e5ef --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName100.scope @@ -0,0 +1,503 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName101.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName101.scope new file mode 100644 index 0000000000..87dfa56867 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName101.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName102.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName102.scope new file mode 100644 index 0000000000..f52aa5eb2f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName102.scope @@ -0,0 +1,215 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName103.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName103.scope new file mode 100644 index 0000000000..be084fb8bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName103.scope @@ -0,0 +1,152 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName104.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName104.scope new file mode 100644 index 0000000000..b69eb873fd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName104.scope @@ -0,0 +1,298 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-----< +7| const x y = x + +8| + + +[#3 Removal] = 6:0-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >------< +7| const x y = x + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-< +7| const x y = x + +8| + + +[#3 Domain] = 6:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName105.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName105.scope new file mode 100644 index 0000000000..ba1c6855c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName105.scope @@ -0,0 +1,269 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-----< +7| + + +[#3 Removal] = 6:0-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >------< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-< +7| + + +[#3 Domain] = 6:0-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName106.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName106.scope new file mode 100644 index 0000000000..b1c1b80111 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName106.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName107.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName107.scope new file mode 100644 index 0000000000..691f43428d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName107.scope @@ -0,0 +1,421 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Domain] = 6:4-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Domain] = 7:4-7:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName108.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName108.scope new file mode 100644 index 0000000000..63420b54f1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName108.scope @@ -0,0 +1,194 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName109.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName109.scope new file mode 100644 index 0000000000..9c569ae1bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName109.scope @@ -0,0 +1,287 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName11.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName11.scope new file mode 100644 index 0000000000..05ec44b529 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName11.scope @@ -0,0 +1,152 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName110.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName110.scope new file mode 100644 index 0000000000..3b54544dbc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName110.scope @@ -0,0 +1,503 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName111.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName111.scope new file mode 100644 index 0000000000..4825a6fa41 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName111.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName112.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName112.scope new file mode 100644 index 0000000000..8a0a3b62a5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName112.scope @@ -0,0 +1,411 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName113.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName113.scope new file mode 100644 index 0000000000..51897b2372 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName113.scope @@ -0,0 +1,380 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName114.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName114.scope new file mode 100644 index 0000000000..7f6ba6edfe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName114.scope @@ -0,0 +1,349 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName115.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName115.scope new file mode 100644 index 0000000000..fceb35fd21 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName115.scope @@ -0,0 +1,256 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName116.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName116.scope new file mode 100644 index 0000000000..882fcd3697 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName116.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName117.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName117.scope new file mode 100644 index 0000000000..0df679be83 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName117.scope @@ -0,0 +1,421 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| id x = x + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id x = x + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Removal] = 7:3-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >--< +8| + + +[#4 Leading delimiter] = 7:2-7:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Trailing delimiter] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Domain] = 7:3-7:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-----< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName118.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName118.scope new file mode 100644 index 0000000000..f97767df8c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName118.scope @@ -0,0 +1,380 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName119.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName119.scope new file mode 100644 index 0000000000..2f1a1f82be --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName119.scope @@ -0,0 +1,349 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName12.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName12.scope new file mode 100644 index 0000000000..aeff712c12 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName12.scope @@ -0,0 +1,57 @@ +id x = x + +type Point = (Double, Double) + +--- + +[Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| type Point = (Double, Double) + +3| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| type Point = (Double, Double) + +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName120.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName120.scope new file mode 100644 index 0000000000..befc16d9ab --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName120.scope @@ -0,0 +1,318 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName121.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName121.scope new file mode 100644 index 0000000000..603b6994eb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName121.scope @@ -0,0 +1,68 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +--- + +[Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName122.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName122.scope new file mode 100644 index 0000000000..310bac7ee7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName122.scope @@ -0,0 +1,176 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:0-5:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-----< +6| const x y = x + +7| + + +[#2 Removal] = 5:0-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >------< +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-< +6| const x y = x + +7| + + +[#2 Domain] = 5:0-6:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-------------------- +6| const x y = x + -------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName123.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName123.scope new file mode 100644 index 0000000000..86e391b9c3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName123.scope @@ -0,0 +1,157 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:0-5:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-----< +6| + + +[#2 Removal] = 5:0-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >------< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-< +6| + + +[#2 Domain] = 5:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName124.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName124.scope new file mode 100644 index 0000000000..204400b90b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName124.scope @@ -0,0 +1,236 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName125.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName125.scope new file mode 100644 index 0000000000..a1114eded6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName125.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName126.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName126.scope new file mode 100644 index 0000000000..a13adb768b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName126.scope @@ -0,0 +1,90 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName127.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName127.scope new file mode 100644 index 0000000000..c948fdf576 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName127.scope @@ -0,0 +1,57 @@ +type Point = (Double, Double) + +id x = x + +--- + +[Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName128.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName128.scope new file mode 100644 index 0000000000..79fe13b265 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName128.scope @@ -0,0 +1,157 @@ +type Point = (Double, Double) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:0-4:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-----< +5| const x y = x + +6| + + +[#2 Removal] = 4:0-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >------< +5| const x y = x + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-< +5| const x y = x + +6| + + +[#2 Domain] = 4:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-------------------- +5| const x y = x + -------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName129.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName129.scope new file mode 100644 index 0000000000..8d7c6062ae --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName129.scope @@ -0,0 +1,138 @@ +type Point = (Double, Double) + +id x = x + +const x y = x + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:0-4:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-----< +5| + + +[#2 Removal] = 4:0-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >------< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-< +5| + + +[#2 Domain] = 4:0-4:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName13.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName13.scope new file mode 100644 index 0000000000..79058b033d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName13.scope @@ -0,0 +1,68 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName130.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName130.scope new file mode 100644 index 0000000000..25ba2f14ae --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName130.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName131.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName131.scope new file mode 100644 index 0000000000..1b4c5b2e5b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName131.scope @@ -0,0 +1,194 @@ +type Point = (Double, Double) + +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName132.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName132.scope new file mode 100644 index 0000000000..e040829249 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName132.scope @@ -0,0 +1,79 @@ +type Point = (Double, Double) + +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName133.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName133.scope new file mode 100644 index 0000000000..f11d5f3734 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName133.scope @@ -0,0 +1,90 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName134.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName134.scope new file mode 100644 index 0000000000..998632d89a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName134.scope @@ -0,0 +1,236 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Removal] = 8:3-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >--< +9| + + +[#2 Leading delimiter] = 8:2-8:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Trailing delimiter] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Domain] = 8:3-8:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName135.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName135.scope new file mode 100644 index 0000000000..a887732692 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName135.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Removal] = 7:3-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >--< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Trailing delimiter] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-----< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName136.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName136.scope new file mode 100644 index 0000000000..74f97b3969 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName136.scope @@ -0,0 +1,380 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 8:4-8:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Removal] = 9:4-9:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Domain] = 9:4-9:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName137.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName137.scope new file mode 100644 index 0000000000..9471f0ad30 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName137.scope @@ -0,0 +1,349 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName138.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName138.scope new file mode 100644 index 0000000000..70d0fe39c6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName138.scope @@ -0,0 +1,112 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName139.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName139.scope new file mode 100644 index 0000000000..17da88e9e2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName139.scope @@ -0,0 +1,79 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName14.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName14.scope new file mode 100644 index 0000000000..7086ac7874 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName14.scope @@ -0,0 +1,194 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName140.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName140.scope new file mode 100644 index 0000000000..e35328b223 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName140.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Removal] = 7:3-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >--< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Trailing delimiter] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-----< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName141.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName141.scope new file mode 100644 index 0000000000..8522fe4a38 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName141.scope @@ -0,0 +1,194 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| id x = x + +7| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName142.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName142.scope new file mode 100644 index 0000000000..e520319040 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName142.scope @@ -0,0 +1,349 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName143.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName143.scope new file mode 100644 index 0000000000..182b3988da --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName143.scope @@ -0,0 +1,318 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName144.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName144.scope new file mode 100644 index 0000000000..a1c71eaa3b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName144.scope @@ -0,0 +1,101 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName15.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName15.scope new file mode 100644 index 0000000000..d796b26189 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName15.scope @@ -0,0 +1,173 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName16.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName16.scope new file mode 100644 index 0000000000..3877512cb4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName16.scope @@ -0,0 +1,318 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName17.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName17.scope new file mode 100644 index 0000000000..9cc6872749 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName17.scope @@ -0,0 +1,287 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName18.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName18.scope new file mode 100644 index 0000000000..637be2fbd9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName18.scope @@ -0,0 +1,90 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| type Point = (Double, Double) + +6| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| type Point = (Double, Double) + +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName19.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName19.scope new file mode 100644 index 0000000000..7c3197d27f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName19.scope @@ -0,0 +1,57 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName2.scope new file mode 100644 index 0000000000..9ae03d8304 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName2.scope @@ -0,0 +1,138 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName20.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName20.scope new file mode 100644 index 0000000000..5b93133d8f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName20.scope @@ -0,0 +1,173 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName21.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName21.scope new file mode 100644 index 0000000000..be084fb8bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName21.scope @@ -0,0 +1,152 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName22.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName22.scope new file mode 100644 index 0000000000..9c569ae1bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName22.scope @@ -0,0 +1,287 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName23.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName23.scope new file mode 100644 index 0000000000..fceb35fd21 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName23.scope @@ -0,0 +1,256 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName24.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName24.scope new file mode 100644 index 0000000000..e8192a5367 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName24.scope @@ -0,0 +1,79 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| type Point = (Double, Double) + +5| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| type Point = (Double, Double) + +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName25.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName25.scope new file mode 100644 index 0000000000..9ae03d8304 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName25.scope @@ -0,0 +1,138 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName26.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName26.scope new file mode 100644 index 0000000000..78307a4387 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName26.scope @@ -0,0 +1,195 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName27.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName27.scope new file mode 100644 index 0000000000..f9d14172b9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName27.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName28.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName28.scope new file mode 100644 index 0000000000..cc040a03f2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName28.scope @@ -0,0 +1,356 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >--< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-------------------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName29.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName29.scope new file mode 100644 index 0000000000..de9d4c9d1f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName29.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName3.scope new file mode 100644 index 0000000000..26650548a0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName3.scope @@ -0,0 +1,119 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName30.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName30.scope new file mode 100644 index 0000000000..a1445cc798 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName30.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName31.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName31.scope new file mode 100644 index 0000000000..26650548a0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName31.scope @@ -0,0 +1,119 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName32.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName32.scope new file mode 100644 index 0000000000..dfa6668128 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName32.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName33.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName33.scope new file mode 100644 index 0000000000..dfc9418c7b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName33.scope @@ -0,0 +1,157 @@ +id :: a -> a +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName34.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName34.scope new file mode 100644 index 0000000000..2bbaa9112b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName34.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName35.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName35.scope new file mode 100644 index 0000000000..5ae9cb121b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName35.scope @@ -0,0 +1,298 @@ +id :: a -> a +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName36.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName36.scope new file mode 100644 index 0000000000..f7cce2d84f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName36.scope @@ -0,0 +1,157 @@ +id :: a -> a +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName37.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName37.scope new file mode 100644 index 0000000000..bcaf32be5a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName37.scope @@ -0,0 +1,194 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName38.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName38.scope new file mode 100644 index 0000000000..5357d95429 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName38.scope @@ -0,0 +1,356 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-----< +9| const x y = x + +10| + + +[#3 Removal] = 8:0-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >------< +9| const x y = x + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-< +9| const x y = x + +10| + + +[#3 Domain] = 8:0-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName39.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName39.scope new file mode 100644 index 0000000000..787b817eaa --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName39.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-----< +9| + + +[#3 Removal] = 8:0-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >------< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-< +9| + + +[#3 Domain] = 8:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName4.scope new file mode 100644 index 0000000000..bcaf32be5a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName4.scope @@ -0,0 +1,194 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName40.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName40.scope new file mode 100644 index 0000000000..ab1b7532a2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName40.scope @@ -0,0 +1,544 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >--< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Domain] = 9:4-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:4-10:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Removal] = 10:4-10:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Trailing delimiter] = 10:5-10:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Domain] = 10:4-10:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName41.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName41.scope new file mode 100644 index 0000000000..9f7971be46 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName41.scope @@ -0,0 +1,503 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName42.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName42.scope new file mode 100644 index 0000000000..7ac2b10283 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName42.scope @@ -0,0 +1,236 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName43.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName43.scope new file mode 100644 index 0000000000..a52c9e413e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName43.scope @@ -0,0 +1,173 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName44.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName44.scope new file mode 100644 index 0000000000..bf7fc39b11 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName44.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName45.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName45.scope new file mode 100644 index 0000000000..122312d47f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName45.scope @@ -0,0 +1,298 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName46.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName46.scope new file mode 100644 index 0000000000..a33a807ff3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName46.scope @@ -0,0 +1,503 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName47.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName47.scope new file mode 100644 index 0000000000..3d988fa392 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName47.scope @@ -0,0 +1,462 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName48.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName48.scope new file mode 100644 index 0000000000..0c6fe5d57d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName48.scope @@ -0,0 +1,215 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName49.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName49.scope new file mode 100644 index 0000000000..4e02cce9a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName49.scope @@ -0,0 +1,119 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName5.scope new file mode 100644 index 0000000000..a52c9e413e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName5.scope @@ -0,0 +1,173 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName50.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName50.scope new file mode 100644 index 0000000000..1cc9162ea2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName50.scope @@ -0,0 +1,176 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName51.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName51.scope new file mode 100644 index 0000000000..909664f437 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName51.scope @@ -0,0 +1,157 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName52.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName52.scope new file mode 100644 index 0000000000..509043cd13 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName52.scope @@ -0,0 +1,327 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName53.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName53.scope new file mode 100644 index 0000000000..c6e075f207 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName53.scope @@ -0,0 +1,298 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName54.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName54.scope new file mode 100644 index 0000000000..83aef6067c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName54.scope @@ -0,0 +1,157 @@ +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName55.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName55.scope new file mode 100644 index 0000000000..91a16c6c9c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName55.scope @@ -0,0 +1,100 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName56.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName56.scope new file mode 100644 index 0000000000..d700e9cf7d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName56.scope @@ -0,0 +1,157 @@ +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName57.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName57.scope new file mode 100644 index 0000000000..217b2b63e7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName57.scope @@ -0,0 +1,138 @@ +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fst (x, y) = x + +5| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fst (x, y) = x + +5| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fst (x, y) = x + +5| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst (x, y) = x + +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName58.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName58.scope new file mode 100644 index 0000000000..e542cb7398 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName58.scope @@ -0,0 +1,298 @@ +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName59.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName59.scope new file mode 100644 index 0000000000..5ac03c6848 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName59.scope @@ -0,0 +1,269 @@ +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName6.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName6.scope new file mode 100644 index 0000000000..b2a3ba1c51 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName6.scope @@ -0,0 +1,68 @@ +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| type Point = (Double, Double) + +4| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| type Point = (Double, Double) + +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName60.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName60.scope new file mode 100644 index 0000000000..51d66619d4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName60.scope @@ -0,0 +1,138 @@ +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName61.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName61.scope new file mode 100644 index 0000000000..a6f4b9697a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName61.scope @@ -0,0 +1,173 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName62.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName62.scope new file mode 100644 index 0000000000..7f21c72d1f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName62.scope @@ -0,0 +1,327 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName63.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName63.scope new file mode 100644 index 0000000000..acf2058652 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName63.scope @@ -0,0 +1,298 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName64.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName64.scope new file mode 100644 index 0000000000..2bbaafd1c7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName64.scope @@ -0,0 +1,503 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName65.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName65.scope new file mode 100644 index 0000000000..ca9d8d55d9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName65.scope @@ -0,0 +1,462 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName66.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName66.scope new file mode 100644 index 0000000000..2b35be0f87 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName66.scope @@ -0,0 +1,215 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName67.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName67.scope new file mode 100644 index 0000000000..05ec44b529 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName67.scope @@ -0,0 +1,152 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName68.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName68.scope new file mode 100644 index 0000000000..d0a777afcc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName68.scope @@ -0,0 +1,298 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-----< +7| const x y = x + +8| + + +[#3 Removal] = 6:0-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >------< +7| const x y = x + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-< +7| const x y = x + +8| + + +[#3 Domain] = 6:0-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName69.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName69.scope new file mode 100644 index 0000000000..b5657ca578 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName69.scope @@ -0,0 +1,269 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-----< +7| + + +[#3 Removal] = 6:0-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >------< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-< +7| + + +[#3 Domain] = 6:0-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName7.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName7.scope new file mode 100644 index 0000000000..d05823bdaf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName7.scope @@ -0,0 +1,35 @@ +id x = x + +--- + +[Content] = 0:3-0:4 +0| id x = x + >-< +1| + + +[Removal] = 0:3-0:5 +0| id x = x + >--< +1| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + + +[Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + + +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName70.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName70.scope new file mode 100644 index 0000000000..2d41aa9781 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName70.scope @@ -0,0 +1,462 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName71.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName71.scope new file mode 100644 index 0000000000..28e5576659 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName71.scope @@ -0,0 +1,421 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:4-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Domain] = 6:4-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName72.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName72.scope new file mode 100644 index 0000000000..b6ac577360 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName72.scope @@ -0,0 +1,194 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName73.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName73.scope new file mode 100644 index 0000000000..7086ac7874 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName73.scope @@ -0,0 +1,194 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName74.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName74.scope new file mode 100644 index 0000000000..12e659d13c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName74.scope @@ -0,0 +1,356 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-----< +9| const x y = x + +10| + + +[#3 Removal] = 8:0-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >------< +9| const x y = x + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-< +9| const x y = x + +10| + + +[#3 Domain] = 8:0-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName75.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName75.scope new file mode 100644 index 0000000000..b5fc6188a1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName75.scope @@ -0,0 +1,327 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-----< +9| + + +[#3 Removal] = 8:0-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >------< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-< +9| + + +[#3 Domain] = 8:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName76.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName76.scope new file mode 100644 index 0000000000..88a7b328c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName76.scope @@ -0,0 +1,544 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >--< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Domain] = 9:4-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:4-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Removal] = 10:4-10:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Trailing delimiter] = 10:5-10:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Domain] = 10:4-10:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName77.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName77.scope new file mode 100644 index 0000000000..eecf494c7e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName77.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName78.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName78.scope new file mode 100644 index 0000000000..8e9489f6a8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName78.scope @@ -0,0 +1,236 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName79.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName79.scope new file mode 100644 index 0000000000..d796b26189 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName79.scope @@ -0,0 +1,173 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName8.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName8.scope new file mode 100644 index 0000000000..4e02cce9a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName8.scope @@ -0,0 +1,119 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName80.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName80.scope new file mode 100644 index 0000000000..9e19ff5311 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName80.scope @@ -0,0 +1,327 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName81.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName81.scope new file mode 100644 index 0000000000..fc8ce3f9df --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName81.scope @@ -0,0 +1,298 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName82.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName82.scope new file mode 100644 index 0000000000..2d246257f3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName82.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName83.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName83.scope new file mode 100644 index 0000000000..8c37ad9540 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName83.scope @@ -0,0 +1,462 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName84.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName84.scope new file mode 100644 index 0000000000..71b395d870 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName84.scope @@ -0,0 +1,215 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName85.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName85.scope new file mode 100644 index 0000000000..3877512cb4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName85.scope @@ -0,0 +1,318 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName86.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName86.scope new file mode 100644 index 0000000000..e5f61f86b7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName86.scope @@ -0,0 +1,544 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:3-10:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Removal] = 10:3-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >--< +11| + + +[#4 Leading delimiter] = 10:2-10:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Trailing delimiter] = 10:4-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Domain] = 10:3-10:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-----< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName87.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName87.scope new file mode 100644 index 0000000000..a39e291824 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName87.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| id x = x + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName88.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName88.scope new file mode 100644 index 0000000000..9cc8784edd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName88.scope @@ -0,0 +1,442 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName89.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName89.scope new file mode 100644 index 0000000000..b334000d36 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName89.scope @@ -0,0 +1,411 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName9.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName9.scope new file mode 100644 index 0000000000..91a16c6c9c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName9.scope @@ -0,0 +1,100 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName90.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName90.scope new file mode 100644 index 0000000000..a532d3b2f6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName90.scope @@ -0,0 +1,380 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName91.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName91.scope new file mode 100644 index 0000000000..9cc6872749 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName91.scope @@ -0,0 +1,287 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName92.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName92.scope new file mode 100644 index 0000000000..205a58933b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName92.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName93.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName93.scope new file mode 100644 index 0000000000..544723eebc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName93.scope @@ -0,0 +1,462 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName94.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName94.scope new file mode 100644 index 0000000000..66e296c49a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName94.scope @@ -0,0 +1,411 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName95.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName95.scope new file mode 100644 index 0000000000..e612552eac --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName95.scope @@ -0,0 +1,380 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName96.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName96.scope new file mode 100644 index 0000000000..30cdda1980 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName96.scope @@ -0,0 +1,349 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName97.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName97.scope new file mode 100644 index 0000000000..5b93133d8f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName97.scope @@ -0,0 +1,173 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName98.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName98.scope new file mode 100644 index 0000000000..47dc663407 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName98.scope @@ -0,0 +1,327 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName99.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName99.scope new file mode 100644 index 0000000000..588b39271d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/functionName/functionName99.scope @@ -0,0 +1,298 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function1.scope new file mode 100644 index 0000000000..276f6a6804 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function1.scope @@ -0,0 +1,46 @@ +id :: a -> a +id x = x + +--- + +[Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function10.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function10.scope new file mode 100644 index 0000000000..a6f4b9697a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function10.scope @@ -0,0 +1,173 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function100.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function100.scope new file mode 100644 index 0000000000..4150e3e5ef --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function100.scope @@ -0,0 +1,503 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function101.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function101.scope new file mode 100644 index 0000000000..87dfa56867 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function101.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function102.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function102.scope new file mode 100644 index 0000000000..f52aa5eb2f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function102.scope @@ -0,0 +1,215 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function103.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function103.scope new file mode 100644 index 0000000000..be084fb8bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function103.scope @@ -0,0 +1,152 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function104.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function104.scope new file mode 100644 index 0000000000..b69eb873fd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function104.scope @@ -0,0 +1,298 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-----< +7| const x y = x + +8| + + +[#3 Removal] = 6:0-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >------< +7| const x y = x + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-< +7| const x y = x + +8| + + +[#3 Domain] = 6:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function105.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function105.scope new file mode 100644 index 0000000000..ba1c6855c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function105.scope @@ -0,0 +1,269 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-----< +7| + + +[#3 Removal] = 6:0-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >------< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-< +7| + + +[#3 Domain] = 6:0-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function106.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function106.scope new file mode 100644 index 0000000000..b1c1b80111 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function106.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function107.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function107.scope new file mode 100644 index 0000000000..691f43428d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function107.scope @@ -0,0 +1,421 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Domain] = 6:4-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Removal] = 7:4-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Domain] = 7:4-7:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function108.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function108.scope new file mode 100644 index 0000000000..63420b54f1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function108.scope @@ -0,0 +1,194 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function109.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function109.scope new file mode 100644 index 0000000000..9c569ae1bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function109.scope @@ -0,0 +1,287 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function11.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function11.scope new file mode 100644 index 0000000000..05ec44b529 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function11.scope @@ -0,0 +1,152 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function110.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function110.scope new file mode 100644 index 0000000000..3b54544dbc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function110.scope @@ -0,0 +1,503 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function111.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function111.scope new file mode 100644 index 0000000000..4825a6fa41 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function111.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function112.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function112.scope new file mode 100644 index 0000000000..8a0a3b62a5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function112.scope @@ -0,0 +1,411 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function113.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function113.scope new file mode 100644 index 0000000000..51897b2372 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function113.scope @@ -0,0 +1,380 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function114.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function114.scope new file mode 100644 index 0000000000..7f6ba6edfe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function114.scope @@ -0,0 +1,349 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function115.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function115.scope new file mode 100644 index 0000000000..fceb35fd21 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function115.scope @@ -0,0 +1,256 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function116.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function116.scope new file mode 100644 index 0000000000..882fcd3697 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function116.scope @@ -0,0 +1,462 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function117.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function117.scope new file mode 100644 index 0000000000..0df679be83 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function117.scope @@ -0,0 +1,421 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| id x = x + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id x = x + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Removal] = 7:3-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >--< +8| + + +[#4 Leading delimiter] = 7:2-7:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Trailing delimiter] = 7:4-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Domain] = 7:3-7:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-----< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function118.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function118.scope new file mode 100644 index 0000000000..f97767df8c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function118.scope @@ -0,0 +1,380 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function119.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function119.scope new file mode 100644 index 0000000000..2f1a1f82be --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function119.scope @@ -0,0 +1,349 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function12.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function12.scope new file mode 100644 index 0000000000..aeff712c12 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function12.scope @@ -0,0 +1,57 @@ +id x = x + +type Point = (Double, Double) + +--- + +[Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| type Point = (Double, Double) + +3| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| type Point = (Double, Double) + +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function120.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function120.scope new file mode 100644 index 0000000000..befc16d9ab --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function120.scope @@ -0,0 +1,318 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function121.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function121.scope new file mode 100644 index 0000000000..603b6994eb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function121.scope @@ -0,0 +1,68 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +--- + +[Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function122.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function122.scope new file mode 100644 index 0000000000..310bac7ee7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function122.scope @@ -0,0 +1,176 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:0-5:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-----< +6| const x y = x + +7| + + +[#2 Removal] = 5:0-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >------< +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-< +6| const x y = x + +7| + + +[#2 Domain] = 5:0-6:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-------------------- +6| const x y = x + -------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function123.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function123.scope new file mode 100644 index 0000000000..86e391b9c3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function123.scope @@ -0,0 +1,157 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:0-5:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-----< +6| + + +[#2 Removal] = 5:0-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >------< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-< +6| + + +[#2 Domain] = 5:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function124.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function124.scope new file mode 100644 index 0000000000..204400b90b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function124.scope @@ -0,0 +1,236 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function125.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function125.scope new file mode 100644 index 0000000000..a1114eded6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function125.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function126.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function126.scope new file mode 100644 index 0000000000..a13adb768b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function126.scope @@ -0,0 +1,90 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = 3:3-3:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Removal] = 3:3-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >--< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Trailing delimiter] = 3:4-3:5 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function127.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function127.scope new file mode 100644 index 0000000000..c948fdf576 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function127.scope @@ -0,0 +1,57 @@ +type Point = (Double, Double) + +id x = x + +--- + +[Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function128.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function128.scope new file mode 100644 index 0000000000..79fe13b265 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function128.scope @@ -0,0 +1,157 @@ +type Point = (Double, Double) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:0-4:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-----< +5| const x y = x + +6| + + +[#2 Removal] = 4:0-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >------< +5| const x y = x + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-< +5| const x y = x + +6| + + +[#2 Domain] = 4:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-------------------- +5| const x y = x + -------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function129.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function129.scope new file mode 100644 index 0000000000..8d7c6062ae --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function129.scope @@ -0,0 +1,138 @@ +type Point = (Double, Double) + +id x = x + +const x y = x + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:0-4:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-----< +5| + + +[#2 Removal] = 4:0-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >------< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-< +5| + + +[#2 Domain] = 4:0-4:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function13.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function13.scope new file mode 100644 index 0000000000..79058b033d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function13.scope @@ -0,0 +1,68 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function130.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function130.scope new file mode 100644 index 0000000000..25ba2f14ae --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function130.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function131.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function131.scope new file mode 100644 index 0000000000..1b4c5b2e5b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function131.scope @@ -0,0 +1,194 @@ +type Point = (Double, Double) + +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function132.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function132.scope new file mode 100644 index 0000000000..e040829249 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function132.scope @@ -0,0 +1,79 @@ +type Point = (Double, Double) + +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = 2:3-2:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Removal] = 2:3-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >--< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Trailing delimiter] = 2:4-2:5 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function133.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function133.scope new file mode 100644 index 0000000000..f11d5f3734 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function133.scope @@ -0,0 +1,90 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function134.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function134.scope new file mode 100644 index 0000000000..998632d89a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function134.scope @@ -0,0 +1,236 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Removal] = 8:3-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >--< +9| + + +[#2 Leading delimiter] = 8:2-8:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Trailing delimiter] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Domain] = 8:3-8:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function135.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function135.scope new file mode 100644 index 0000000000..a887732692 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function135.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Removal] = 7:3-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >--< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Trailing delimiter] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-----< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function136.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function136.scope new file mode 100644 index 0000000000..74f97b3969 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function136.scope @@ -0,0 +1,380 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 8:4-8:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Removal] = 9:4-9:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Domain] = 9:4-9:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function137.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function137.scope new file mode 100644 index 0000000000..9471f0ad30 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function137.scope @@ -0,0 +1,349 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function138.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function138.scope new file mode 100644 index 0000000000..70d0fe39c6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function138.scope @@ -0,0 +1,112 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = 5:4-5:5 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Removal] = 5:4-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Trailing delimiter] = 5:5-5:6 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function139.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function139.scope new file mode 100644 index 0000000000..17da88e9e2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function139.scope @@ -0,0 +1,79 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function14.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function14.scope new file mode 100644 index 0000000000..7086ac7874 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function14.scope @@ -0,0 +1,194 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function140.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function140.scope new file mode 100644 index 0000000000..e35328b223 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function140.scope @@ -0,0 +1,215 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Removal] = 7:3-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >--< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Trailing delimiter] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-----< +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function141.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function141.scope new file mode 100644 index 0000000000..8522fe4a38 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function141.scope @@ -0,0 +1,194 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| id x = x + +7| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function142.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function142.scope new file mode 100644 index 0000000000..e520319040 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function142.scope @@ -0,0 +1,349 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function143.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function143.scope new file mode 100644 index 0000000000..182b3988da --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function143.scope @@ -0,0 +1,318 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function144.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function144.scope new file mode 100644 index 0000000000..a1c71eaa3b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function144.scope @@ -0,0 +1,101 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = 4:4-4:5 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Removal] = 4:4-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Trailing delimiter] = 4:5-4:6 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function15.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function15.scope new file mode 100644 index 0000000000..d796b26189 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function15.scope @@ -0,0 +1,173 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function16.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function16.scope new file mode 100644 index 0000000000..3877512cb4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function16.scope @@ -0,0 +1,318 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function17.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function17.scope new file mode 100644 index 0000000000..9cc6872749 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function17.scope @@ -0,0 +1,287 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function18.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function18.scope new file mode 100644 index 0000000000..637be2fbd9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function18.scope @@ -0,0 +1,90 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| type Point = (Double, Double) + +6| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| type Point = (Double, Double) + +6| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function19.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function19.scope new file mode 100644 index 0000000000..7c3197d27f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function19.scope @@ -0,0 +1,57 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function2.scope new file mode 100644 index 0000000000..9ae03d8304 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function2.scope @@ -0,0 +1,138 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function20.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function20.scope new file mode 100644 index 0000000000..5b93133d8f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function20.scope @@ -0,0 +1,173 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function21.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function21.scope new file mode 100644 index 0000000000..be084fb8bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function21.scope @@ -0,0 +1,152 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Removal] = 4:3-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >--< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Trailing delimiter] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function22.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function22.scope new file mode 100644 index 0000000000..9c569ae1bf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function22.scope @@ -0,0 +1,287 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function23.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function23.scope new file mode 100644 index 0000000000..fceb35fd21 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function23.scope @@ -0,0 +1,256 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:4-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >--< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Removal] = 5:4-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Trailing delimiter] = 5:5-5:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function24.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function24.scope new file mode 100644 index 0000000000..e8192a5367 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function24.scope @@ -0,0 +1,79 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| type Point = (Double, Double) + +5| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| type Point = (Double, Double) + +5| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function25.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function25.scope new file mode 100644 index 0000000000..9ae03d8304 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function25.scope @@ -0,0 +1,138 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function26.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function26.scope new file mode 100644 index 0000000000..78307a4387 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function26.scope @@ -0,0 +1,195 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function27.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function27.scope new file mode 100644 index 0000000000..f9d14172b9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function27.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function28.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function28.scope new file mode 100644 index 0000000000..cc040a03f2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function28.scope @@ -0,0 +1,356 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >--< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-------------------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function29.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function29.scope new file mode 100644 index 0000000000..de9d4c9d1f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function29.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function3.scope new file mode 100644 index 0000000000..26650548a0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function3.scope @@ -0,0 +1,119 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function30.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function30.scope new file mode 100644 index 0000000000..a1445cc798 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function30.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-----< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >------< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-< +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function31.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function31.scope new file mode 100644 index 0000000000..26650548a0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function31.scope @@ -0,0 +1,119 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function32.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function32.scope new file mode 100644 index 0000000000..dfa6668128 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function32.scope @@ -0,0 +1,176 @@ +id :: a -> a +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function33.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function33.scope new file mode 100644 index 0000000000..dfc9418c7b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function33.scope @@ -0,0 +1,157 @@ +id :: a -> a +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function34.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function34.scope new file mode 100644 index 0000000000..2bbaa9112b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function34.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function35.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function35.scope new file mode 100644 index 0000000000..5ae9cb121b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function35.scope @@ -0,0 +1,298 @@ +id :: a -> a +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function36.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function36.scope new file mode 100644 index 0000000000..f7cce2d84f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function36.scope @@ -0,0 +1,157 @@ +id :: a -> a +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 3:0-3:5 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-----< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Removal] = 3:0-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Trailing delimiter] = 3:5-3:6 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function37.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function37.scope new file mode 100644 index 0000000000..bcaf32be5a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function37.scope @@ -0,0 +1,194 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function38.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function38.scope new file mode 100644 index 0000000000..5357d95429 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function38.scope @@ -0,0 +1,356 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-----< +9| const x y = x + +10| + + +[#3 Removal] = 8:0-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >------< +9| const x y = x + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-< +9| const x y = x + +10| + + +[#3 Domain] = 8:0-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function39.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function39.scope new file mode 100644 index 0000000000..787b817eaa --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function39.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-----< +9| + + +[#3 Removal] = 8:0-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >------< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-< +9| + + +[#3 Domain] = 8:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function4.scope new file mode 100644 index 0000000000..bcaf32be5a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function4.scope @@ -0,0 +1,194 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function40.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function40.scope new file mode 100644 index 0000000000..ab1b7532a2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function40.scope @@ -0,0 +1,544 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >--< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Domain] = 9:4-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:4-10:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Removal] = 10:4-10:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Trailing delimiter] = 10:5-10:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Domain] = 10:4-10:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function41.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function41.scope new file mode 100644 index 0000000000..9f7971be46 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function41.scope @@ -0,0 +1,503 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function42.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function42.scope new file mode 100644 index 0000000000..7ac2b10283 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function42.scope @@ -0,0 +1,236 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:4-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function43.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function43.scope new file mode 100644 index 0000000000..a52c9e413e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function43.scope @@ -0,0 +1,173 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function44.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function44.scope new file mode 100644 index 0000000000..bf7fc39b11 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function44.scope @@ -0,0 +1,327 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function45.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function45.scope new file mode 100644 index 0000000000..122312d47f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function45.scope @@ -0,0 +1,298 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function46.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function46.scope new file mode 100644 index 0000000000..a33a807ff3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function46.scope @@ -0,0 +1,503 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function47.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function47.scope new file mode 100644 index 0000000000..3d988fa392 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function47.scope @@ -0,0 +1,462 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function48.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function48.scope new file mode 100644 index 0000000000..0c6fe5d57d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function48.scope @@ -0,0 +1,215 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function49.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function49.scope new file mode 100644 index 0000000000..4e02cce9a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function49.scope @@ -0,0 +1,119 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function5.scope new file mode 100644 index 0000000000..a52c9e413e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function5.scope @@ -0,0 +1,173 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function50.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function50.scope new file mode 100644 index 0000000000..1cc9162ea2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function50.scope @@ -0,0 +1,176 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function51.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function51.scope new file mode 100644 index 0000000000..909664f437 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function51.scope @@ -0,0 +1,157 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function52.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function52.scope new file mode 100644 index 0000000000..509043cd13 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function52.scope @@ -0,0 +1,327 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function53.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function53.scope new file mode 100644 index 0000000000..c6e075f207 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function53.scope @@ -0,0 +1,298 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function54.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function54.scope new file mode 100644 index 0000000000..83aef6067c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function54.scope @@ -0,0 +1,157 @@ +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function55.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function55.scope new file mode 100644 index 0000000000..91a16c6c9c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function55.scope @@ -0,0 +1,100 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function56.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function56.scope new file mode 100644 index 0000000000..d700e9cf7d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function56.scope @@ -0,0 +1,157 @@ +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function57.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function57.scope new file mode 100644 index 0000000000..217b2b63e7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function57.scope @@ -0,0 +1,138 @@ +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fst (x, y) = x + +5| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fst (x, y) = x + +5| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fst (x, y) = x + +5| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst (x, y) = x + +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function58.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function58.scope new file mode 100644 index 0000000000..e542cb7398 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function58.scope @@ -0,0 +1,298 @@ +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function59.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function59.scope new file mode 100644 index 0000000000..5ac03c6848 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function59.scope @@ -0,0 +1,269 @@ +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function6.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function6.scope new file mode 100644 index 0000000000..b2a3ba1c51 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function6.scope @@ -0,0 +1,68 @@ +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[Content] = 1:3-1:4 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Removal] = 1:3-1:5 +0| id :: a -> a + +1| id x = x + >--< +2| + +3| type Point = (Double, Double) + +4| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Trailing delimiter] = 1:4-1:5 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| type Point = (Double, Double) + +4| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function60.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function60.scope new file mode 100644 index 0000000000..51d66619d4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function60.scope @@ -0,0 +1,138 @@ +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function61.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function61.scope new file mode 100644 index 0000000000..a6f4b9697a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function61.scope @@ -0,0 +1,173 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function62.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function62.scope new file mode 100644 index 0000000000..7f21c72d1f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function62.scope @@ -0,0 +1,327 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function63.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function63.scope new file mode 100644 index 0000000000..acf2058652 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function63.scope @@ -0,0 +1,298 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function64.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function64.scope new file mode 100644 index 0000000000..2bbaafd1c7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function64.scope @@ -0,0 +1,503 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function65.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function65.scope new file mode 100644 index 0000000000..ca9d8d55d9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function65.scope @@ -0,0 +1,462 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function66.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function66.scope new file mode 100644 index 0000000000..2b35be0f87 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function66.scope @@ -0,0 +1,215 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:4-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function67.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function67.scope new file mode 100644 index 0000000000..05ec44b529 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function67.scope @@ -0,0 +1,152 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function68.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function68.scope new file mode 100644 index 0000000000..d0a777afcc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function68.scope @@ -0,0 +1,298 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-----< +7| const x y = x + +8| + + +[#3 Removal] = 6:0-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >------< +7| const x y = x + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-< +7| const x y = x + +8| + + +[#3 Domain] = 6:0-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function69.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function69.scope new file mode 100644 index 0000000000..b5657ca578 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function69.scope @@ -0,0 +1,269 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:0-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-----< +7| + + +[#3 Removal] = 6:0-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >------< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-< +7| + + +[#3 Domain] = 6:0-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function7.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function7.scope new file mode 100644 index 0000000000..d05823bdaf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function7.scope @@ -0,0 +1,35 @@ +id x = x + +--- + +[Content] = 0:3-0:4 +0| id x = x + >-< +1| + + +[Removal] = 0:3-0:5 +0| id x = x + >--< +1| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + + +[Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + + +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + + +[Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function70.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function70.scope new file mode 100644 index 0000000000..2d41aa9781 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function70.scope @@ -0,0 +1,462 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function71.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function71.scope new file mode 100644 index 0000000000..28e5576659 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function71.scope @@ -0,0 +1,421 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:4-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Domain] = 6:4-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 7:4-7:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Removal] = 7:4-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Trailing delimiter] = 7:5-7:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function72.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function72.scope new file mode 100644 index 0000000000..b6ac577360 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function72.scope @@ -0,0 +1,194 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 4:4-4:5 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:4-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Trailing delimiter] = 4:5-4:6 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function73.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function73.scope new file mode 100644 index 0000000000..7086ac7874 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function73.scope @@ -0,0 +1,194 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function74.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function74.scope new file mode 100644 index 0000000000..12e659d13c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function74.scope @@ -0,0 +1,356 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-----< +9| const x y = x + +10| + + +[#3 Removal] = 8:0-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >------< +9| const x y = x + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-< +9| const x y = x + +10| + + +[#3 Domain] = 8:0-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function75.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function75.scope new file mode 100644 index 0000000000..b5fc6188a1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function75.scope @@ -0,0 +1,327 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:0-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-----< +9| + + +[#3 Removal] = 8:0-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >------< +9| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-< +9| + + +[#3 Domain] = 8:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function76.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function76.scope new file mode 100644 index 0000000000..88a7b328c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function76.scope @@ -0,0 +1,544 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >--< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Domain] = 9:4-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:4-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Removal] = 10:4-10:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Trailing delimiter] = 10:5-10:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Domain] = 10:4-10:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function77.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function77.scope new file mode 100644 index 0000000000..eecf494c7e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function77.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function78.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function78.scope new file mode 100644 index 0000000000..8e9489f6a8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function78.scope @@ -0,0 +1,236 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:3-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function79.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function79.scope new file mode 100644 index 0000000000..d796b26189 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function79.scope @@ -0,0 +1,173 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function8.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function8.scope new file mode 100644 index 0000000000..4e02cce9a4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function8.scope @@ -0,0 +1,119 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const :: a -> b -> a + >-----< +3| const x y = x + +4| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >------< +3| const x y = x + +4| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const :: a -> b -> a + >-< +3| const x y = x + +4| + + +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function80.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function80.scope new file mode 100644 index 0000000000..9e19ff5311 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function80.scope @@ -0,0 +1,327 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function81.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function81.scope new file mode 100644 index 0000000000..fc8ce3f9df --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function81.scope @@ -0,0 +1,298 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function82.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function82.scope new file mode 100644 index 0000000000..2d246257f3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function82.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >--< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Removal] = 9:4-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Trailing delimiter] = 9:5-9:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function83.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function83.scope new file mode 100644 index 0000000000..8c37ad9540 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function83.scope @@ -0,0 +1,462 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >--< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Domain] = 7:4-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Removal] = 8:4-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Trailing delimiter] = 8:5-8:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Domain] = 8:4-8:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function84.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function84.scope new file mode 100644 index 0000000000..71b395d870 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function84.scope @@ -0,0 +1,215 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >--< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function85.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function85.scope new file mode 100644 index 0000000000..3877512cb4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function85.scope @@ -0,0 +1,318 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function86.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function86.scope new file mode 100644 index 0000000000..e5f61f86b7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function86.scope @@ -0,0 +1,544 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 10:3-10:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Removal] = 10:3-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >--< +11| + + +[#4 Leading delimiter] = 10:2-10:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Trailing delimiter] = 10:4-10:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Domain] = 10:3-10:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-----< +11| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function87.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function87.scope new file mode 100644 index 0000000000..a39e291824 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function87.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| id x = x + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function88.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function88.scope new file mode 100644 index 0000000000..9cc8784edd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function88.scope @@ -0,0 +1,442 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function89.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function89.scope new file mode 100644 index 0000000000..b334000d36 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function89.scope @@ -0,0 +1,411 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function9.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function9.scope new file mode 100644 index 0000000000..91a16c6c9c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function9.scope @@ -0,0 +1,100 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = 0:3-0:4 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:3-0:5 +0| id x = x + >--< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Trailing delimiter] = 0:4-0:5 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 2:0-2:5 +0| id x = x + +1| + +2| const x y = x + >-----< +3| + + +[#2 Removal] = 2:0-2:6 +0| id x = x + +1| + +2| const x y = x + >------< +3| + + +[#2 Trailing delimiter] = 2:5-2:6 +0| id x = x + +1| + +2| const x y = x + >-< +3| + + +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function90.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function90.scope new file mode 100644 index 0000000000..a532d3b2f6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function90.scope @@ -0,0 +1,380 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >--< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:4-7:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Removal] = 7:4-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function91.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function91.scope new file mode 100644 index 0000000000..9cc6872749 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function91.scope @@ -0,0 +1,287 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function92.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function92.scope new file mode 100644 index 0000000000..205a58933b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function92.scope @@ -0,0 +1,503 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Removal] = 9:3-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >--< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Trailing delimiter] = 9:4-9:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function93.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function93.scope new file mode 100644 index 0000000000..544723eebc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function93.scope @@ -0,0 +1,462 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = " " + + +[#4 Content] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Removal] = 8:3-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >--< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Trailing delimiter] = 8:4-8:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Domain] = 8:3-8:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function94.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function94.scope new file mode 100644 index 0000000000..66e296c49a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function94.scope @@ -0,0 +1,411 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function95.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function95.scope new file mode 100644 index 0000000000..e612552eac --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function95.scope @@ -0,0 +1,380 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function96.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function96.scope new file mode 100644 index 0000000000..30cdda1980 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function96.scope @@ -0,0 +1,349 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = 3:4-3:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:4-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Trailing delimiter] = 3:5-3:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:4-5:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:4-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >--< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Trailing delimiter] = 5:5-5:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 6:4-6:5 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:4-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Trailing delimiter] = 6:5-6:6 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function97.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function97.scope new file mode 100644 index 0000000000..5b93133d8f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function97.scope @@ -0,0 +1,173 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function98.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function98.scope new file mode 100644 index 0000000000..47dc663407 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function98.scope @@ -0,0 +1,327 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-----< +8| const x y = x + +9| + + +[#3 Removal] = 7:0-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >------< +8| const x y = x + +9| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-< +8| const x y = x + +9| + + +[#3 Domain] = 7:0-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function99.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function99.scope new file mode 100644 index 0000000000..588b39271d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/name.function/name.function99.scope @@ -0,0 +1,298 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = 2:4-2:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 2:4-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Trailing delimiter] = 2:5-2:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = " " + + +[#2 Content] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >--< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Trailing delimiter] = 5:4-5:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = " " + + +[#3 Content] = 7:0-7:5 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-----< +8| + + +[#3 Removal] = 7:0-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >------< +8| + + +[#3 Trailing delimiter] = 7:5-7:6 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-< +8| + + +[#3 Domain] = 7:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = " " diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction1.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction1.scope new file mode 100644 index 0000000000..442448b0ba --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction1.scope @@ -0,0 +1,31 @@ +id :: a -> a +id x = x + +--- + +[Content] = +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + + +[Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction10.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction10.scope new file mode 100644 index 0000000000..c07b8bb2d3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction10.scope @@ -0,0 +1,111 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction100.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction100.scope new file mode 100644 index 0000000000..98c602e4e2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction100.scope @@ -0,0 +1,315 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction101.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction101.scope new file mode 100644 index 0000000000..968099a838 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction101.scope @@ -0,0 +1,290 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction102.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction102.scope new file mode 100644 index 0000000000..2d37277f7f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction102.scope @@ -0,0 +1,137 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction103.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction103.scope new file mode 100644 index 0000000000..8f3fb080c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction103.scope @@ -0,0 +1,98 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction104.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction104.scope new file mode 100644 index 0000000000..be6d83ec0f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction104.scope @@ -0,0 +1,162 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 6:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction105.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction105.scope new file mode 100644 index 0000000000..39fe5da517 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction105.scope @@ -0,0 +1,147 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 6:0-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction106.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction106.scope new file mode 100644 index 0000000000..44d9098df1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction106.scope @@ -0,0 +1,290 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction107.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction107.scope new file mode 100644 index 0000000000..fb95c4b9d9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction107.scope @@ -0,0 +1,265 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:3-6:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 7:4-7:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Removal] = 7:3-7:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction108.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction108.scope new file mode 100644 index 0000000000..81647bf1b7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction108.scope @@ -0,0 +1,124 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction109.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction109.scope new file mode 100644 index 0000000000..c86fbc572e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction109.scope @@ -0,0 +1,182 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction11.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction11.scope new file mode 100644 index 0000000000..3ea832f963 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction11.scope @@ -0,0 +1,98 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction110.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction110.scope new file mode 100644 index 0000000000..659262c876 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction110.scope @@ -0,0 +1,315 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:3-9:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Removal] = 9:2-9:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >------< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction111.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction111.scope new file mode 100644 index 0000000000..0c9934c56d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction111.scope @@ -0,0 +1,290 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Removal] = 8:2-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >------< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction112.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction112.scope new file mode 100644 index 0000000000..b94687f348 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction112.scope @@ -0,0 +1,258 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction113.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction113.scope new file mode 100644 index 0000000000..3a3bb49776 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction113.scope @@ -0,0 +1,239 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction114.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction114.scope new file mode 100644 index 0000000000..86f3521088 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction114.scope @@ -0,0 +1,220 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction115.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction115.scope new file mode 100644 index 0000000000..be4fb32092 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction115.scope @@ -0,0 +1,163 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction116.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction116.scope new file mode 100644 index 0000000000..78a2cf9298 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction116.scope @@ -0,0 +1,290 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:3-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#4 Removal] = 8:2-8:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >------< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction117.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction117.scope new file mode 100644 index 0000000000..23823570f0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction117.scope @@ -0,0 +1,265 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| id x = x + +8| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + +7| id x = x + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| id x = x + +8| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 7:3-7:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-----< +8| + + +[#4 Removal] = 7:2-7:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >------< +8| + + +[#4 Leading delimiter] = 7:2-7:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| id x = x + >-< +8| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction118.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction118.scope new file mode 100644 index 0000000000..7e0755b002 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction118.scope @@ -0,0 +1,239 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not :: Bool -> Bool + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction119.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction119.scope new file mode 100644 index 0000000000..d2b6767118 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction119.scope @@ -0,0 +1,220 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| not True = False + +8| not False = True + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| not True = False + +8| not False = True + +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction12.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction12.scope new file mode 100644 index 0000000000..149cdcd413 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction12.scope @@ -0,0 +1,38 @@ +id x = x + +type Point = (Double, Double) + +--- + +[Content] = +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| type Point = (Double, Double) + +3| + + +[Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| type Point = (Double, Double) + +3| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| type Point = (Double, Double) + +3| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction120.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction120.scope new file mode 100644 index 0000000000..da2a5e497a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction120.scope @@ -0,0 +1,201 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction121.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction121.scope new file mode 100644 index 0000000000..768ec4656d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction121.scope @@ -0,0 +1,45 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +--- + +[Content] = +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + + +[Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction122.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction122.scope new file mode 100644 index 0000000000..17ff814358 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction122.scope @@ -0,0 +1,89 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const :: a -> b -> a + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 5:0-6:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const :: a -> b -> a + >-------------------- +6| const x y = x + -------------< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction123.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction123.scope new file mode 100644 index 0000000000..10c92986b4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction123.scope @@ -0,0 +1,80 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| const x y = x + +6| + + +[#1 Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 5:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| const x y = x + >-------------< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction124.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction124.scope new file mode 100644 index 0000000000..523f4ab492 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction124.scope @@ -0,0 +1,150 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#2 Removal] = 8:3-8:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--------------------------< +9| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction125.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction125.scope new file mode 100644 index 0000000000..9c04567710 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction125.scope @@ -0,0 +1,137 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Removal] = 7:3-7:29 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--------------------------< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction126.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction126.scope new file mode 100644 index 0000000000..9454cdb615 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction126.scope @@ -0,0 +1,59 @@ +type Point = (Double, Double) + +id :: a -> a +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = +[Domain] = 3:3-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-----< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Removal] = 3:2-3:8 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >------< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Leading delimiter] = 3:2-3:3 +0| type Point = (Double, Double) + +1| + +2| id :: a -> a + +3| id x = x + >-< +4| + +5| data Maybe a = Nothing | Just a + +6| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction127.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction127.scope new file mode 100644 index 0000000000..c2ebe4a736 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction127.scope @@ -0,0 +1,38 @@ +type Point = (Double, Double) + +id x = x + +--- + +[Content] = +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + + +[Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction128.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction128.scope new file mode 100644 index 0000000000..f254f42433 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction128.scope @@ -0,0 +1,80 @@ +type Point = (Double, Double) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const :: a -> b -> a + +5| const x y = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 4:0-5:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const :: a -> b -> a + >-------------------- +5| const x y = x + -------------< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction129.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction129.scope new file mode 100644 index 0000000000..94e3bef5e9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction129.scope @@ -0,0 +1,71 @@ +type Point = (Double, Double) + +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| const x y = x + +5| + + +[#1 Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 4:0-4:13 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| const x y = x + >-------------< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction13.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction13.scope new file mode 100644 index 0000000000..68be1e0aaf --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction13.scope @@ -0,0 +1,45 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + + +[Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction130.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction130.scope new file mode 100644 index 0000000000..f18ad97819 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction130.scope @@ -0,0 +1,137 @@ +type Point = (Double, Double) + +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#2 Removal] = 7:3-7:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--------------------------< +8| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction131.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction131.scope new file mode 100644 index 0000000000..c39da8a800 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction131.scope @@ -0,0 +1,124 @@ +type Point = (Double, Double) + +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Removal] = 6:3-6:29 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| id x = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction132.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction132.scope new file mode 100644 index 0000000000..0e1de826bd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction132.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +id x = x + +data Maybe a = Nothing | Just a + +--- + +[Content] = +[Domain] = 2:3-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-----< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Removal] = 2:2-2:8 +0| type Point = (Double, Double) + +1| + +2| id x = x + >------< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Leading delimiter] = 2:2-2:3 +0| type Point = (Double, Double) + +1| + +2| id x = x + >-< +3| + +4| data Maybe a = Nothing | Just a + +5| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction133.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction133.scope new file mode 100644 index 0000000000..63afcd9328 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction133.scope @@ -0,0 +1,59 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction134.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction134.scope new file mode 100644 index 0000000000..1243e4cd73 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction134.scope @@ -0,0 +1,150 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id :: a -> a + +8| id x = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 8:3-8:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-----< +9| + + +[#2 Removal] = 8:2-8:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >------< +9| + + +[#2 Leading delimiter] = 8:2-8:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id :: a -> a + +8| id x = x + >-< +9| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction135.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction135.scope new file mode 100644 index 0000000000..141cb9f32e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction135.scope @@ -0,0 +1,137 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| id x = x + +8| + + +[#1 Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| id x = x + +8| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| id x = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-----< +8| + + +[#2 Removal] = 7:2-7:8 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >------< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| id x = x + >-< +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction136.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction136.scope new file mode 100644 index 0000000000..8663e6073c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction136.scope @@ -0,0 +1,239 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 8:4-8:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 8:3-8:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 9:4-9:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#3 Removal] = 9:3-9:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction137.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction137.scope new file mode 100644 index 0000000000..f2dfbac782 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction137.scope @@ -0,0 +1,220 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:3-7:13 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Removal] = 8:3-8:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction138.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction138.scope new file mode 100644 index 0000000000..b657cb9354 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction138.scope @@ -0,0 +1,73 @@ +type Point = (Double, Double) + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = +[Domain] = 5:4-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Removal] = 5:3-5:29 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Leading delimiter] = 5:3-5:4 +0| type Point = (Double, Double) + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| data Maybe a = Nothing | Just a + +8| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction139.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction139.scope new file mode 100644 index 0000000000..d1fed1b074 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction139.scope @@ -0,0 +1,52 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction14.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction14.scope new file mode 100644 index 0000000000..5c84af2438 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction14.scope @@ -0,0 +1,124 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction140.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction140.scope new file mode 100644 index 0000000000..1f818c470e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction140.scope @@ -0,0 +1,137 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id :: a -> a + +7| id x = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:3-7:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-----< +8| + + +[#2 Removal] = 7:2-7:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >------< +8| + + +[#2 Leading delimiter] = 7:2-7:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id :: a -> a + +7| id x = x + >-< +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction141.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction141.scope new file mode 100644 index 0000000000..87695cdae6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction141.scope @@ -0,0 +1,124 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| id x = x + +7| + + +[#1 Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| id x = x + +7| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| id x = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-----< +7| + + +[#2 Removal] = 6:2-6:8 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >------< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| id x = x + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction142.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction142.scope new file mode 100644 index 0000000000..519a133ae6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction142.scope @@ -0,0 +1,220 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 7:4-7:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 7:3-7:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#3 Removal] = 8:3-8:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction143.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction143.scope new file mode 100644 index 0000000000..535cfe4bd0 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction143.scope @@ -0,0 +1,201 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:3-6:13 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction144.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction144.scope new file mode 100644 index 0000000000..531c236ed4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction144.scope @@ -0,0 +1,66 @@ +type Point = (Double, Double) + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +data Maybe a = Nothing | Just a + +--- + +[Content] = +[Domain] = 4:4-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Removal] = 4:3-4:29 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Leading delimiter] = 4:3-4:4 +0| type Point = (Double, Double) + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| data Maybe a = Nothing | Just a + +7| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction15.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction15.scope new file mode 100644 index 0000000000..506c29d527 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction15.scope @@ -0,0 +1,111 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction16.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction16.scope new file mode 100644 index 0000000000..3849078d92 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction16.scope @@ -0,0 +1,201 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction17.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction17.scope new file mode 100644 index 0000000000..0856113256 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction17.scope @@ -0,0 +1,182 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction18.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction18.scope new file mode 100644 index 0000000000..d2169c973b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction18.scope @@ -0,0 +1,59 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = +[Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| type Point = (Double, Double) + +6| + + +[Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| type Point = (Double, Double) + +6| + + +[Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| type Point = (Double, Double) + +6| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction19.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction19.scope new file mode 100644 index 0000000000..73e47ce48a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction19.scope @@ -0,0 +1,38 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[Content] = +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + + +[Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction2.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction2.scope new file mode 100644 index 0000000000..bc94cf8b1b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction2.scope @@ -0,0 +1,71 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction20.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction20.scope new file mode 100644 index 0000000000..682bace4fe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction20.scope @@ -0,0 +1,111 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction21.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction21.scope new file mode 100644 index 0000000000..8f3fb080c8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction21.scope @@ -0,0 +1,98 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id x = x + +5| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id x = x + +5| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id x = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:3-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-----< +5| + + +[#2 Removal] = 4:2-4:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >------< +5| + + +[#2 Leading delimiter] = 4:2-4:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id x = x + >-< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction22.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction22.scope new file mode 100644 index 0000000000..c86fbc572e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction22.scope @@ -0,0 +1,182 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:3-5:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Removal] = 6:3-6:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map :: (a -> b) -> [a] -> [b] + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction23.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction23.scope new file mode 100644 index 0000000000..be4fb32092 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction23.scope @@ -0,0 +1,163 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >---------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Removal] = 4:3-4:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >----------< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Leading delimiter] = 4:3-4:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + >-< +5| map f (x:xs) = f x : map f xs + +6| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 5:4-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-------------------------< +6| + + +[#3 Removal] = 5:3-5:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >--------------------------< +6| + + +[#3 Leading delimiter] = 5:3-5:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| map f [] = [] + +5| map f (x:xs) = f x : map f xs + >-< +6| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction24.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction24.scope new file mode 100644 index 0000000000..fb20a29975 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction24.scope @@ -0,0 +1,52 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[Content] = +[Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| type Point = (Double, Double) + +5| + + +[Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| type Point = (Double, Double) + +5| + + +[Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| type Point = (Double, Double) + +5| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction25.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction25.scope new file mode 100644 index 0000000000..bc94cf8b1b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction25.scope @@ -0,0 +1,71 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction26.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction26.scope new file mode 100644 index 0000000000..e15ab46d1c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction26.scope @@ -0,0 +1,98 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst :: (a, b) -> a + +7| fst (x, y) = x + +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction27.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction27.scope new file mode 100644 index 0000000000..36438a4c80 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction27.scope @@ -0,0 +1,89 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction28.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction28.scope new file mode 100644 index 0000000000..2f1fd42c62 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction28.scope @@ -0,0 +1,192 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-------------------------< +10| + + +[#3 Removal] = 9:3-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >--------------------------< +10| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib :: Integer -> Integer + +7| fib 0 = 0 + +8| fib 1 = 1 + +9| fib n = fib (n-1) + fib (n-2) + >-< +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction29.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction29.scope new file mode 100644 index 0000000000..fc8af5afb2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction29.scope @@ -0,0 +1,177 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Removal] = 8:3-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--------------------------< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction3.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction3.scope new file mode 100644 index 0000000000..88644fd1ab --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction3.scope @@ -0,0 +1,62 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction30.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction30.scope new file mode 100644 index 0000000000..d1b3431610 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction30.scope @@ -0,0 +1,89 @@ +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const :: a -> b -> a + +4| const x y = x + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-4:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const :: a -> b -> a + >-------------------- +4| const x y = x + -------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction31.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction31.scope new file mode 100644 index 0000000000..88644fd1ab --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction31.scope @@ -0,0 +1,62 @@ +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction32.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction32.scope new file mode 100644 index 0000000000..749eadffc2 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction32.scope @@ -0,0 +1,89 @@ +id :: a -> a +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction33.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction33.scope new file mode 100644 index 0000000000..c22ac91aae --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction33.scope @@ -0,0 +1,80 @@ +id :: a -> a +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction34.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction34.scope new file mode 100644 index 0000000000..aba9d68927 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction34.scope @@ -0,0 +1,177 @@ +id :: a -> a +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Removal] = 8:3-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--------------------------< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction35.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction35.scope new file mode 100644 index 0000000000..1fd1191acd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction35.scope @@ -0,0 +1,162 @@ +id :: a -> a +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction36.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction36.scope new file mode 100644 index 0000000000..f5fdcf8ed1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction36.scope @@ -0,0 +1,80 @@ +id :: a -> a +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 3:0-3:13 +0| id :: a -> a + +1| id x = x + +2| + +3| const x y = x + >-------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction37.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction37.scope new file mode 100644 index 0000000000..8d7b05a35b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction37.scope @@ -0,0 +1,124 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction38.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction38.scope new file mode 100644 index 0000000000..de9879ad0f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction38.scope @@ -0,0 +1,192 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 8:0-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction39.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction39.scope new file mode 100644 index 0000000000..89b9da82bc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction39.scope @@ -0,0 +1,177 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 8:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction4.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction4.scope new file mode 100644 index 0000000000..8d7b05a35b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction4.scope @@ -0,0 +1,124 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction40.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction40.scope new file mode 100644 index 0000000000..565d5f3877 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction40.scope @@ -0,0 +1,340 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 9:4-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:3-9:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >----------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 10:4-10:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Removal] = 10:3-10:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--------------------------< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction41.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction41.scope new file mode 100644 index 0000000000..68f67b41b8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction41.scope @@ -0,0 +1,315 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction42.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction42.scope new file mode 100644 index 0000000000..2834b0ae48 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction42.scope @@ -0,0 +1,150 @@ +id :: a -> a +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:3-6:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:3-6:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib :: Integer -> Integer + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction43.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction43.scope new file mode 100644 index 0000000000..b073b42c48 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction43.scope @@ -0,0 +1,111 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction44.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction44.scope new file mode 100644 index 0000000000..ac6fc4fe02 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction44.scope @@ -0,0 +1,177 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction45.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction45.scope new file mode 100644 index 0000000000..ea53b29409 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction45.scope @@ -0,0 +1,162 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction46.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction46.scope new file mode 100644 index 0000000000..5275f701dd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction46.scope @@ -0,0 +1,315 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction47.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction47.scope new file mode 100644 index 0000000000..254cc6300c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction47.scope @@ -0,0 +1,290 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction48.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction48.scope new file mode 100644 index 0000000000..6ccdddfd5e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction48.scope @@ -0,0 +1,137 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction49.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction49.scope new file mode 100644 index 0000000000..dc5d620663 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction49.scope @@ -0,0 +1,62 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction5.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction5.scope new file mode 100644 index 0000000000..b073b42c48 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction5.scope @@ -0,0 +1,111 @@ +id :: a -> a +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Removal] = 5:3-5:29 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id :: a -> a + +1| id x = x + +2| + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction50.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction50.scope new file mode 100644 index 0000000000..25d7036e1e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction50.scope @@ -0,0 +1,89 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst :: (a, b) -> a + +6| fst (x, y) = x + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction51.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction51.scope new file mode 100644 index 0000000000..b55c6c579a --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction51.scope @@ -0,0 +1,80 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction52.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction52.scope new file mode 100644 index 0000000000..086ed1b2c1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction52.scope @@ -0,0 +1,177 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-------------------------< +9| + + +[#3 Removal] = 8:3-8:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >--------------------------< +9| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib :: Integer -> Integer + +6| fib 0 = 0 + +7| fib 1 = 1 + +8| fib n = fib (n-1) + fib (n-2) + >-< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction53.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction53.scope new file mode 100644 index 0000000000..4304745f46 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction53.scope @@ -0,0 +1,162 @@ +id x = x + +const :: a -> b -> a +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction54.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction54.scope new file mode 100644 index 0000000000..17a7c066a8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction54.scope @@ -0,0 +1,80 @@ +id x = x + +const :: a -> b -> a +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + +5| type Point = (Double, Double) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + +5| type Point = (Double, Double) + +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction55.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction55.scope new file mode 100644 index 0000000000..4cb169f454 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction55.scope @@ -0,0 +1,53 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction56.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction56.scope new file mode 100644 index 0000000000..cddd4d3de7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction56.scope @@ -0,0 +1,80 @@ +id x = x + +const x y = x + +fst :: (a, b) -> a +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst :: (a, b) -> a + +5| fst (x, y) = x + +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction57.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction57.scope new file mode 100644 index 0000000000..9b9aeaa4aa --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction57.scope @@ -0,0 +1,71 @@ +id x = x + +const x y = x + +fst (x, y) = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fst (x, y) = x + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fst (x, y) = x + +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction58.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction58.scope new file mode 100644 index 0000000000..f87a81751b --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction58.scope @@ -0,0 +1,162 @@ +id x = x + +const x y = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib :: Integer -> Integer + +5| fib 0 = 0 + +6| fib 1 = 1 + +7| fib n = fib (n-1) + fib (n-2) + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction59.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction59.scope new file mode 100644 index 0000000000..d5bbfaed6d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction59.scope @@ -0,0 +1,147 @@ +id x = x + +const x y = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-------------------------< +7| + + +[#3 Removal] = 6:3-6:29 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >--------------------------< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| const x y = x + +3| + +4| fib 0 = 0 + +5| fib 1 = 1 + +6| fib n = fib (n-1) + fib (n-2) + >-< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction6.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction6.scope new file mode 100644 index 0000000000..361b70b260 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction6.scope @@ -0,0 +1,45 @@ +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[Content] = +[Domain] = 1:3-1:8 +0| id :: a -> a + +1| id x = x + >-----< +2| + +3| type Point = (Double, Double) + +4| + + +[Removal] = 1:2-1:8 +0| id :: a -> a + +1| id x = x + >------< +2| + +3| type Point = (Double, Double) + +4| + + +[Leading delimiter] = 1:2-1:3 +0| id :: a -> a + +1| id x = x + >-< +2| + +3| type Point = (Double, Double) + +4| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction60.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction60.scope new file mode 100644 index 0000000000..c9689c699f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction60.scope @@ -0,0 +1,71 @@ +id x = x + +const x y = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + +4| type Point = (Double, Double) + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + +4| type Point = (Double, Double) + +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction61.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction61.scope new file mode 100644 index 0000000000..c07b8bb2d3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction61.scope @@ -0,0 +1,111 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction62.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction62.scope new file mode 100644 index 0000000000..2e3ca08c9c --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction62.scope @@ -0,0 +1,177 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction63.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction63.scope new file mode 100644 index 0000000000..4c70135edc --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction63.scope @@ -0,0 +1,162 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction64.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction64.scope new file mode 100644 index 0000000000..2b58eba83f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction64.scope @@ -0,0 +1,315 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction65.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction65.scope new file mode 100644 index 0000000000..b728b9e033 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction65.scope @@ -0,0 +1,290 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction66.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction66.scope new file mode 100644 index 0000000000..8d2136fb30 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction66.scope @@ -0,0 +1,137 @@ +id x = x + +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:3-5:29 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >--------------------------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:3-5:4 +0| id x = x + +1| + +2| fib :: Integer -> Integer + +3| fib 0 = 0 + +4| fib 1 = 1 + +5| fib n = fib (n-1) + fib (n-2) + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction67.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction67.scope new file mode 100644 index 0000000000..3ea832f963 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction67.scope @@ -0,0 +1,98 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction68.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction68.scope new file mode 100644 index 0000000000..626cec3814 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction68.scope @@ -0,0 +1,162 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const :: a -> b -> a + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 6:0-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const :: a -> b -> a + >-------------------- +7| const x y = x + -------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction69.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction69.scope new file mode 100644 index 0000000000..dce3f84d74 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction69.scope @@ -0,0 +1,147 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| const x y = x + +7| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| const x y = x + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| const x y = x + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 6:0-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| const x y = x + >-------------< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction7.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction7.scope new file mode 100644 index 0000000000..1cf494c6d4 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction7.scope @@ -0,0 +1,24 @@ +id x = x + +--- + +[Content] = +[Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + + +[Removal] = 0:2-0:8 +0| id x = x + >------< +1| + + +[Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + + +[Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction70.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction70.scope new file mode 100644 index 0000000000..392e6db9d3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction70.scope @@ -0,0 +1,290 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map :: (a -> b) -> [a] -> [b] + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction71.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction71.scope new file mode 100644 index 0000000000..f38e1ae8bb --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction71.scope @@ -0,0 +1,265 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Removal] = 6:3-6:13 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Leading delimiter] = 6:3-6:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 7:4-7:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#4 Removal] = 7:3-7:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + + +[#4 Leading delimiter] = 7:3-7:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction72.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction72.scope new file mode 100644 index 0000000000..330134814f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction72.scope @@ -0,0 +1,124 @@ +id x = x + +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + +5| + +6| type Point = (Double, Double) + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 4:4-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-------------------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Removal] = 4:3-4:29 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >--------------------------< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Leading delimiter] = 4:3-4:4 +0| id x = x + +1| + +2| fib 0 = 0 + +3| fib 1 = 1 + +4| fib n = fib (n-1) + fib (n-2) + >-< +5| + +6| type Point = (Double, Double) + +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction73.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction73.scope new file mode 100644 index 0000000000..5c84af2438 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction73.scope @@ -0,0 +1,124 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction74.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction74.scope new file mode 100644 index 0000000000..d1975c440e --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction74.scope @@ -0,0 +1,192 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const :: a -> b -> a + +9| const x y = x + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 8:0-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const :: a -> b -> a + >-------------------- +9| const x y = x + -------------< +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction75.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction75.scope new file mode 100644 index 0000000000..a7c1470f4f --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction75.scope @@ -0,0 +1,177 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| const x y = x + +9| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 8:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| const x y = x + >-------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction76.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction76.scope new file mode 100644 index 0000000000..d29032ce44 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction76.scope @@ -0,0 +1,340 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 9:4-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >---------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Removal] = 9:3-9:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >----------< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + >-< +10| map f (x:xs) = f x : map f xs + +11| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 10:4-10:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-------------------------< +11| + + +[#4 Removal] = 10:3-10:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >--------------------------< +11| + + +[#4 Leading delimiter] = 10:3-10:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map :: (a -> b) -> [a] -> [b] + +9| map f [] = [] + +10| map f (x:xs) = f x : map f xs + >-< +11| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction77.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction77.scope new file mode 100644 index 0000000000..a9c7eb2f48 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction77.scope @@ -0,0 +1,315 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction78.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction78.scope new file mode 100644 index 0000000000..2053e2e889 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction78.scope @@ -0,0 +1,150 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id :: a -> a + +6| id x = x + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:3-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-----< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 6:2-6:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >------< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 6:2-6:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id :: a -> a + +6| id x = x + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction79.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction79.scope new file mode 100644 index 0000000000..506c29d527 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction79.scope @@ -0,0 +1,111 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction8.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction8.scope new file mode 100644 index 0000000000..dc5d620663 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction8.scope @@ -0,0 +1,62 @@ +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const :: a -> b -> a + +3| const x y = x + +4| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-3:13 +0| id x = x + +1| + +2| const :: a -> b -> a + >-------------------- +3| const x y = x + -------------< +4| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction80.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction80.scope new file mode 100644 index 0000000000..288db424ec --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction80.scope @@ -0,0 +1,177 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction81.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction81.scope new file mode 100644 index 0000000000..8a2b892b39 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction81.scope @@ -0,0 +1,162 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction82.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction82.scope new file mode 100644 index 0000000000..fd5741d3fa --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction82.scope @@ -0,0 +1,315 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 8:4-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >---------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Removal] = 8:3-8:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >----------< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + >-< +9| map f (x:xs) = f x : map f xs + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:4-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-------------------------< +10| + + +[#4 Removal] = 9:3-9:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >--------------------------< +10| + + +[#4 Leading delimiter] = 9:3-9:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map :: (a -> b) -> [a] -> [b] + +8| map f [] = [] + +9| map f (x:xs) = f x : map f xs + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction83.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction83.scope new file mode 100644 index 0000000000..a9c3add645 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction83.scope @@ -0,0 +1,290 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >---------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Removal] = 7:3-7:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >----------< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + >-< +8| map f (x:xs) = f x : map f xs + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:4-8:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-------------------------< +9| + + +[#4 Removal] = 8:3-8:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >--------------------------< +9| + + +[#4 Leading delimiter] = 8:3-8:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + +6| + +7| map f [] = [] + +8| map f (x:xs) = f x : map f xs + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction84.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction84.scope new file mode 100644 index 0000000000..733f3e1508 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction84.scope @@ -0,0 +1,137 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id x = x + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| id x = x + +6| + +7| type Point = (Double, Double) + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-----< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Removal] = 5:2-5:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >------< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| id x = x + >-< +6| + +7| type Point = (Double, Double) + +8| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction85.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction85.scope new file mode 100644 index 0000000000..3849078d92 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction85.scope @@ -0,0 +1,201 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction86.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction86.scope new file mode 100644 index 0000000000..c7fca29b95 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction86.scope @@ -0,0 +1,340 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id :: a -> a + +10| id x = x + +11| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 10:3-10:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-----< +11| + + +[#4 Removal] = 10:2-10:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >------< +11| + + +[#4 Leading delimiter] = 10:2-10:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id :: a -> a + +10| id x = x + >-< +11| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction87.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction87.scope new file mode 100644 index 0000000000..21e6065645 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction87.scope @@ -0,0 +1,315 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| id x = x + +10| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + +9| id x = x + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| id x = x + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-----< +10| + + +[#4 Removal] = 9:2-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >------< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| id x = x + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction88.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction88.scope new file mode 100644 index 0000000000..5e329766a5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction88.scope @@ -0,0 +1,277 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not :: Bool -> Bool + +10| not True = False + +11| not False = True + +12| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction89.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction89.scope new file mode 100644 index 0000000000..e08db76937 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction89.scope @@ -0,0 +1,258 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction9.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction9.scope new file mode 100644 index 0000000000..4cb169f454 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction9.scope @@ -0,0 +1,53 @@ +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 0:3-0:8 +0| id x = x + >-----< +1| + +2| const x y = x + +3| + + +[#1 Removal] = 0:2-0:8 +0| id x = x + >------< +1| + +2| const x y = x + +3| + + +[#1 Leading delimiter] = 0:2-0:3 +0| id x = x + >-< +1| + +2| const x y = x + +3| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 2:0-2:13 +0| id x = x + +1| + +2| const x y = x + >-------------< +3| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction90.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction90.scope new file mode 100644 index 0000000000..7b26b34df5 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction90.scope @@ -0,0 +1,239 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map :: (a -> b) -> [a] -> [b] +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 6:4-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >---------< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Removal] = 6:3-6:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >----------< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + >-< +7| map f (x:xs) = f x : map f xs + +8| + +9| type Point = (Double, Double) + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 7:4-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-------------------------< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Removal] = 7:3-7:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >--------------------------< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Leading delimiter] = 7:3-7:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map :: (a -> b) -> [a] -> [b] + +6| map f [] = [] + +7| map f (x:xs) = f x : map f xs + >-< +8| + +9| type Point = (Double, Double) + +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction91.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction91.scope new file mode 100644 index 0000000000..0856113256 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction91.scope @@ -0,0 +1,182 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction92.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction92.scope new file mode 100644 index 0000000000..b1f87bf919 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction92.scope @@ -0,0 +1,315 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id :: a -> a + +9| id x = x + +10| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 9:3-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-----< +10| + + +[#4 Removal] = 9:2-9:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >------< +10| + + +[#4 Leading delimiter] = 9:2-9:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id :: a -> a + +9| id x = x + >-< +10| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction93.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction93.scope new file mode 100644 index 0000000000..ea4ac6b0f6 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction93.scope @@ -0,0 +1,290 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| id x = x + +9| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| id x = x + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| id x = x + +9| + + +[#3 Insertion delimiter] = "\n\n" + + +[#4 Content] = +[#4 Domain] = 8:3-8:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-----< +9| + + +[#4 Removal] = 8:2-8:8 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >------< +9| + + +[#4 Leading delimiter] = 8:2-8:3 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| id x = x + >-< +9| + + +[#4 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction94.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction94.scope new file mode 100644 index 0000000000..2e0bce666d --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction94.scope @@ -0,0 +1,258 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not :: Bool -> Bool +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not :: Bool -> Bool + +9| not True = False + +10| not False = True + +11| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction95.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction95.scope new file mode 100644 index 0000000000..105213b9ff --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction95.scope @@ -0,0 +1,239 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +not True = False +not False = True + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| not True = False + +9| not False = True + +10| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| not True = False + +9| not False = True + +10| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction96.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction96.scope new file mode 100644 index 0000000000..97fa718ac9 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction96.scope @@ -0,0 +1,220 @@ +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +map f [] = [] +map f (x:xs) = f x : map f xs + +type Point = (Double, Double) + +--- + +[#1 Content] = +[#1 Domain] = 3:4-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Removal] = 3:3-3:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >--------------------------< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Leading delimiter] = 3:3-3:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + >-< +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:4-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >---------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Removal] = 5:3-5:13 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >----------< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Leading delimiter] = 5:3-5:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + >-< +6| map f (x:xs) = f x : map f xs + +7| + +8| type Point = (Double, Double) + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Domain] = 6:4-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Removal] = 6:3-6:29 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >--------------------------< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Leading delimiter] = 6:3-6:4 +0| fib :: Integer -> Integer + +1| fib 0 = 0 + +2| fib 1 = 1 + +3| fib n = fib (n-1) + fib (n-2) + +4| + +5| map f [] = [] + +6| map f (x:xs) = f x : map f xs + >-< +7| + +8| type Point = (Double, Double) + +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction97.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction97.scope new file mode 100644 index 0000000000..682bace4fe --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction97.scope @@ -0,0 +1,111 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + + +[#2 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction98.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction98.scope new file mode 100644 index 0000000000..811bc2f3c1 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction98.scope @@ -0,0 +1,177 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const :: a -> b -> a +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const :: a -> b -> a + +8| const x y = x + +9| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-8:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const :: a -> b -> a + >-------------------- +8| const x y = x + -------------< +9| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction99.scope b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction99.scope new file mode 100644 index 0000000000..6b659b1508 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/scopes/haskell/generated/namedFunction/namedFunction99.scope @@ -0,0 +1,162 @@ +fib 0 = 0 +fib 1 = 1 +fib n = fib (n-1) + fib (n-2) + +id :: a -> a +id x = x + +const x y = x + +--- + +[#1 Content] = +[#1 Domain] = 2:4-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Removal] = 2:3-2:29 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >--------------------------< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Leading delimiter] = 2:3-2:4 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + >-< +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + +8| + + +[#1 Insertion delimiter] = "\n\n" + + +[#2 Content] = +[#2 Domain] = 5:3-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-----< +6| + +7| const x y = x + +8| + + +[#2 Removal] = 5:2-5:8 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >------< +6| + +7| const x y = x + +8| + + +[#2 Leading delimiter] = 5:2-5:3 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + >-< +6| + +7| const x y = x + +8| + + +[#2 Insertion delimiter] = "\n\n" + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 7:0-7:13 +0| fib 0 = 0 + +1| fib 1 = 1 + +2| fib n = fib (n-1) + fib (n-2) + +3| + +4| id :: a -> a + +5| id x = x + +6| + +7| const x y = x + >-------------< +8| + + +[#3 Insertion delimiter] = "\n\n" diff --git a/queries/haskell.disabled/haskell.branch.scm b/queries/haskell.disabled/haskell.branch.scm new file mode 100644 index 0000000000..a0d2cc2032 --- /dev/null +++ b/queries/haskell.disabled/haskell.branch.scm @@ -0,0 +1,39 @@ +;; TODO +;; - @branch.tenary : if expressions +;; - @branch.if : multi-way if expressions +;; - + +;; @branch.if: guard +(guard_equation + [ + ;; ... with a SINGLE guard + (guards + . + (guard) @branch.start + . + ) + ;; ... with MULTIPLE guards + (guards + . + (guard) @branch.start + (guard) @branch.start + . + ) + ] + . + (_) @branch.end +) @branch.removal + +;; @branch.match: case +(exp_case + (alts + (alt) @branch + ) +) + +;; @condition.if: guard +(guard_equation + (guards + (guard) @condition + ) +) @condition.domain diff --git a/queries/haskell.disabled/haskell.condition.scm b/queries/haskell.disabled/haskell.condition.scm new file mode 100644 index 0000000000..c3aca62829 --- /dev/null +++ b/queries/haskell.disabled/haskell.condition.scm @@ -0,0 +1,26 @@ +;; guard equations +(guard_equation + [ + ;; ... with a SINGLE guard + (guards + . + (guard) @condition @condition.domain.start + . + ) + ;; ... with MULTIPLE guards + (guards + . + (guard) @condition.start @condition.domain.start + (guard) @condition.end @condition.domain.start + . + ) + ] + . + (_) @condition.domain.end +) + +;; case expressions +(exp_case + (_) @condition + . +) diff --git a/queries/haskell.disabled/haskell.functionApplication.scm b/queries/haskell.disabled/haskell.functionApplication.scm new file mode 100644 index 0000000000..581cb7f724 --- /dev/null +++ b/queries/haskell.disabled/haskell.functionApplication.scm @@ -0,0 +1,64 @@ +;; This file defines all patterns for function application and arguments. +;; For function declaration, see haskell.functionDeclaration.scm. + +;; functionCall & functionCallee +;; expression-level function application +(exp_apply + . + (_) @functionCallee + (_) @argumentOrParameter +) @functionCall +;; expression-level operator application +(exp_infix + [ + (constructor_operator) + (operator) + ] + @functionCallee +) @functionCall +;; expression-level type application +(exp_type_application + . + (_) @functionCallee + (_) @argumentOrParameter +) @functionCall +;; expression-level constructor pattern +(pat_apply + . + (_) @functionCallee +) @functionCall +;; expression-level constructor operator pattern +(pat_infix + (constructor_operator) @functionCallee +) @functionCall +;; type-level type constructor application +(type_apply + . + (_) @functionCallee +) @functionCall +;; type-level type operator application +;; TODO: (fun) contains multiple applications +(type_infix + [ + (constructor_operator) + (type_operator) + ] @functionCallee +) @functionCall +;; type-level function type constructor application +(fun + (_) @functionCall.start + . + "->" @functionCallee + . + (_) @functionCall.end +) +(fun + ;; TODO: and leading or trailing "->" to removal range + (_) @argumentOrParameter +) +;; argument.actual.iteration: exp_case +(exp_case + (alts + (alt) @argumentOrParameter.iteration + ) +) diff --git a/queries/haskell.disabled/haskell.functionDeclaration.scm b/queries/haskell.disabled/haskell.functionDeclaration.scm new file mode 100644 index 0000000000..772d8434c2 --- /dev/null +++ b/queries/haskell.disabled/haskell.functionDeclaration.scm @@ -0,0 +1,1807 @@ +;; This file defines all patterns for function application and arguments. +;; For function declaration, see haskell.functionApplication.scm. + +;; This file contains the queries for: +;; +;; - @argument.formal +;; - @argument.formal.iteration +;; - @branch.match (for function declarations) +;; - @branch.match.iteration (for function declarations) +;; - @functionName +;; - @name.function +;; - @namedFunction +;; +;; Due to the restriction on the number of captures in tree-sitter, the +;; queries for @branch.match.iteration, @functionName, @name.function, +;; and @namedFunction are essentially the same query repeated four times. +;; Any changes made to one of them should probably be made to all of them. + +;; @argument.formal +(pat_apply) @argumentOrParameter +(pat_as) @argumentOrParameter +(pat_field) @argumentOrParameter +(pat_fields) @argumentOrParameter +(pat_infix) @argumentOrParameter +(pat_irrefutable) @argumentOrParameter +(pat_list) @argumentOrParameter +(pat_literal) @argumentOrParameter +(pat_name) @argumentOrParameter +(pat_negation) @argumentOrParameter +(pat_parens) @argumentOrParameter +(pat_record) @argumentOrParameter +(pat_strict) @argumentOrParameter +(pat_tuple) @argumentOrParameter +(pat_typed) @argumentOrParameter +(pat_unboxed_tuple) @argumentOrParameter +(pat_view) @argumentOrParameter +(pat_wildcard) @argumentOrParameter + +;; @argument.formal.iteration +(function) @argumentOrParameter.iteration + +;; @branch.match +(function) @branch + +;; @branch.match.iteration +( + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + (#not-eq? @_previous @_start_name) + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the START of the file +(haskell + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + . +) +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... as the ONLY in the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + . + ;; function declaration + (function + name: (variable) @_start_name + ) @branch.iteration + . +) +;; ... as the ONLY in the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... at the START of the clause +(decls + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + ) + . +) +;; ... as the ONLY in the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @branch.iteration + ) + . +) +;; ... as the ONLY in the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @branch.iteration.start + ) + ( + (function + name: (variable) @_start_name + ) @branch.iteration.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @branch.iteration.end + (#eq? @_start_name @_end_name) + ) + . +) + +;; @functionName +( + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + (#not-eq? @_previous @_start_name) + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the START of the file +(haskell + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... as the ONLY in the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + . + ;; function declaration + (function + name: (variable) @functionName @_start_name + ) @functionName.domain + . +) +;; ... as the ONLY in the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + . + ;; function declaration + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... at the START of the clause +(decls + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + ) + . +) +;; ... as the ONLY in the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + . + ;; function declaration + ( + (function + name: (variable) @functionName @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @functionName.domain + ) + . +) +;; ... as the ONLY in the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + . + ;; function declaration + [ + ( + (signature + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ( + (function + name: (variable) @functionName @_start_name + ) @functionName.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @functionName.domain.end + (#eq? @_start_name @_end_name) + ) + . +) + +;; @name.function +( + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + (#not-eq? @_previous @_start_name) + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the START of the file +(haskell + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... as the ONLY in the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + . + ;; function declaration + (function + name: (variable) @name @_start_name + ) @name.domain + . +) +;; ... as the ONLY in the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + . + ;; function declaration + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... at the START of the clause +(decls + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + ) + . +) +;; ... as the ONLY in the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + . + ;; function declaration + ( + (function + name: (variable) @name @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @name.domain + ) + . +) +;; ... as the ONLY in the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + . + ;; function declaration + [ + ( + (signature + name: (variable) @name @_start_name + ) @name.domain.start + ) + ( + (function + name: (variable) @name @_start_name + ) @name.domain.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @name.domain.end + (#eq? @_start_name @_end_name) + ) + . +) + +;; @namedFunction +( + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + (#not-eq? @_previous @_start_name) + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the START of the file +(haskell + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + . +) +(haskell + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... as the ONLY in the file +;; ... without SIGNATURE and with SINGLE declaration +(haskell + . + ;; function declaration + (function + name: (variable) @_start_name + ) @namedFunction + . +) +;; ... as the ONLY in the file +;; ... with SIGNATURE and/or MULTIPLE declarations +(haskell + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + . +) +;; ... at the START of the clause +(decls + . + ;; function declaration + [ + ;; ... without SIGNATURE and with SINGLE declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + ) + ;; ... with SIGNATURE and/or MULTIPLE declarations + ( + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + ) + ] + . + ;; next declaration + [ + ( + (_) @_next + (#not-type? @_next "function") + ) + ( + (function + name: (variable) @_next + ) + (#not-eq? @_next @_start_name) + ) + ] +) +;; ... at the END of the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + (#not-eq? @_previous @_start_name) + ) + . +) +;; ... at the END of the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + ;; previous declaration + [ + ( + (_) @_previous + (#not-type? @_previous "function" "signature") + ) + ( + (function + name: (variable) @_previous + ) + ) + ] + . + ;; function declaration + ( + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + (#not-eq? @_previous @_start_name) + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + ) + . +) +;; ... as the ONLY in the clause +;; ... without SIGNATURE and with SINGLE declaration +(decls + . + ;; function declaration + ( + (function + name: (variable) @_start_name @_end_name + ;; The annotation `@_end_name` is REQUIRED because assertions are + ;; hoisted, which means that the assertion `(#eq? @_start_name @_end_name)` + ;; is ALWAYS evaluated, so if we don't set `@_end_name`, it fails. + ) @namedFunction + ) + . +) +;; ... as the ONLY in the clause +;; ... with SIGNATURE and/or MULTIPLE declarations +(decls + . + ;; function declaration + [ + ( + (signature + name: (variable) @_start_name + ) @namedFunction.start + ) + ( + (function + name: (variable) @_start_name + ) @namedFunction.start + ) + ] + . + (function)* + . + ( + (function + name: (variable) @_end_name + ) @namedFunction.end + (#eq? @_start_name @_end_name) + ) + . +) diff --git a/queries/haskell.disabled/haskell.value.scm b/queries/haskell.disabled/haskell.value.scm new file mode 100644 index 0000000000..254848460c --- /dev/null +++ b/queries/haskell.disabled/haskell.value.scm @@ -0,0 +1,22 @@ +;; function definitions +(function + rhs: (_) @value +) + +;; guard equations +(guard_equation + (guards) + . + (_) @value +) + +;; case expressions +(exp_case + (alts + (alt + (_) @value + . + ) + ) + . +) diff --git a/queries/haskell.md b/queries/haskell.md new file mode 100644 index 0000000000..3be544181e --- /dev/null +++ b/queries/haskell.md @@ -0,0 +1,281 @@ +Adds support for the Haskell programming language. + +### Roadmap + +- [ ] `argumentOrParameter`: + - [x] `argument.actual` + - [ ] `argument.actual.iteration` + Blocked on one of: + - #2177 + - #2195 + - [x] `argument.formal` + - [x] `argument.formal.iteration` +- [x] `anonymousFunction` +- [ ] `branch` + - [x] `branch.match` + - [x] `branch.match.iteration` + - [x] `branch.if` + - [x] `branch.if.iteration` + - [ ] `branch.ternary` +- [ ] `collectionItem` +- [ ] `collectionKey` + - [ ] `key.mapPair` + - [ ] `key.mapPair.iteration` +- [ ] `comment` + - [ ] `comment.line` + - [ ] `comment.block` +- [ ] `functionCall` + - [x] `functionCall` + - [ ] `functionCall.constructor` +- [ ] `functionCallee` + - [x] `functionCallee` + - [ ] `functionCallee.constructor` +- [x] `functionName` +- [ ] `ifStatement` +- [x] `list` +- [ ] `map` +- [ ] `name` + - [ ] `name.assignment` + - [ ] `name.assignment.pattern` + - [x] `name.function` + - [ ] `name.class` + - [ ] `name.field` +- [ ] `namedFunction` + - [x] `namedFunction` + - [ ] `namedFunction.method` +- [ ] `statement` + - [ ] `statement` + - [ ] `statement.iteration.document` + - [ ] `statement.iteration.block` +- [x] `string` +- [ ] `type` + - [ ] `class` + - [ ] `class.instance` + - [ ] `className` + - [ ] `type.adt` + - [ ] `type.alias` + - [ ] `type.annotation` + - [ ] `type.constraint` + - [ ] `type.dataFamily` + - [ ] `type.dataInstance` + - [ ] `type.field` + - [ ] `type.foreignExport` + - [ ] `type.foreignImport` + - [ ] `type.function` + - [ ] `type.gadt` + - [ ] `type.newtype` + - [ ] `type.typeFamily` + - [ ] `type.typeInstance` +- [ ] `value` + - [ ] `value.assignment` + - [ ] `value.field` + - [ ] `value.mapPair` + - [ ] `value.mapPair.iteration` + - [ ] `value.return` +- [ ] `condition` + - [ ] `condition.if` + - [ ] `condition.ternary` + - [ ] `condition.match` + +--- + +### Warning + +This is work in progress. In the early stages, I'll be messy. + +- The commits will be uninformative. +- The branch may receive **force pushes** at any point! + +--- + +### Discussion and RFCs + +See #2186. + +--- + +### Haskell Node Types + +- `adt` +- `all_names` +- `alt` +- `alts` +- `annotated_type_variable` +- `bind_pattern` +- `calling_convention` +- `char` +- `class` +- `class_body` +- `class_head` +- `class_name` +- `comma` +- `comment` +- `con_list` +- `con_tuple` +- `con_unit` +- `constraint` +- `constructor` +- `constructor_operator` +- `constructors` +- `context` +- `cpp` +- `data_constructor` +- `data_constructor_infix` +- `data_constructor_record` +- `data_family` +- `data_instance` +- `decl_tyfam_sig` +- `decl_type` +- `decls` +- `default_declaration` +- `default_signature` +- `deriving` +- `deriving_declaration` +- `deriving_strategy` +- `do_module` +- `empty_file` +- `equation` +- `exp_apply` +- `exp_arithmetic_sequence` +- `exp_case` +- `exp_cond` +- `exp_do` +- `exp_field` +- `exp_if_guard` +- `exp_in` +- `exp_infix` +- `exp_lambda` +- `exp_lambda_case` +- `exp_let` +- `exp_let_in` +- `exp_list` +- `exp_list_comprehension` +- `exp_literal` +- `exp_name` +- `exp_negation` +- `exp_parens` +- `exp_record` +- `exp_section_left` +- `exp_section_right` +- `exp_sum_empty` +- `exp_th_quoted_name` +- `exp_tuple` +- `exp_type_application` +- `exp_unboxed_sum` +- `exp_unboxed_tuple` +- `expent` +- `export` +- `export_names` +- `exports` +- `field` +- `fixity` +- `float` +- `forall` +- `foreign_export` +- `foreign_import` +- `fun` +- `function` +- `fundep` +- `fundeps` +- `gadt_constructor` +- `gdpat` +- `guard` +- `guard_equation` +- `guards` +- `haskell` +- `head` +- `impent` +- `implicit_param` +- `implicit_parid` +- `import` +- `import_con_names` +- `import_item` +- `import_list` +- `import_package` +- `infix` +- `inst_datainst` +- `inst_tyinst` +- `instance` +- `instance_head` +- `integer` +- `label` +- `let` +- `modifier` +- `module` +- `namespace` +- `newtype` +- `newtype_constructor` +- `operator` +- `pat_apply` +- `pat_as` +- `pat_field` +- `pat_fields` +- `pat_infix` +- `pat_irrefutable` +- `pat_list` +- `pat_literal` +- `pat_name` +- `pat_negation` +- `pat_parens` +- `pat_record` +- `pat_strict` +- `pat_tuple` +- `pat_typed` +- `pat_unboxed_tuple` +- `pat_view` +- `pat_wildcard` +- `pattern` +- `pattern_guard` +- `pattern_synonym` +- `patterns` +- `pragma` +- `promoted` +- `qual` +- `qualified_constructor` +- `qualified_constructor_operator` +- `qualified_module` +- `qualified_operator` +- `qualified_type` +- `qualified_type_operator` +- `qualified_variable` +- `quantifiers` +- `quasiquote` +- `quasiquote_bar` +- `quasiquote_body` +- `quasiquote_start` +- `quoter` +- `rec` +- `record_fields` +- `role_annotation` +- `safety` +- `signature` +- `splice` +- `stmt` +- `strict_type` +- `string` +- `ticked` +- `top_splice` +- `transform` +- `tycon_arrow` +- `type` +- `type_alias` +- `type_apply` +- `type_family` +- `type_infix` +- `type_instance` +- `type_list` +- `type_literal` +- `type_name` +- `type_operator` +- `type_parens` +- `type_role` +- `type_star` +- `type_tuple` +- `type_unboxed_sum` +- `type_unboxed_tuple` +- `type_variable` +- `variable` +- `varop` +- `via` +- `where` +- `wildcard` diff --git a/queries/haskell.scm b/queries/haskell.scm new file mode 100644 index 0000000000..e69de29bb2 diff --git a/queries/haskell.scm.disabled b/queries/haskell.scm.disabled new file mode 100644 index 0000000000..8794a00177 --- /dev/null +++ b/queries/haskell.scm.disabled @@ -0,0 +1,28 @@ +;; ;; import haskell/haskell.branch.scm +;; ;; import haskell/haskell.functionApplication.scm +;; ;; import haskell/haskell.functionDeclaration.scm + +;; Short declarations are below. + +;; anonymousFunction +(exp_lambda) @anonymousFunction +(exp_lambda_case) @anonymousFunction + +;; list +(exp_list) @list +(exp_list_comprehension) @list +(exp_tuple) @list +(exp_unboxed_tuple) @list +(pat_list) @list +(pat_tuple) @list +(pat_unboxed_tuple) @list +(type_tuple) @list +(type_unboxed_tuple) @list + +;; map +(exp_record) @map +(pat_record) @map + +;; string +(string) @string +(char) @string