1
- import { Selection , SimpleScopeTypeType , TextEditor } from "@cursorless/common" ;
1
+ import { SimpleScopeTypeType } from "@cursorless/common" ;
2
2
import type { SyntaxNode } from "web-tree-sitter" ;
3
3
import {
4
4
NodeMatcher ,
5
5
NodeMatcherAlternative ,
6
6
SelectionWithEditor ,
7
7
} from "../typings/Types" ;
8
- import { patternFinder , typedNodeFinder } from "../util/nodeFinders" ;
8
+ import { patternFinder } from "../util/nodeFinders" ;
9
9
import {
10
10
argumentMatcher ,
11
11
cascadingMatcher ,
@@ -20,12 +20,10 @@ import {
20
20
extendForwardPastOptional ,
21
21
getNodeInternalRange ,
22
22
getNodeRange ,
23
- jsxFragmentExtractor ,
24
23
pairSelectionExtractor ,
25
24
selectWithLeadingDelimiter ,
26
25
simpleSelectionExtractor ,
27
26
unwrapSelectionExtractor ,
28
- xmlElementExtractor ,
29
27
} from "../util/nodeSelectors" ;
30
28
import { branchMatcher } from "./branchMatcher" ;
31
29
import { elseExtractor , elseIfExtractor } from "./elseIfExtractor" ;
@@ -71,42 +69,6 @@ const STATEMENT_TYPES = [
71
69
"with_statement" ,
72
70
] ;
73
71
74
- /** Handles jsx fragment start or end tag, eg the `<>` in `<>foo</>` **/
75
- function getJsxFragmentTag ( isStartTag : boolean ) : NodeMatcher {
76
- return matcher (
77
- typedNodeFinder ( "jsx_fragment" ) ,
78
- ( editor : TextEditor , node : SyntaxNode ) => {
79
- const [ start , end ] = isStartTag
80
- ? [ node . children [ 0 ] , node . children [ 1 ] ]
81
- : [ node . children . at ( - 3 ) ! , node . children . at ( - 1 ) ! ] ;
82
- return {
83
- selection : new Selection (
84
- start . startPosition . row ,
85
- start . startPosition . column ,
86
- end . endPosition . row ,
87
- end . endPosition . column ,
88
- ) ,
89
- context : { } ,
90
- } ;
91
- } ,
92
- ) ;
93
- }
94
-
95
- const getStartTag = cascadingMatcher (
96
- patternMatcher ( "jsx_element.jsx_opening_element!" ) ,
97
- getJsxFragmentTag ( true ) ,
98
- ) ;
99
- const getEndTag = cascadingMatcher (
100
- patternMatcher ( "jsx_element.jsx_closing_element!" ) ,
101
- getJsxFragmentTag ( false ) ,
102
- ) ;
103
-
104
- const getTags = ( selection : SelectionWithEditor , node : SyntaxNode ) => {
105
- const startTag = getStartTag ( selection , node ) ;
106
- const endTag = getEndTag ( selection , node ) ;
107
- return startTag != null && endTag != null ? startTag . concat ( endTag ) : null ;
108
- } ;
109
-
110
72
function typeMatcher ( ) : NodeMatcher {
111
73
const delimiterSelector = selectWithLeadingDelimiter ( ":" ) ;
112
74
return function ( selection : SelectionWithEditor , node : SyntaxNode ) {
@@ -214,13 +176,6 @@ const nodeMatchers: Partial<
214
176
) ,
215
177
ifStatement : "if_statement" ,
216
178
anonymousFunction : [ "arrow_function" , "function" ] ,
217
- name : [
218
- "*[name]" ,
219
- "optional_parameter.identifier!" ,
220
- "required_parameter.identifier!" ,
221
- "augmented_assignment_expression[left]" ,
222
- "assignment_expression[left]" ,
223
- ] ,
224
179
comment : "comment" ,
225
180
regularExpression : "regex" ,
226
181
className : [ "class_declaration[name]" , "class[name]" ] ,
@@ -337,16 +292,6 @@ const nodeMatchers: Partial<
337
292
argumentOrParameter : argumentMatcher ( "formal_parameters" , "arguments" ) ,
338
293
// XML, JSX
339
294
attribute : [ "jsx_attribute" ] ,
340
- xmlElement : cascadingMatcher (
341
- matcher (
342
- typedNodeFinder ( "jsx_element" , "jsx_self_closing_element" ) ,
343
- xmlElementExtractor ,
344
- ) ,
345
- matcher ( typedNodeFinder ( "jsx_fragment" ) , jsxFragmentExtractor ) ,
346
- ) ,
347
- xmlBothTags : getTags ,
348
- xmlStartTag : getStartTag ,
349
- xmlEndTag : getEndTag ,
350
295
} ;
351
296
352
297
export const patternMatchers = createPatternMatchers ( nodeMatchers ) ;
0 commit comments