From 6a19d9055206ac50697d63839ae3da14027dc03b Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 5 Dec 2023 12:42:10 +0100 Subject: [PATCH 1/4] Support value for typescript destruct pattern --- .../languages/typescript/changeValue3.yml | 25 +++++++++++++++++++ queries/javascript.core.scm | 7 ++++++ 2 files changed, 32 insertions(+) create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml new file mode 100644 index 0000000000..af3aa84b32 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml @@ -0,0 +1,25 @@ +languageId: typescript +command: + version: 6 + spokenForm: change value + action: + name: clearAndSetSelection + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: value} + usePrePhraseSnapshot: true +initialState: + documentContents: | + const { aaa: bbb } = ccc; + selections: + - anchor: {line: 0, character: 8} + active: {line: 0, character: 8} + marks: {} +finalState: + documentContents: | + const { aaa: } = ccc; + selections: + - anchor: {line: 0, character: 13} + active: {line: 0, character: 13} diff --git a/queries/javascript.core.scm b/queries/javascript.core.scm index b9745d7f38..b2c2278c6c 100644 --- a/queries/javascript.core.scm +++ b/queries/javascript.core.scm @@ -408,6 +408,13 @@ "}" @collectionKey.iteration.end.startOf @value.iteration.end.startOf ) +;;!! const { aaa: bbb } = ccc; +;;! ^^^ +;;! -------- +(pair_pattern + value: (_) @value +) @_.domain + ;;!! "string" ;;!! `string` ;;! ^^^^^^^^ From 4b8fc5a28ff32d48de7db6eeac3c59e80c3d8d40 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 5 Dec 2023 13:35:12 +0100 Subject: [PATCH 2/4] rename file --- .../languages/typescript/{changeValue3.yml => changeValue4.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/{changeValue3.yml => changeValue4.yml} (100%) diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue4.yml similarity index 100% rename from packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue3.yml rename to packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue4.yml From 4e524eab339c0aa89164605a72cef4939c9cebde Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 5 Dec 2023 13:35:40 +0100 Subject: [PATCH 3/4] rename test --- .../languages/typescript/{changeValue4.yml => changeValue5.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/{changeValue4.yml => changeValue5.yml} (100%) diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue5.yml similarity index 100% rename from packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue4.yml rename to packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeValue5.yml From 12b6aaf8cdd4c0a9320ba5305a54a2c9ee7244fb Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 5 Dec 2023 13:39:37 +0100 Subject: [PATCH 4/4] Added delimiters --- .../languages/typescript/chuckKey2.yml | 23 +++++++++++++++++++ .../languages/typescript/chuckValue4.yml | 23 +++++++++++++++++++ queries/javascript.core.scm | 3 ++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckKey2.yml create mode 100644 packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckValue4.yml diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckKey2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckKey2.yml new file mode 100644 index 0000000000..bcecb8a3d7 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckKey2.yml @@ -0,0 +1,23 @@ +languageId: typescript +command: + version: 6 + spokenForm: chuck key + action: + name: remove + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: collectionKey} + usePrePhraseSnapshot: true +initialState: + documentContents: "const { aaa: bbb } = ccc;" + selections: + - anchor: {line: 0, character: 9} + active: {line: 0, character: 9} + marks: {} +finalState: + documentContents: const { bbb } = ccc; + selections: + - anchor: {line: 0, character: 8} + active: {line: 0, character: 8} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckValue4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckValue4.yml new file mode 100644 index 0000000000..896866b9ea --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/chuckValue4.yml @@ -0,0 +1,23 @@ +languageId: typescript +command: + version: 6 + spokenForm: chuck value + action: + name: remove + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: value} + usePrePhraseSnapshot: true +initialState: + documentContents: "const { aaa: bbb } = ccc;" + selections: + - anchor: {line: 0, character: 9} + active: {line: 0, character: 9} + marks: {} +finalState: + documentContents: const { aaa } = ccc; + selections: + - anchor: {line: 0, character: 9} + active: {line: 0, character: 9} diff --git a/queries/javascript.core.scm b/queries/javascript.core.scm index b2c2278c6c..f38903b1c9 100644 --- a/queries/javascript.core.scm +++ b/queries/javascript.core.scm @@ -412,7 +412,8 @@ ;;! ^^^ ;;! -------- (pair_pattern - value: (_) @value + key: (_) @collectionKey @collectionKey.trailing.start.endOf @value.leading.start.endOf + value: (_) @value @collectionKey.trailing.end.startOf @value.leading.end.startOf ) @_.domain ;;!! "string"