keymap.rs

 1pub const KEYMAP_ACTION_ARRAY_PATTERN: &str = r#"(document
 2    (array
 3   	    (object
 4            (pair
 5                key: (string (string_content) @name)
 6                value: (
 7                    (object
 8                        (pair
 9                            key: (string)
10                            value: ((array
11                                . (string (string_content) @action_name)
12                                . (string (string_content) @argument)
13                                .)) @array
14                        )
15                    )
16                )
17            )
18        )
19    )
20    (#eq? @name "bindings")
21)"#;
22
23pub const KEYMAP_ACTION_STRING_PATTERN: &str = r#"(document
24    (array
25        (object
26            (pair
27                key: (string (string_content) @name)
28                value: (
29                    (object
30                        (pair
31                            key: (string)
32                            value: (string (string_content) @action_name)
33                        )
34                    )
35                )
36            )
37        )
38    )
39    (#eq? @name "bindings")
40)"#;
41
42pub const KEYMAP_CONTEXT_PATTERN: &str = r#"(document
43    (array
44        (object
45            (pair
46                key: (string (string_content) @name)
47                value: (string (string_content) @context_predicate)
48            )
49        )
50    )
51    (#eq? @name "context")
52)"#;
53
54pub const KEYMAP_ACTION_ARRAY_ARGUMENT_AS_OBJECT_PATTERN: &str = r#"(document
55    (array
56        (object
57            (pair
58                key: (string (string_content) @name)
59                value: (
60                    (object
61                        (pair
62                            key: (string)
63                            value: ((array
64                                . (string (string_content) @action_name)
65                                . (object
66                                    (pair
67                                    key: (string (string_content) @argument_key)
68                                    value: (_)  @argument_value))
69                                . ) @array
70                            ))
71                        )
72                    )
73                )
74            )
75        )
76    (#eq? @name "bindings")
77)"#;