Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
; Concerto Language - Text Object Queries (Helix)
; =================================================
; Helix-specific text objects. For use in helix-editor/helix at
; runtime/queries/concerto/textobjects.scm
;
; Helix uses @<object>.around / @<object>.inside suffixes.
; See: https://docs.helix-editor.com/guides/textobject.html

; ---------------------------------------------------------------------------
; Classes / declarations
; ---------------------------------------------------------------------------
; mac / mic — select around/inside class
; ]c / [c   — jump to next/prev class boundary

(concept_declaration
  (class_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(asset_declaration
  (class_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(participant_declaration
  (class_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(transaction_declaration
  (class_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(event_declaration
  (class_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(enum_declaration
  (enum_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

(map_declaration
  (map_body
    .
    "{"
    _+ @class.inside
    "}")) @class.around

; Scalar declarations have no body braces — around only
(scalar_declaration) @class.around

; ---------------------------------------------------------------------------
; Comments
; ---------------------------------------------------------------------------
; ]C / [C — jump to next/prev comment
; maC / miC — select around/inside comment

(line_comment) @comment.inside
(block_comment) @comment.inside

(line_comment) @comment.around
(block_comment) @comment.around

; ---------------------------------------------------------------------------
; Parameters — fields, enum values, map entries
; ---------------------------------------------------------------------------
; ]a / [a — jump to next/prev parameter
; maa / mia — select around/inside parameter

(string_field) @parameter.inside
(boolean_field) @parameter.inside
(datetime_field) @parameter.inside
(integer_field) @parameter.inside
(long_field) @parameter.inside
(double_field) @parameter.inside
(object_field) @parameter.inside
(relationship_field) @parameter.inside
(enum_property) @parameter.inside
(map_key_type) @parameter.inside
(map_value_type) @parameter.inside