diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeEveryName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeEveryName.yml index b30a3a3753..b6c78bcf71 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeEveryName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeEveryName.yml @@ -17,11 +17,11 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: (aaa) @ @ @ + documentContents: "(aaa) " selections: + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} - anchor: {line: 0, character: 7} active: {line: 0, character: 7} - - anchor: {line: 0, character: 9} - active: {line: 0, character: 9} - - anchor: {line: 0, character: 11} - active: {line: 0, character: 11} + - anchor: {line: 0, character: 8} + active: {line: 0, character: 8} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName.yml index 13e3bcd9df..007b4a4c97 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: (aaa) @ + documentContents: "(aaa) " selections: - - anchor: {line: 0, character: 7} - active: {line: 0, character: 7} + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName2.yml index 8d70cd725a..3cbfcd6846 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName2.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "eee: (aaa) @" + documentContents: "eee: (aaa) " selections: - - anchor: {line: 0, character: 12} - active: {line: 0, character: 12} + - anchor: {line: 0, character: 11} + active: {line: 0, character: 11} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName3.yml index 8406b97e0f..0c1497b6d4 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/changeName3.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "eee: _ @" + documentContents: "eee: _ " selections: - - anchor: {line: 0, character: 8} - active: {line: 0, character: 8} + - anchor: {line: 0, character: 7} + active: {line: 0, character: 7} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName.yml index 3a07b9fc75..110e686430 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "(aaa) " + documentContents: (aaa) selections: - anchor: {line: 0, character: 0} active: {line: 0, character: 0} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName2.yml index 48eca2ec19..3fc43eed23 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/chuckName2.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 20} marks: {} finalState: - documentContents: "(aaa) @bbb @ccc " + documentContents: (aaa) @bbb @ccc selections: - - anchor: {line: 0, character: 16} - active: {line: 0, character: 16} + - anchor: {line: 0, character: 15} + active: {line: 0, character: 15} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName.yml index 3d7ca3e4da..aec931039c 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName.yml @@ -16,9 +16,9 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: (aaa) @ @ + documentContents: "(aaa) " selections: + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} - anchor: {line: 0, character: 7} active: {line: 0, character: 7} - - anchor: {line: 0, character: 9} - active: {line: 0, character: 9} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName2.yml index 05f69f2028..c5357a054f 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName2.yml @@ -16,9 +16,9 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "[(aaa) (bbb)] @ @" + documentContents: "[(aaa) (bbb)] " selections: + - anchor: {line: 0, character: 14} + active: {line: 0, character: 14} - anchor: {line: 0, character: 15} active: {line: 0, character: 15} - - anchor: {line: 0, character: 17} - active: {line: 0, character: 17} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName3.yml index 4929f597fa..9e7b369b8f 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearEveryName3.yml @@ -21,10 +21,10 @@ initialState: finalState: documentContents: |- (anonymous_node - name: (_) @ @ + name: (_) ) selections: + - anchor: {line: 1, character: 12} + active: {line: 1, character: 12} - anchor: {line: 1, character: 13} active: {line: 1, character: 13} - - anchor: {line: 1, character: 15} - active: {line: 1, character: 15} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName.yml index b9fb035b80..c256a34303 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName.yml @@ -16,7 +16,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: (aaa) @ + documentContents: "(aaa) " selections: - - anchor: {line: 0, character: 7} - active: {line: 0, character: 7} + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName2.yml index 93d278995a..0d162e078d 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName2.yml @@ -16,7 +16,7 @@ initialState: active: {line: 0, character: 11} marks: {} finalState: - documentContents: (aaa) @bbb @ + documentContents: "(aaa) @bbb " selections: - - anchor: {line: 0, character: 12} - active: {line: 0, character: 12} + - anchor: {line: 0, character: 11} + active: {line: 0, character: 11} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName3.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName3.yml index 6483c5f1a4..b9d903fb6d 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName3.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName3.yml @@ -16,7 +16,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: (aaa) @ + documentContents: "(aaa) " selections: - - anchor: {line: 0, character: 7} - active: {line: 0, character: 7} + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName4.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName4.yml index 5965b2f56f..027eced85e 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName4.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName4.yml @@ -16,7 +16,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "\"aaa\" @" + documentContents: "\"aaa\" " selections: - - anchor: {line: 0, character: 7} - active: {line: 0, character: 7} + - anchor: {line: 0, character: 6} + active: {line: 0, character: 6} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName5.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName5.yml index 2f239de12b..61cf415eb4 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName5.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName5.yml @@ -16,7 +16,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "[(aaa) (bbb)] @" + documentContents: "[(aaa) (bbb)] " selections: - - anchor: {line: 0, character: 15} - active: {line: 0, character: 15} + - anchor: {line: 0, character: 14} + active: {line: 0, character: 14} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName6.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName6.yml index 47fc49c9ad..4c0da03687 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName6.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName6.yml @@ -23,8 +23,8 @@ finalState: documentContents: |- (anonymous_node - name: (_) @ + name: (_) ) selections: - - anchor: {line: 2, character: 13} - active: {line: 2, character: 13} + - anchor: {line: 2, character: 12} + active: {line: 2, character: 12} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName7.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName7.yml index 7f29ed6af7..e0b700e0db 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName7.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/clearName7.yml @@ -21,8 +21,8 @@ initialState: finalState: documentContents: |- (anonymous_node - name: (_) @ + name: (_) ) selections: - - anchor: {line: 1, character: 13} - active: {line: 1, character: 13} + - anchor: {line: 1, character: 12} + active: {line: 1, character: 12} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/drinkName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/drinkName.yml index f4501138fc..7116c6e725 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/drinkName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/drinkName.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "eee: _ @ @bbb @ccc" + documentContents: "eee: _ @bbb @ccc" selections: - - anchor: {line: 0, character: 8} - active: {line: 0, character: 8} + - anchor: {line: 0, character: 7} + active: {line: 0, character: 7} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName.yml index 61df78276b..13901f9110 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 0} marks: {} finalState: - documentContents: "eee: _ @bbb @ccc @" + documentContents: "eee: _ @bbb @ccc " selections: - - anchor: {line: 0, character: 18} - active: {line: 0, character: 18} + - anchor: {line: 0, character: 17} + active: {line: 0, character: 17} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName2.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName2.yml index dccd953997..607c1ecb5e 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName2.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/pourName2.yml @@ -17,7 +17,7 @@ initialState: active: {line: 0, character: 7} marks: {} finalState: - documentContents: "eee: _ @bbb @ @ccc" + documentContents: "eee: _ @bbb @ccc" selections: - - anchor: {line: 0, character: 13} - active: {line: 0, character: 13} + - anchor: {line: 0, character: 12} + active: {line: 0, character: 12} diff --git a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/takeName.yml b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/takeName.yml index 6c7c8a477d..6b089e2645 100644 --- a/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/takeName.yml +++ b/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/scm/takeName.yml @@ -19,5 +19,5 @@ initialState: finalState: documentContents: (aaa) @bbb @ccc @ddd selections: - - anchor: {line: 0, character: 7} + - anchor: {line: 0, character: 6} active: {line: 0, character: 20} diff --git a/queries/scm.name.scm b/queries/scm.name.scm index 01bd7cc390..1926a67a76 100644 --- a/queries/scm.name.scm +++ b/queries/scm.name.scm @@ -1,59 +1,43 @@ ;;!! (aaa) @bbb @ccc -;;! ^^^^^^^^ -;;! xxxxxxxxx +;;! ^^^^^^^^^ ;;! --------------- ( (_ _ @dummy . - (capture - "@" @_.leading - name: (identifier) @name.start - ) + (capture) @name.start (capture)? @name.end . ) @_.domain (#not-type? @_.domain parameters) (#not-type? @dummy capture) (#not-parent-type? @_.domain field_definition) - (#insertion-delimiter! @name.start " @") ) ;;!! eee: (aaa) @bbb @ccc -;;! ^^^^^^^^ -;;! xxxxxxxxx +;;! ^^^^^^^^^ ;;! -------------------- ( (field_definition (_ _ @dummy . - (capture - "@" @_.leading - name: (identifier) @name.start - ) + (capture) @name.start (capture)? @name.end . ) ) @_.domain (#not-type? @dummy capture) - (#insertion-delimiter! @name.start " @") ) ;;!! (aaa) @bbb @ccc -;;! ^^^ ^^^ -;;! xxxx xxxx -;;! ---- ---- +;;! ^^^^ ^^^^ ( (_ - (capture - "@" @_.leading - name: (identifier) @name - ) @_.domain + (capture) @name ) @dummy (#not-type? @dummy parameters) (#has-multiple-children-of-type? @dummy capture) - (#insertion-delimiter! @name " @") ) ;;!! (aaa) @bbb @ccc