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)"#;