diff --git a/packages/cursorless-engine/src/languages/typescript.ts b/packages/cursorless-engine/src/languages/typescript.ts index 377f81d3ea..0ffd960729 100644 --- a/packages/cursorless-engine/src/languages/typescript.ts +++ b/packages/cursorless-engine/src/languages/typescript.ts @@ -166,6 +166,7 @@ const nodeMatchers: Partial< [ "pair[key]", "jsx_attribute.property_identifier!", + "object_type.property_signature[name]!", "shorthand_property_identifier", ], [":"], diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey.yml new file mode 100644 index 0000000000..cd395f2c49 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey.yml @@ -0,0 +1,29 @@ +languageId: typescript +command: + version: 6 + spokenForm: change key + action: + name: clearAndSetSelection + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: collectionKey} + usePrePhraseSnapshot: true +initialState: + documentContents: |- + interface Hello { + value: number; + } + selections: + - anchor: {line: 1, character: 17} + active: {line: 1, character: 17} + marks: {} +finalState: + documentContents: |- + interface Hello { + : number; + } + selections: + - anchor: {line: 1, character: 4} + active: {line: 1, character: 4} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey2.yml new file mode 100644 index 0000000000..fd692b5be8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey2.yml @@ -0,0 +1,29 @@ +languageId: typescript +command: + version: 6 + spokenForm: change key + action: + name: clearAndSetSelection + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: collectionKey} + usePrePhraseSnapshot: true +initialState: + documentContents: |- + type Hello = { + value: number; + } + selections: + - anchor: {line: 1, character: 17} + active: {line: 1, character: 17} + marks: {} +finalState: + documentContents: |- + type Hello = { + : number; + } + selections: + - anchor: {line: 1, character: 4} + active: {line: 1, character: 4} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey3.yml new file mode 100644 index 0000000000..18ac6d37e8 --- /dev/null +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/typescript/changeKey3.yml @@ -0,0 +1,33 @@ +languageId: typescript +command: + version: 6 + spokenForm: change key + action: + name: clearAndSetSelection + target: + type: primitive + modifiers: + - type: containingScope + scopeType: {type: collectionKey} + usePrePhraseSnapshot: true +initialState: + documentContents: |- + function funk(): { + value: number; + } { + return { value: 2 } + } + selections: + - anchor: {line: 1, character: 17} + active: {line: 1, character: 17} + marks: {} +finalState: + documentContents: |- + function funk(): { + : number; + } { + return { value: 2 } + } + selections: + - anchor: {line: 1, character: 4} + active: {line: 1, character: 4}