From dada878305a3d72bd69e2b79926ab9fdc0f1f541 Mon Sep 17 00:00:00 2001 From: Pokey Rule <755842+pokey@users.noreply.github.com> Date: Tue, 13 Jun 2023 09:16:03 -0400 Subject: [PATCH 1/7] Fix `"instance first three chars"` (#1520) The problem was that constructing a character range inadvertently resulted in a target with `isToken = true`, because when we clone the anchor target to create the new range target, we forgot to include the `isToken = false`. ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet --- .../src/processTargets/targets/PlainTarget.ts | 7 +++- .../clearTwoInstancesFirstThreeCarsAir.yml | 37 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/modifiers/instance/clearTwoInstancesFirstThreeCarsAir.yml diff --git a/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts b/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts index 492f97b1ac5..4f4841db078 100644 --- a/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts +++ b/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts @@ -20,5 +20,10 @@ export default class PlainTarget extends BaseTarget { getTrailingDelimiterTarget = () => undefined; getRemovalRange = () => this.contentRange; - protected getCloneParameters = () => this.state; + protected getCloneParameters() { + return { + ...this.state, + isToken: this.isToken, + }; + } } diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/modifiers/instance/clearTwoInstancesFirstThreeCarsAir.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/modifiers/instance/clearTwoInstancesFirstThreeCarsAir.yml new file mode 100644 index 00000000000..be70aeac535 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/modifiers/instance/clearTwoInstancesFirstThreeCarsAir.yml @@ -0,0 +1,37 @@ +languageId: plaintext +command: + version: 5 + spokenForm: clear two instances first three cars air + action: {name: clearAndSetSelection} + targets: + - type: primitive + modifiers: + - type: relativeScope + scopeType: {type: instance} + offset: 0 + length: 2 + direction: forward + - type: ordinalScope + scopeType: {type: character} + start: 0 + length: 3 + mark: {type: decoratedSymbol, symbolColor: default, character: a} + usePrePhraseSnapshot: true +initialState: + documentContents: | + aaabbb aaaccc + selections: + - anchor: {line: 1, character: 0} + active: {line: 1, character: 0} + marks: + default.a: + start: {line: 0, character: 0} + end: {line: 0, character: 6} +finalState: + documentContents: | + bbb ccc + selections: + - anchor: {line: 0, character: 0} + active: {line: 0, character: 0} + - anchor: {line: 0, character: 4} + active: {line: 0, character: 4} From 441a8e9d572aa669f045172dbfab2dd42b19f814 Mon Sep 17 00:00:00 2001 From: Pokey Rule <755842+pokey@users.noreply.github.com> Date: Tue, 13 Jun 2023 09:41:01 -0400 Subject: [PATCH 2/7] Fix `"forward"` in cheatsheet (#1525) This is how `"backward"` looks: image But `"forward"` didn't have the same special treatment: image This PR makes it look as follows: image I also updated the cheatsheet json that we use to generate the [generic cheatsheet](https://www.cursorless.org/cheatsheet) while I was here ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [x] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [x] I have not broken the cheatsheet --- .../src/cheatsheet/sections/modifiers.py | 5 ++ .../lib/sampleSpokenFormInfos/defaults.json | 58 +++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/cursorless-talon/src/cheatsheet/sections/modifiers.py b/cursorless-talon/src/cheatsheet/sections/modifiers.py index cb7251761ba..24cbc02dac9 100644 --- a/cursorless-talon/src/cheatsheet/sections/modifiers.py +++ b/cursorless-talon/src/cheatsheet/sections/modifiers.py @@ -26,6 +26,7 @@ def get_modifiers(): "previous", "next", "backward", + "forward", ] simple_modifiers = { key: value @@ -125,6 +126,10 @@ def get_modifiers(): "spokenForm": f" {complex_modifiers['backward']}", "description": "single instance of including target, going backwards", }, + { + "spokenForm": f" {complex_modifiers['forward']}", + "description": "single instance of including target, going forwards", + }, { "spokenForm": f" s {complex_modifiers['backward']}", "description": " instances of including target, going backwards", diff --git a/packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json b/packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json index 31efed2fb23..79f12a23519 100644 --- a/packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json +++ b/packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json @@ -708,6 +708,16 @@ } ] }, + { + "id": "inferPreviousMark", + "type": "modifier", + "variations": [ + { + "spokenForm": "its", + "description": "Infer previous mark" + } + ] + }, { "id": "interiorOnly", "type": "modifier", @@ -794,6 +804,14 @@ "spokenForm": "previous s", "description": "previous instances of " }, + { + "spokenForm": " backward", + "description": "single instance of including target, going backwards" + }, + { + "spokenForm": " forward", + "description": "single instance of including target, going forwards" + }, { "spokenForm": " s backward", "description": " instances of including target, going backwards" @@ -1056,6 +1074,16 @@ } ] }, + { + "id": "branch", + "type": "scopeType", + "variations": [ + { + "spokenForm": "branch", + "description": "Branch" + } + ] + }, { "id": "chapter", "type": "scopeType", @@ -1186,6 +1214,16 @@ } ] }, + { + "id": "identifier", + "type": "scopeType", + "variations": [ + { + "spokenForm": "identifier", + "description": "Identifier" + } + ] + }, { "id": "ifStatement", "type": "scopeType", @@ -1196,6 +1234,16 @@ } ] }, + { + "id": "instance", + "type": "scopeType", + "variations": [ + { + "spokenForm": "instance", + "description": "Instance" + } + ] + }, { "id": "line", "type": "scopeType", @@ -1386,6 +1434,16 @@ } ] }, + { + "id": "unit", + "type": "scopeType", + "variations": [ + { + "spokenForm": "unit", + "description": "Unit" + } + ] + }, { "id": "url", "type": "scopeType", From 7ebc4e255e568af3b939b5ff177ba634b5a50fb6 Mon Sep 17 00:00:00 2001 From: Pokey Rule <755842+pokey@users.noreply.github.com> Date: Tue, 13 Jun 2023 09:51:48 -0400 Subject: [PATCH 3/7] Fix snippet insertion indentation (#1528) - Fixes #1527 ## Checklist - [x] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [x] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [x] I have not broken the cheatsheet --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../processTargets/targets/PositionTarget.ts | 9 +++++- .../elseBranch.cursorless-snippets | 22 +++++++++++++ .../recorded/positions/snipElseAfterThis.yml | 31 +++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/cursorless-snippets/elseBranch.cursorless-snippets create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/positions/snipElseAfterThis.yml diff --git a/packages/cursorless-engine/src/processTargets/targets/PositionTarget.ts b/packages/cursorless-engine/src/processTargets/targets/PositionTarget.ts index a0180b078ed..c25e91be73f 100644 --- a/packages/cursorless-engine/src/processTargets/targets/PositionTarget.ts +++ b/packages/cursorless-engine/src/processTargets/targets/PositionTarget.ts @@ -44,8 +44,15 @@ export default class PositionTarget extends BaseTarget { if ( this.insertionDelimiter === "\n" && this.position === "after" && - this.thatTarget.contentRange.isSingleLine + this.state.thatTarget!.contentRange.isSingleLine ) { + // If the target that we're wrapping is not a single line, then we + // want to compute indentation based on the entire target. Otherwise, + // we allow the editor to determine how to perform indentation. + // Note that we use `this.state.thatTarget` rather than `this.thatTarget` + // because we don't really want the transitive `thatTarget` behaviour, as + // it's not really the "that" target that we're after; it's the target that + // we're wrapping. Should rework this stuff as part of #803. return "insertLineAfter"; } diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/cursorless-snippets/elseBranch.cursorless-snippets b/packages/cursorless-vscode-e2e/src/suite/fixtures/cursorless-snippets/elseBranch.cursorless-snippets new file mode 100644 index 00000000000..e5e0e3c56dd --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/cursorless-snippets/elseBranch.cursorless-snippets @@ -0,0 +1,22 @@ +{ + "elseStatement": { + "definitions": [ + { + "scope": { + "langIds": [ + "python" + ] + }, + "body": [ + "else:", + "\t$body" + ] + } + ], + "description": "Else branch", + "variables": { + "body": {} + }, + "insertionScopeTypes": ["branch"] + } +} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/positions/snipElseAfterThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/positions/snipElseAfterThis.yml new file mode 100644 index 00000000000..755a0a533e3 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/positions/snipElseAfterThis.yml @@ -0,0 +1,31 @@ +languageId: python +command: + version: 5 + spokenForm: snip else after this + action: + name: insertSnippet + args: + - {type: named, name: elseStatement} + targets: + - type: primitive + mark: {type: cursor} + modifiers: + - {type: position, position: after} + usePrePhraseSnapshot: true +initialState: + documentContents: | + if True: + aaa = "bbb" + selections: + - anchor: {line: 1, character: 7} + active: {line: 1, character: 7} + marks: {} +finalState: + documentContents: | + if True: + aaa = "bbb" + else: + + selections: + - anchor: {line: 3, character: 4} + active: {line: 3, character: 4} From 2c220ecbf5d6aac09086d0b5076c13d423681791 Mon Sep 17 00:00:00 2001 From: David Vo Date: Thu, 15 Jun 2023 21:06:42 +1000 Subject: [PATCH 4/7] Bump engine/VSCode TypeScript target to ES2020 (#1399) Our legacy tests currently run against VSCode 1.66.0: https://github.com/cursorless-dev/cursorless/blob/68ba545520829a21e26d70437c650fb615d73344/packages/test-harness/src/util/launchVscodeAndRunTests.ts#L37 However, we pull in types for VSCode 1.61: https://github.com/cursorless-dev/cursorless/blob/68ba545520829a21e26d70437c650fb615d73344/packages/cursorless-vscode-core/package.json#L31 and the extension also declares support for the same version: https://github.com/cursorless-dev/cursorless/blob/68ba545520829a21e26d70437c650fb615d73344/packages/cursorless-vscode/package.json#L32 so 1.61 shall be our lowest common denominator. VSCode 1.61.0 uses Electron 13: https://github.com/microsoft/vscode/blob/1.61.0/package.json#L134 Per [Electron's docs](https://www.electronjs.org/docs/latest/tutorial/electron-timelines), Electron 13 included Chromium 91 and Node.js v14.16. Per the trusty [ECMAScript compatibility table](https://kangax.github.io/compat-table/es2016plus/) and [Stack Overflow](https://stackoverflow.com/questions/61305578/what-typescript-configuration-produces-output-closest-to-node-js-14-capabilities), Node 14 fully supports ES2020. This bumps the TypeScript target to ES2020 to reduce bundle sizes. ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet --- packages/cursorless-engine/tsconfig.json | 1 + packages/cursorless-vscode/tsconfig.json | 1 + packages/vscode-common/tsconfig.json | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/cursorless-engine/tsconfig.json b/packages/cursorless-engine/tsconfig.json index 96107efcd71..31f84660d60 100644 --- a/packages/cursorless-engine/tsconfig.json +++ b/packages/cursorless-engine/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { + "target": "es2020", "outDir": "out", "rootDir": "src" }, diff --git a/packages/cursorless-vscode/tsconfig.json b/packages/cursorless-vscode/tsconfig.json index d465f6efe7d..7564228e282 100644 --- a/packages/cursorless-vscode/tsconfig.json +++ b/packages/cursorless-vscode/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { + "target": "es2020", "outDir": "out", "rootDir": "src" }, diff --git a/packages/vscode-common/tsconfig.json b/packages/vscode-common/tsconfig.json index 96107efcd71..31f84660d60 100644 --- a/packages/vscode-common/tsconfig.json +++ b/packages/vscode-common/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { + "target": "es2020", "outDir": "out", "rootDir": "src" }, From 4b1e0ce46f0194821e614e24ac4bc82956d48538 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Thu, 15 Jun 2023 13:14:25 +0200 Subject: [PATCH 5/7] Make range explicit for stored targets (#1529) Fixes #1418 ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet --- .../core/commandRunner/selectionToStoredTarget.ts | 2 +- .../suite/fixtures/recorded/actions/cloneArgue.yml | 4 ++-- .../suite/fixtures/recorded/actions/cloneToken.yml | 4 ++-- .../suite/fixtures/recorded/actions/cloneToken2.yml | 4 ++-- .../suite/fixtures/recorded/actions/cloneUpArgue.yml | 4 ++-- .../suite/fixtures/recorded/actions/cloneUpToken.yml | 4 ++-- .../fixtures/recorded/actions/cloneUpToken2.yml | 4 ++-- .../suite/fixtures/recorded/actions/drinkThis.yml | 2 +- .../recorded/actions/insertEmptyLines/dropThis.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis10.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis11.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis12.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis2.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis3.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis4.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis5.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis6.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis7.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis8.yml | 6 +++--- .../recorded/actions/insertEmptyLines/dropThis9.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis.yml | 6 +++--- .../actions/insertEmptyLines/floatThis10.yml | 6 +++--- .../actions/insertEmptyLines/floatThis11.yml | 6 +++--- .../actions/insertEmptyLines/floatThis12.yml | 6 +++--- .../actions/insertEmptyLines/floatThis13.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis2.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis3.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis4.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis5.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis6.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis7.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis8.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatThis9.yml | 6 +++--- .../recorded/actions/insertEmptyLines/floatVest.yml | 4 ++-- .../recorded/actions/insertEmptyLines/floatVest2.yml | 4 ++-- .../recorded/actions/insertEmptyLines/puffThis.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis10.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis11.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis12.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis13.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis14.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis15.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis16.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis17.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis18.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis19.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis2.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis20.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis21.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis22.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis3.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis4.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis5.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis6.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis7.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis8.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffThis9.yml | 10 +++++----- .../recorded/actions/insertEmptyLines/puffVest.yml | 8 ++++---- .../recorded/actions/insertEmptyLines/puffVest2.yml | 8 ++++---- .../fixtures/recorded/actions/moveEveryArgMade.yml | 2 +- .../src/suite/fixtures/recorded/actions/moveVest.yml | 2 +- .../fixtures/recorded/actions/moveVestToCap.yml | 2 +- .../fixtures/recorded/actions/pasteAfterArgueBat.yml | 4 ++-- ...terLineSpunAndAfterBlockLookAndBeforeLineSpun.yml | 12 ++++++------ .../fixtures/recorded/actions/pasteAfterState.yml | 4 ++-- .../recorded/actions/pasteBeforeArgueZip.yml | 4 ++-- .../fixtures/recorded/actions/pasteBeforeState.yml | 4 ++-- .../src/suite/fixtures/recorded/actions/pourThis.yml | 2 +- .../fixtures/recorded/actions/roundWrapThis.yml | 2 +- .../fixtures/recorded/actions/squareRepackThis.yml | 2 +- .../suite/fixtures/recorded/actions/swapWithVest.yml | 2 +- .../fixtures/recorded/decorations/chuckBlockAir.yml | 4 ++-- .../recorded/decorations/chuckBlockAirUntilBatt.yml | 4 ++-- .../fixtures/recorded/decorations/chuckBlockBatt.yml | 4 ++-- .../recorded/decorations/chuckBlockBatt2.yml | 4 ++-- .../recorded/decorations/chuckBlockBattUntilAir.yml | 4 ++-- .../fixtures/recorded/decorations/chuckFine.yml | 4 ++-- .../fixtures/recorded/decorations/chuckLineFine.yml | 4 ++-- .../decorations/chuckLineFineBetweenRisk.yml | 4 ++-- .../fixtures/recorded/decorations/clearBlockFine.yml | 4 ++-- .../fixtures/recorded/decorations/clearFine.yml | 4 ++-- .../fixtures/recorded/decorations/clearLineFine.yml | 4 ++-- .../suite/fixtures/recorded/decorations/cutFine.yml | 8 ++++---- .../fixtures/recorded/decorations/moveLineAir.yml | 12 ++++++------ 84 files changed, 264 insertions(+), 264 deletions(-) diff --git a/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts b/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts index 5b4cb929a82..12305046959 100644 --- a/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts +++ b/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts @@ -14,5 +14,5 @@ export const selectionToStoredTarget = (selection: SelectionWithEditor) => editor: selection.editor, isReversed: selection.selection.isReversed, contentRange: selection.selection, - hasExplicitRange: !selection.selection.isEmpty, + hasExplicitRange: true, }); diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneArgue.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneArgue.yml index afe4be00c92..7a16ba6768f 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneArgue.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneArgue.yml @@ -46,9 +46,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 26} end: {line: 0, character: 37} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: argumentOrParameter}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken.yml index 7c9d8911eeb..cc55033a2d9 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken.yml @@ -36,9 +36,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 12} end: {line: 0, character: 17} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: token}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken2.yml index 9329141cb41..81374d3d844 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneToken2.yml @@ -36,9 +36,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 6} end: {line: 0, character: 11} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: token}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpArgue.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpArgue.yml index eee8dd348e4..890b115fb47 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpArgue.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpArgue.yml @@ -46,9 +46,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 13} end: {line: 0, character: 24} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: argumentOrParameter}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken.yml index df248e74ae3..43c0387ccdf 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken.yml @@ -36,9 +36,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 6} end: {line: 0, character: 11} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: token}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken2.yml index 31179189436..cd190e8e4b1 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/cloneUpToken2.yml @@ -36,9 +36,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 0} end: {line: 0, character: 5} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: containingScope, scopeType: {type: token}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/drinkThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/drinkThis.yml index 0ce5c1d4bbb..23c0b71d6bc 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/drinkThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/drinkThis.yml @@ -30,5 +30,5 @@ finalState: start: {line: 1, character: 2} end: {line: 1, character: 2} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis.yml index bc69d4ebee1..fbc2cef87c7 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis.yml @@ -25,9 +25,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis10.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis10.yml index 20a22e6398c..b86465fd9a4 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis10.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis10.yml @@ -29,9 +29,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis11.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis11.yml index 22dd0853529..5c15cd938da 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis11.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis11.yml @@ -29,9 +29,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis12.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis12.yml index 30274f4f2f2..f14de040e94 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis12.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis12.yml @@ -29,9 +29,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis2.yml index 18884ab4869..c24e14c690d 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis2.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 5} end: {line: 1, character: 5} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis3.yml index d55e6694e2f..8641e5a5b41 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis3.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis4.yml index eaeeba0c973..df8480aed00 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis4.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis4.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 4} end: {line: 1, character: 4} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis5.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis5.yml index c6128aaba8d..5069804635c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis5.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis5.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis6.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis6.yml index e164c08dc42..f5d80ead862 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis6.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis6.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 9} end: {line: 1, character: 9} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis7.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis7.yml index 94c128650b1..9ea3e26f5c1 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis7.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis7.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 4} end: {line: 1, character: 4} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis8.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis8.yml index 5b14db3d6d5..04c79098cf9 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis8.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis8.yml @@ -26,9 +26,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis9.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis9.yml index 6931240d0eb..6cd44dc17f3 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis9.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/dropThis9.yml @@ -29,9 +29,9 @@ finalState: start: {line: 2, character: 5} end: {line: 2, character: 5} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis.yml index 0c7dcef5026..cd4ff0d4981 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis.yml @@ -25,9 +25,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis10.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis10.yml index 1e8fffc607c..f9146213fc2 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis10.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis10.yml @@ -28,9 +28,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis11.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis11.yml index 2f533a27855..36c0510b56c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis11.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis11.yml @@ -27,9 +27,9 @@ finalState: start: {line: 0, character: 5} end: {line: 0, character: 5} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis12.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis12.yml index a75fa064064..6989c5a33b6 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis12.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis12.yml @@ -27,9 +27,9 @@ finalState: start: {line: 0, character: 4} end: {line: 0, character: 4} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis13.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis13.yml index 429f4fe6294..7028992bcd5 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis13.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis13.yml @@ -27,9 +27,9 @@ finalState: start: {line: 0, character: 9} end: {line: 0, character: 9} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis2.yml index 7ff44871eef..ad5d1e2513e 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis2.yml @@ -25,9 +25,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis3.yml index 5669aab6cb6..ac6fd90e7ed 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis3.yml @@ -25,9 +25,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis4.yml index fb4e6bdd3b3..f45177a6f9e 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis4.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis4.yml @@ -25,9 +25,9 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis5.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis5.yml index 153520cd722..11b8911a5bd 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis5.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis5.yml @@ -28,9 +28,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis6.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis6.yml index e8d52e468a0..e84d30883b4 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis6.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis6.yml @@ -28,9 +28,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis7.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis7.yml index 58fd85e21b5..0ce1dcbd72c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis7.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis7.yml @@ -27,9 +27,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis8.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis8.yml index f4a520ea375..ad4d56cef03 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis8.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis8.yml @@ -27,9 +27,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis9.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis9.yml index 347aac6d469..97e5e483ffe 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis9.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatThis9.yml @@ -28,9 +28,9 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest.yml index 0234ed73a31..005a1941828 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest.yml @@ -34,6 +34,6 @@ finalState: hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: inside}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest2.yml index 0c7a4bf9dc9..27645aa9040 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/floatVest2.yml @@ -35,6 +35,6 @@ finalState: hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis.yml index 06243cd6fad..8918ed94aa3 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis.yml @@ -26,11 +26,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis10.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis10.yml index 9dbf53ac75a..1410b42015e 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis10.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis10.yml @@ -29,11 +29,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis11.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis11.yml index e317c9cf93c..c1684c932c0 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis11.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis11.yml @@ -29,11 +29,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis12.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis12.yml index e54df3d423f..abd4682dd48 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis12.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis12.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 5} end: {line: 1, character: 5} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis13.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis13.yml index 945a14a2642..de66f24aa9a 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis13.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis13.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis14.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis14.yml index c0338cd0477..0b7eae1aab2 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis14.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis14.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis15.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis15.yml index f48eb1a4312..0cccb03c150 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis15.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis15.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 9} end: {line: 1, character: 9} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis16.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis16.yml index a576bdab1da..757194687ec 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis16.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis16.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 4} end: {line: 1, character: 4} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis17.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis17.yml index 36cce63abea..360ac0705a7 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis17.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis17.yml @@ -28,11 +28,11 @@ finalState: start: {line: 1, character: 0} end: {line: 1, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis18.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis18.yml index 673a8e8d55d..241baf7b3ec 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis18.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis18.yml @@ -30,11 +30,11 @@ finalState: start: {line: 2, character: 5} end: {line: 2, character: 5} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis19.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis19.yml index 0832985c7a9..eca7d21f368 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis19.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis19.yml @@ -30,11 +30,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis2.yml index 4ba44ce4d0a..0fc0a92218f 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis2.yml @@ -26,11 +26,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis20.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis20.yml index b5e72bd8264..d8362e6ed04 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis20.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis20.yml @@ -32,11 +32,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis21.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis21.yml index 17971435d14..ea042228853 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis21.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis21.yml @@ -32,11 +32,11 @@ finalState: start: {line: 2, character: 3} end: {line: 2, character: 3} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis22.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis22.yml index 8768c22bd61..765cb10d744 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis22.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis22.yml @@ -32,11 +32,11 @@ finalState: start: {line: 2, character: 7} end: {line: 2, character: 7} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis3.yml index d79bd75a20b..2b0b85ebc62 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis3.yml @@ -26,11 +26,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis4.yml index 80506b47782..a6bca1643c6 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis4.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis4.yml @@ -26,11 +26,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 0, end: 0} - style: justAdded - - range: {type: line, start: 1, end: 1} - style: justAdded + - style: justAdded + range: {type: line, start: 0, end: 0} + - style: justAdded + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis5.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis5.yml index cdb63adee4f..f3077688911 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis5.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis5.yml @@ -29,11 +29,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis6.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis6.yml index 04342158515..9011f81a643 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis6.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis6.yml @@ -29,11 +29,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis7.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis7.yml index 656a3c52ce7..aa2b54249ba 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis7.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis7.yml @@ -29,11 +29,11 @@ finalState: start: {line: 2, character: 0} end: {line: 2, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis8.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis8.yml index 0bce7861b2c..d6dc8b8d923 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis8.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis8.yml @@ -28,11 +28,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis9.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis9.yml index 1e676892c70..a96e36991a5 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis9.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffThis9.yml @@ -28,11 +28,11 @@ finalState: start: {line: 3, character: 0} end: {line: 3, character: 0} isReversed: false - hasExplicitRange: false + hasExplicitRange: true ide: flashes: - - range: {type: line, start: 2, end: 2} - style: justAdded - - range: {type: line, start: 2, end: 2} - style: justAdded + - style: justAdded + range: {type: line, start: 2, end: 2} + - style: justAdded + range: {type: line, start: 2, end: 2} fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest.yml index e036ef3291f..e4065e4fb33 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest.yml @@ -35,8 +35,8 @@ finalState: hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: inside}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest2.yml index e98a68202e7..9f798cb94aa 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/insertEmptyLines/puffVest2.yml @@ -36,8 +36,8 @@ finalState: hasExplicitRange: true ide: flashes: - - range: {type: line, start: 1, end: 1} - style: justAdded - - range: {type: line, start: 3, end: 3} - style: justAdded + - style: justAdded + range: {type: line, start: 1, end: 1} + - style: justAdded + range: {type: line, start: 3, end: 3} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveEveryArgMade.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveEveryArgMade.yml index 6b0da1aa6d5..8efe152d31b 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveEveryArgMade.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveEveryArgMade.yml @@ -38,5 +38,5 @@ finalState: start: {line: 0, character: 16} end: {line: 0, character: 16} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: m}, selectionType: token, position: contents, insideOutsideType: null, modifier: {type: containingScope, scopeType: argumentOrParameter, includeSiblings: true}, isImplicit: false}, {type: primitive, mark: {type: cursor}, selectionType: token, position: contents, insideOutsideType: null, modifier: {type: identity}, isImplicit: true}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVest.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVest.yml index 116f2c5053c..628810bd50f 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVest.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVest.yml @@ -38,5 +38,5 @@ finalState: start: {line: 1, character: 6} end: {line: 1, character: 6} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: null}, {type: primitive, mark: {type: cursor}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: inside}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVestToCap.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVestToCap.yml index 849c54e5355..ce001f8b6c5 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVestToCap.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/moveVestToCap.yml @@ -42,5 +42,5 @@ finalState: start: {line: 1, character: 6} end: {line: 1, character: 6} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: v}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: null}, {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: c}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: null}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterArgueBat.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterArgueBat.yml index 04d52e7e387..f546d2150f9 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterArgueBat.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterArgueBat.yml @@ -35,9 +35,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 21} end: {line: 0, character: 24} - style: justAdded fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: b}, modifiers: [{type: position, position: after}, {type: containingScope, scopeType: {type: argumentOrParameter}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterLineSpunAndAfterBlockLookAndBeforeLineSpun.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterLineSpunAndAfterBlockLookAndBeforeLineSpun.yml index 8842f2aa130..7410bfd0efc 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterLineSpunAndAfterBlockLookAndBeforeLineSpun.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterLineSpunAndAfterBlockLookAndBeforeLineSpun.yml @@ -80,19 +80,19 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 2, character: 0} end: {line: 2, character: 3} - style: justAdded - - range: + - style: justAdded + range: type: character start: {line: 7, character: 0} end: {line: 7, character: 3} - style: justAdded - - range: + - style: justAdded + range: type: character start: {line: 0, character: 0} end: {line: 0, character: 3} - style: justAdded fullTargets: [{type: list, elements: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: s}, modifiers: [{type: position, position: after}, {type: containingScope, scopeType: {type: line}}]}, {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: l}, modifiers: [{type: position, position: after}, {type: containingScope, scopeType: {type: paragraph}}]}, {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: s}, modifiers: [{type: position, position: before}, {type: containingScope, scopeType: {type: line}}]}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterState.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterState.yml index 458967065f6..cff40113589 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterState.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteAfterState.yml @@ -37,9 +37,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 1, character: 0} end: {line: 1, character: 25} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: position, position: after}, {type: containingScope, scopeType: {type: statement}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeArgueZip.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeArgueZip.yml index 8464148afe1..8657d7f0238 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeArgueZip.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeArgueZip.yml @@ -35,9 +35,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 9} end: {line: 0, character: 12} - style: justAdded fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: z}, modifiers: [{type: position, position: before}, {type: containingScope, scopeType: {type: argumentOrParameter}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeState.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeState.yml index 7dce20307b2..b3f46972728 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeState.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pasteBeforeState.yml @@ -37,9 +37,9 @@ finalState: hasExplicitRange: true ide: flashes: - - range: + - style: justAdded + range: type: character start: {line: 0, character: 0} end: {line: 0, character: 25} - style: justAdded fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: [{type: position, position: before}, {type: containingScope, scopeType: {type: statement}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pourThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pourThis.yml index 97a52d74da7..4fb0cc79646 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pourThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/pourThis.yml @@ -29,5 +29,5 @@ finalState: start: {line: 0, character: 2} end: {line: 0, character: 2} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: cursor}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/roundWrapThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/roundWrapThis.yml index fecb55a77fd..7b3b4e4effc 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/roundWrapThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/roundWrapThis.yml @@ -35,5 +35,5 @@ finalState: start: {line: 0, character: 1} end: {line: 0, character: 1} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: cursor}, selectionType: token, position: contents, modifier: {type: identity}, insideOutsideType: inside}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/squareRepackThis.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/squareRepackThis.yml index 63c74e7612e..67c14c30ead 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/squareRepackThis.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/squareRepackThis.yml @@ -31,5 +31,5 @@ finalState: start: {line: 0, character: 4} end: {line: 0, character: 4} isReversed: false - hasExplicitRange: false + hasExplicitRange: true fullTargets: [{type: primitive, mark: {type: cursor}, selectionType: token, position: contents, insideOutsideType: inside, modifier: {type: surroundingPair, delimiter: any}}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/swapWithVest.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/swapWithVest.yml index 738344f055c..86c59b8f285 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/swapWithVest.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/actions/swapWithVest.yml @@ -31,7 +31,7 @@ finalState: start: {line: 1, character: 6} end: {line: 1, character: 6} isReversed: false - hasExplicitRange: false + hasExplicitRange: true - type: UntypedTarget contentRange: start: {line: 0, character: 0} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAir.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAir.yml index 7a5f663073a..83e31d8a855 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAir.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAir.yml @@ -38,6 +38,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 1, end: 4} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 1, end: 4} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: a}, modifiers: [{type: containingScope, scopeType: {type: paragraph}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAirUntilBatt.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAirUntilBatt.yml index 0cfd2edb1d8..a092483cc2c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAirUntilBatt.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockAirUntilBatt.yml @@ -47,6 +47,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 0, end: 4} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 0, end: 4} fullTargets: [{type: range, excludeAnchor: false, excludeActive: true, rangeType: continuous, anchor: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: a}, modifiers: &ref_0 [{type: containingScope, scopeType: {type: paragraph}}]}, active: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: b}, modifiers: *ref_0}}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt.yml index 15c0a0ba1a5..62081b0984c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt.yml @@ -38,6 +38,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 5, end: 8} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 5, end: 8} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: b}, modifiers: [{type: containingScope, scopeType: {type: paragraph}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt2.yml index 6546f096a3b..f96bfa0317c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBatt2.yml @@ -30,6 +30,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 0, end: 3} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 0, end: 3} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: b}, modifiers: [{type: containingScope, scopeType: {type: paragraph}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBattUntilAir.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBattUntilAir.yml index fdd84bd37b6..79dae8abec5 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBattUntilAir.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckBlockBattUntilAir.yml @@ -47,6 +47,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 3, end: 8} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 3, end: 8} fullTargets: [{type: range, excludeAnchor: false, excludeActive: true, rangeType: continuous, anchor: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: b}, modifiers: &ref_0 [{type: containingScope, scopeType: {type: paragraph}}]}, active: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: a}, modifiers: *ref_0}}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckFine.yml index e793bff746c..04143720482 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckFine.yml @@ -29,9 +29,9 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: + - style: pendingDelete + range: type: character start: {line: 1, character: 4} end: {line: 1, character: 8} - style: pendingDelete fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFine.yml index b69ac53055b..de59fedc3d6 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFine.yml @@ -31,6 +31,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 1, end: 1} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 1, end: 1} fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: [{type: containingScope, scopeType: {type: line}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFineBetweenRisk.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFineBetweenRisk.yml index 140f8b1b19e..0f0b7184b32 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFineBetweenRisk.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/chuckLineFineBetweenRisk.yml @@ -44,6 +44,6 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: {type: line, start: 2, end: 3} - style: pendingDelete + - style: pendingDelete + range: {type: line, start: 2, end: 3} fullTargets: [{type: range, excludeAnchor: true, excludeActive: true, rangeType: continuous, anchor: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: &ref_0 [{type: containingScope, scopeType: {type: line}}]}, active: {type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: r}, modifiers: *ref_0}}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearBlockFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearBlockFine.yml index 50885e1ac19..93ec5bb45e0 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearBlockFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearBlockFine.yml @@ -31,9 +31,9 @@ finalState: active: {line: 1, character: 4} ide: flashes: - - range: + - style: pendingDelete + range: type: character start: {line: 1, character: 4} end: {line: 2, character: 7} - style: pendingDelete fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: [{type: containingScope, scopeType: {type: paragraph}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearFine.yml index a575accb8ff..7d4a80367c8 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearFine.yml @@ -29,9 +29,9 @@ finalState: active: {line: 1, character: 4} ide: flashes: - - range: + - style: pendingDelete + range: type: character start: {line: 1, character: 4} end: {line: 1, character: 7} - style: pendingDelete fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearLineFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearLineFine.yml index 389cbe3cb84..9dfe7e0e9a3 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearLineFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/clearLineFine.yml @@ -32,9 +32,9 @@ finalState: active: {line: 1, character: 4} ide: flashes: - - range: + - style: pendingDelete + range: type: character start: {line: 1, character: 4} end: {line: 1, character: 11} - style: pendingDelete fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: [{type: containingScope, scopeType: {type: line}}]}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/cutFine.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/cutFine.yml index d2296083519..3c0ce83d9e8 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/cutFine.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/cutFine.yml @@ -27,14 +27,14 @@ finalState: active: {line: 0, character: 0} ide: flashes: - - range: + - style: referenced + range: type: character start: {line: 1, character: 4} end: {line: 1, character: 7} - style: referenced - - range: + - style: pendingDelete + range: type: character start: {line: 1, character: 7} end: {line: 1, character: 8} - style: pendingDelete fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: f}, modifiers: []}] diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/moveLineAir.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/moveLineAir.yml index 2411109fef6..4a5ebc54ad5 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/moveLineAir.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/decorations/moveLineAir.yml @@ -33,16 +33,16 @@ finalState: active: {line: 2, character: 5} ide: flashes: - - range: {type: line, start: 0, end: 0} - style: pendingDelete - - range: + - style: pendingDelete + range: {type: line, start: 0, end: 0} + - style: pendingModification0 + range: type: character start: {line: 3, character: 0} end: {line: 3, character: 0} - style: pendingModification0 - - range: + - style: pendingModification0 + range: type: character start: {line: 2, character: 0} end: {line: 2, character: 5} - style: pendingModification0 fullTargets: [{type: primitive, mark: {type: decoratedSymbol, symbolColor: default, character: a}, modifiers: [{type: containingScope, scopeType: {type: line}}]}, {type: primitive, mark: {type: cursor}, modifiers: [{type: toRawSelection}]}] From 4cf0c6657865db4e3e9190d1412752555db220d5 Mon Sep 17 00:00:00 2001 From: Pokey Rule <755842+pokey@users.noreply.github.com> Date: Thu, 15 Jun 2023 07:32:55 -0400 Subject: [PATCH 6/7] Check for CRLF line endings in CI (#1348) ## The problem We currently don't have any checks to ensure that we don't use CRLF line endings, which could result in hard-to-detect issues in our files, as the difference between LF and CRLF isn't always visible ## The solution In this PR, we now check that all files that are not binary do not contain CRLF line endings. This PR does the following: - Adds a `pre-commit` rule to ensure that files that text files don't have CRLF - Fixes all files in our repo that had CRLF line endings; looks like we had only missed one file - Removes an old Rope database file that was floating around in our repo for some reason. Seemed better to remove it than add a rule for it to our new `.gitattributes` - Throws an exception in test case recorder when developer tries to record a test with line endings as CRLF ## References - https://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/ - https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings - https://git-scm.com/docs/gitattributes ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet - [x] Make sure we're checking line endings for files in CI --- .pre-commit-config.yaml | 4 + .../.vscode/.ropeproject/config.py | 123 ------------------ .../.vscode/.ropeproject/objectdb | Bin 6 -> 0 bytes data/playground/xml.xml | 6 +- .../src/testCaseRecorder/TestCaseRecorder.ts | 7 + 5 files changed, 14 insertions(+), 126 deletions(-) delete mode 100644 cursorless-talon/.vscode/.ropeproject/config.py delete mode 100644 cursorless-talon/.vscode/.ropeproject/objectdb diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d3e1a45bd51..42431c57be0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,10 @@ repos: entry: Forbid symlinks language: fail types: [symlink] + - repo: https://github.com/Lucas-C/pre-commit-hooks + rev: v1.5.1 + hooks: + - id: forbid-crlf - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: diff --git a/cursorless-talon/.vscode/.ropeproject/config.py b/cursorless-talon/.vscode/.ropeproject/config.py deleted file mode 100644 index 0b2a3169442..00000000000 --- a/cursorless-talon/.vscode/.ropeproject/config.py +++ /dev/null @@ -1,123 +0,0 @@ -# The default ``config.py`` -# flake8: noqa - - -def set_prefs(prefs): - """This function is called before opening the project""" - - # Specify which files and folders to ignore in the project. - # Changes to ignored resources are not added to the history and - # VCSs. Also they are not returned in `Project.get_files()`. - # Note that ``?`` and ``*`` match all characters but slashes. - # '*.pyc': matches 'test.pyc' and 'pkg/test.pyc' - # 'mod*.pyc': matches 'test/mod1.pyc' but not 'mod/1.pyc' - # '.svn': matches 'pkg/.svn' and all of its children - # 'build/*.o': matches 'build/lib.o' but not 'build/sub/lib.o' - # 'build//*.o': matches 'build/lib.o' and 'build/sub/lib.o' - prefs["ignored_resources"] = [ - "*.pyc", - "*~", - ".ropeproject", - ".hg", - ".svn", - "_svn", - ".git", - ".tox", - ] - - # Specifies which files should be considered python files. It is - # useful when you have scripts inside your project. Only files - # ending with ``.py`` are considered to be python files by - # default. - # prefs['python_files'] = ['*.py'] - - # Custom source folders: By default rope searches the project - # for finding source folders (folders that should be searched - # for finding modules). You can add paths to that list. Note - # that rope guesses project source folders correctly most of the - # time; use this if you have any problems. - # The folders should be relative to project root and use '/' for - # separating folders regardless of the platform rope is running on. - # 'src/my_source_folder' for instance. - # prefs.add('source_folders', 'src') - - # You can extend python path for looking up modules - # prefs.add('python_path', '~/python/') - - # Should rope save object information or not. - prefs["save_objectdb"] = True - prefs["compress_objectdb"] = False - - # If `True`, rope analyzes each module when it is being saved. - prefs["automatic_soa"] = True - # The depth of calls to follow in static object analysis - prefs["soa_followed_calls"] = 0 - - # If `False` when running modules or unit tests "dynamic object - # analysis" is turned off. This makes them much faster. - prefs["perform_doa"] = True - - # Rope can check the validity of its object DB when running. - prefs["validate_objectdb"] = True - - # How many undos to hold? - prefs["max_history_items"] = 32 - - # Shows whether to save history across sessions. - prefs["save_history"] = True - prefs["compress_history"] = False - - # Set the number spaces used for indenting. According to - # :PEP:`8`, it is best to use 4 spaces. Since most of rope's - # unit-tests use 4 spaces it is more reliable, too. - prefs["indent_size"] = 4 - - # Builtin and c-extension modules that are allowed to be imported - # and inspected by rope. - prefs["extension_modules"] = [] - - # Add all standard c-extensions to extension_modules list. - prefs["import_dynload_stdmods"] = True - - # If `True` modules with syntax errors are considered to be empty. - # The default value is `False`; When `False` syntax errors raise - # `rope.base.exceptions.ModuleSyntaxError` exception. - prefs["ignore_syntax_errors"] = False - - # If `True`, rope ignores unresolvable imports. Otherwise, they - # appear in the importing namespace. - prefs["ignore_bad_imports"] = False - - # If `True`, rope will insert new module imports as - # `from import ` by default. - prefs["prefer_module_from_imports"] = False - - # If `True`, rope will transform a comma list of imports into - # multiple separate import statements when organizing - # imports. - prefs["split_imports"] = False - - # If `True`, rope will remove all top-level import statements and - # reinsert them at the top of the module when making changes. - prefs["pull_imports_to_top"] = True - - # If `True`, rope will sort imports alphabetically by module name instead - # of alphabetically by import statement, with from imports after normal - # imports. - prefs["sort_imports_alphabetically"] = False - - # Location of implementation of - # rope.base.oi.type_hinting.interfaces.ITypeHintingFactory In general - # case, you don't have to change this value, unless you're an rope expert. - # Change this value to inject you own implementations of interfaces - # listed in module rope.base.oi.type_hinting.providers.interfaces - # For example, you can add you own providers for Django Models, or disable - # the search type-hinting in a class hierarchy, etc. - prefs[ - "type_hinting_factory" - ] = "rope.base.oi.type_hinting.factory.default_type_hinting_factory" - - -def project_opened(project): - """This function is called after opening the project""" - # Do whatever you like here! diff --git a/cursorless-talon/.vscode/.ropeproject/objectdb b/cursorless-talon/.vscode/.ropeproject/objectdb deleted file mode 100644 index 0a47446c0ad231c193bdd44ff327ba2ab28bf3d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6 NcmZo*sx4&D0{{kv0iOT> diff --git a/data/playground/xml.xml b/data/playground/xml.xml index 437d38d11da..c236e2c5f5d 100644 --- a/data/playground/xml.xml +++ b/data/playground/xml.xml @@ -1,3 +1,3 @@ - - Some text - + + Some text + diff --git a/packages/cursorless-engine/src/testCaseRecorder/TestCaseRecorder.ts b/packages/cursorless-engine/src/testCaseRecorder/TestCaseRecorder.ts index 62b8a157942..4752a4da1da 100644 --- a/packages/cursorless-engine/src/testCaseRecorder/TestCaseRecorder.ts +++ b/packages/cursorless-engine/src/testCaseRecorder/TestCaseRecorder.ts @@ -323,6 +323,13 @@ export class TestCaseRecorder { await this.testCase.recordInitialState(); const editor = ide().activeTextEditor!; + + if (editor.document.getText().includes("\r\n")) { + throw Error( + "Refusing to record a test when the document contains CRLF line endings. Please convert line endings to LF.", + ); + } + // NB: We need to copy the editor options rather than storing a reference // because its properties are lazy this.originalTextEditorOptions = { ...editor.options }; From fcdf70c97e89ab773dd23aad3a9931fe4a1267b6 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Thu, 15 Jun 2023 14:50:37 +0200 Subject: [PATCH 7/7] Updated doc string to be representative (#1532) Forgot to update doc string in previous pr ## Checklist - [ ] I have added [tests](https://www.cursorless.org/docs/contributing/test-case-recorder/) - [ ] I have updated the [docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and [cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet) - [ ] I have not broken the cheatsheet --- .../src/core/commandRunner/selectionToStoredTarget.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts b/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts index 12305046959..3693d891da4 100644 --- a/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts +++ b/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts @@ -3,8 +3,7 @@ import { SelectionWithEditor } from "../../typings/Types"; /** * Given a selection with an editor, constructs an appropriate `Target` to use - * for a `that` mark. It uses an `UntypedTarget`, and if the selection is - * empty, it sets `hasExplicitRange` to `false`. + * for a `that` mark. It uses an `UntypedTarget` and sets `hasExplicitRange` to `true`. * * @param selection The selection with editor to be converted * @returns A target that can be used for a `that` mark