From a8e22bd51112558a809adba88d99a859282a41e4 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 12 Aug 2025 16:16:30 +0200 Subject: [PATCH 1/3] Added test with string in ternary branch --- .../interior/interior.ternary2.scope | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope diff --git a/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope b/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope new file mode 100644 index 0000000000..8b24a9783f --- /dev/null +++ b/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope @@ -0,0 +1,40 @@ +true ? "bbb" : "ccc"; +--- + +[#1 Content] = +[#1 Removal] = +[#1 Domain] = 0:0-0:4 + >----< +0| true ? "bbb" : "ccc"; + +[#1 Insertion delimiter] = " " + + +[#2 Content] = +[#2 Removal] = +[#2 Domain] = 0:7-0:12 + >-----< +0| true ? "bbb" : "ccc"; + +[#2 Insertion delimiter] = " " + + +[#3 Content] = +[#3 Removal] = +[#3 Domain] = 0:15-0:20 + >-----< +0| true ? "bbb" : "ccc"; + +[#3 Insertion delimiter] = " " + + +[#4 Content] = +[#4 Removal] = 1:1-1:6 + >-----< +1| "hello" + +[#4 Domain] = 1:0-1:7 + >-------< +1| "hello" + +[#4 Insertion delimiter] = " " From fe5d796b891a8f9c66e2ff936ff828f04ae15ac0 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 12 Aug 2025 16:30:57 +0200 Subject: [PATCH 2/3] Change order --- .../modifiers/interior/changeInsideAir.yml | 26 ++++++++++++ .../interior/interior.ternary2.scope | 40 ------------------- .../InteriorScopeHandler.ts | 2 +- 3 files changed, 27 insertions(+), 41 deletions(-) create mode 100644 data/fixtures/recorded/modifiers/interior/changeInsideAir.yml delete mode 100644 data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope diff --git a/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml b/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml new file mode 100644 index 0000000000..17b7fdb0c7 --- /dev/null +++ b/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml @@ -0,0 +1,26 @@ +languageId: javascript +command: + version: 7 + spokenForm: change inside air + action: + name: clearAndSetSelection + target: + type: primitive + mark: {type: decoratedSymbol, symbolColor: default, character: a} + modifiers: + - {type: interiorOnly} + usePrePhraseSnapshot: false +initialState: + documentContents: "true ? \"aaa\" : \"bbb\"" + selections: + - anchor: {line: 0, character: 0} + active: {line: 0, character: 0} + marks: + default.a: + start: {line: 0, character: 8} + end: {line: 0, character: 11} +finalState: + documentContents: "true ? \"\" : \"bbb\"" + selections: + - anchor: {line: 0, character: 8} + active: {line: 0, character: 8} diff --git a/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope b/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope deleted file mode 100644 index 8b24a9783f..0000000000 --- a/data/fixtures/scopes/javascript.core/interior/interior.ternary2.scope +++ /dev/null @@ -1,40 +0,0 @@ -true ? "bbb" : "ccc"; ---- - -[#1 Content] = -[#1 Removal] = -[#1 Domain] = 0:0-0:4 - >----< -0| true ? "bbb" : "ccc"; - -[#1 Insertion delimiter] = " " - - -[#2 Content] = -[#2 Removal] = -[#2 Domain] = 0:7-0:12 - >-----< -0| true ? "bbb" : "ccc"; - -[#2 Insertion delimiter] = " " - - -[#3 Content] = -[#3 Removal] = -[#3 Domain] = 0:15-0:20 - >-----< -0| true ? "bbb" : "ccc"; - -[#3 Insertion delimiter] = " " - - -[#4 Content] = -[#4 Removal] = 1:1-1:6 - >-----< -1| "hello" - -[#4 Domain] = 1:0-1:7 - >-------< -1| "hello" - -[#4 Insertion delimiter] = " " diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts b/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts index e322b97e0a..124eb6cd67 100644 --- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts +++ b/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts @@ -100,7 +100,7 @@ export class InteriorScopeHandler extends BaseScopeHandler { return SortedScopeHandler.createFromScopeHandlers( this.scopeHandlerFactory, this.languageId, - [languageScopeHandler, pairScopeHandler], + [pairScopeHandler, languageScopeHandler], ); } From 9a9e3662c2e3a1008575876ae2aa532018e81b47 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 12 Aug 2025 16:34:45 +0200 Subject: [PATCH 3/3] Clean up test --- data/fixtures/recorded/modifiers/interior/changeInsideAir.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml b/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml index 17b7fdb0c7..4e4db16390 100644 --- a/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml +++ b/data/fixtures/recorded/modifiers/interior/changeInsideAir.yml @@ -11,7 +11,7 @@ command: - {type: interiorOnly} usePrePhraseSnapshot: false initialState: - documentContents: "true ? \"aaa\" : \"bbb\"" + documentContents: "true ? 'aaa' : 'bbb'" selections: - anchor: {line: 0, character: 0} active: {line: 0, character: 0} @@ -20,7 +20,7 @@ initialState: start: {line: 0, character: 8} end: {line: 0, character: 11} finalState: - documentContents: "true ? \"\" : \"bbb\"" + documentContents: "true ? '' : 'bbb'" selections: - anchor: {line: 0, character: 8} active: {line: 0, character: 8}