@proxysoul/soulforge 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -429601,7 +429601,8 @@ async function start2(opts) {
429601
429601
  exitOnCtrlC: false,
429602
429602
  useKittyKeyboard: {
429603
429603
  disambiguate: true
429604
- }
429604
+ },
429605
+ openConsoleOnError: false
429605
429606
  });
429606
429607
  renderer = r4;
429607
429608
  r4.setMaxListeners(30);
@@ -440057,13 +440058,17 @@ function getTSClient() {
440057
440058
  }
440058
440059
  return _tsClient;
440059
440060
  }
440060
- var IS_BUNDLED, bundledAssets, coreAssetsDir, MARKDOWN_INJECTION_MAP, TS_ALIASES, EXTRA_FILETYPES, theme, _syntaxStyle = null, _tsClient = null;
440061
+ var IS_COMPILED3, IS_DIST3, bundledAssets, distAssets, coreAssetsDir, MARKDOWN_INJECTION_MAP, TS_ALIASES, EXTRA_FILETYPES, theme, _syntaxStyle = null, _tsClient = null;
440061
440062
  var init_syntax = __esm(async () => {
440062
440063
  await init_core4();
440063
- IS_BUNDLED = import.meta.url.includes("$bunfs");
440064
+ IS_COMPILED3 = import.meta.url.includes("$bunfs");
440065
+ IS_DIST3 = !IS_COMPILED3 && import.meta.dir.includes("/dist");
440064
440066
  bundledAssets = join41(homedir20(), ".soulforge", "opentui-assets");
440065
- if (IS_BUNDLED) {
440067
+ distAssets = join41(import.meta.dir, "opentui-assets");
440068
+ if (IS_COMPILED3) {
440066
440069
  coreAssetsDir = bundledAssets;
440070
+ } else if (IS_DIST3) {
440071
+ coreAssetsDir = existsSync31(distAssets) ? distAssets : bundledAssets;
440067
440072
  } else {
440068
440073
  try {
440069
440074
  coreAssetsDir = resolve33(dirname16(__require.resolve("@opentui/core")), "assets");
@@ -0,0 +1,205 @@
1
+ ; Query from: https://raw.githubusercontent.com/tree-sitter/tree-sitter-javascript/refs/heads/master/queries/highlights.scm
2
+ ; Variables
3
+ ;----------
4
+
5
+ (identifier) @variable
6
+
7
+ ; Properties
8
+ ;-----------
9
+
10
+ (property_identifier) @property
11
+
12
+ ; Function and method definitions
13
+ ;--------------------------------
14
+
15
+ (function_expression
16
+ name: (identifier) @function)
17
+ (function_declaration
18
+ name: (identifier) @function)
19
+ (method_definition
20
+ name: (property_identifier) @function.method)
21
+
22
+ (pair
23
+ key: (property_identifier) @function.method
24
+ value: [(function_expression) (arrow_function)])
25
+
26
+ (assignment_expression
27
+ left: (member_expression
28
+ property: (property_identifier) @function.method)
29
+ right: [(function_expression) (arrow_function)])
30
+
31
+ (variable_declarator
32
+ name: (identifier) @function
33
+ value: [(function_expression) (arrow_function)])
34
+
35
+ (assignment_expression
36
+ left: (identifier) @function
37
+ right: [(function_expression) (arrow_function)])
38
+
39
+ ; Function and method calls
40
+ ;--------------------------
41
+
42
+ (call_expression
43
+ function: (identifier) @function)
44
+
45
+ (call_expression
46
+ function: (member_expression
47
+ property: (property_identifier) @function.method))
48
+
49
+ ; Special identifiers
50
+ ;--------------------
51
+
52
+ ((identifier) @constructor
53
+ (#match? @constructor "^[A-Z]"))
54
+
55
+ ([
56
+ (identifier)
57
+ (shorthand_property_identifier)
58
+ (shorthand_property_identifier_pattern)
59
+ ] @constant
60
+ (#match? @constant "^[A-Z_][A-Z\\d_]+$"))
61
+
62
+ ((identifier) @variable.builtin
63
+ (#match? @variable.builtin "^(arguments|module|console|window|document)$")
64
+ (#is-not? local))
65
+
66
+ ((identifier) @function.builtin
67
+ (#eq? @function.builtin "require")
68
+ (#is-not? local))
69
+
70
+ ; Literals
71
+ ;---------
72
+
73
+ (this) @variable.builtin
74
+ (super) @variable.builtin
75
+
76
+ [
77
+ (true)
78
+ (false)
79
+ (null)
80
+ (undefined)
81
+ ] @constant.builtin
82
+
83
+ (comment) @comment
84
+
85
+ [
86
+ (string)
87
+ (template_string)
88
+ ] @string
89
+
90
+ (regex) @string.special
91
+ (number) @number
92
+
93
+ ; Tokens
94
+ ;-------
95
+
96
+ [
97
+ ";"
98
+ (optional_chain)
99
+ "."
100
+ ","
101
+ ] @punctuation.delimiter
102
+
103
+ [
104
+ "-"
105
+ "--"
106
+ "-="
107
+ "+"
108
+ "++"
109
+ "+="
110
+ "*"
111
+ "*="
112
+ "**"
113
+ "**="
114
+ "/"
115
+ "/="
116
+ "%"
117
+ "%="
118
+ "<"
119
+ "<="
120
+ "<<"
121
+ "<<="
122
+ "="
123
+ "=="
124
+ "==="
125
+ "!"
126
+ "!="
127
+ "!=="
128
+ "=>"
129
+ ">"
130
+ ">="
131
+ ">>"
132
+ ">>="
133
+ ">>>"
134
+ ">>>="
135
+ "~"
136
+ "^"
137
+ "&"
138
+ "|"
139
+ "^="
140
+ "&="
141
+ "|="
142
+ "&&"
143
+ "||"
144
+ "??"
145
+ "&&="
146
+ "||="
147
+ "??="
148
+ ] @operator
149
+
150
+ [
151
+ "("
152
+ ")"
153
+ "["
154
+ "]"
155
+ "{"
156
+ "}"
157
+ ] @punctuation.bracket
158
+
159
+ (template_substitution
160
+ "${" @punctuation.special
161
+ "}" @punctuation.special) @embedded
162
+
163
+ [
164
+ "as"
165
+ "async"
166
+ "await"
167
+ "break"
168
+ "case"
169
+ "catch"
170
+ "class"
171
+ "const"
172
+ "continue"
173
+ "debugger"
174
+ "default"
175
+ "delete"
176
+ "do"
177
+ "else"
178
+ "export"
179
+ "extends"
180
+ "finally"
181
+ "for"
182
+ "from"
183
+ "function"
184
+ "get"
185
+ "if"
186
+ "import"
187
+ "in"
188
+ "instanceof"
189
+ "let"
190
+ "new"
191
+ "of"
192
+ "return"
193
+ "set"
194
+ "static"
195
+ "switch"
196
+ "target"
197
+ "throw"
198
+ "try"
199
+ "typeof"
200
+ "var"
201
+ "void"
202
+ "while"
203
+ "with"
204
+ "yield"
205
+ ] @keyword
@@ -0,0 +1,150 @@
1
+ ; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/markdown/highlights.scm
2
+ ;From MDeiml/tree-sitter-markdown & Helix
3
+ (setext_heading
4
+ (paragraph) @markup.heading.1
5
+ (setext_h1_underline) @markup.heading.1)
6
+
7
+ (setext_heading
8
+ (paragraph) @markup.heading.2
9
+ (setext_h2_underline) @markup.heading.2)
10
+
11
+ ; Capture the entire heading node first based on the marker it contains
12
+ ((atx_heading (atx_h1_marker)) @markup.heading.1
13
+ (#set! priority 90))
14
+
15
+ ((atx_heading (atx_h2_marker)) @markup.heading.2
16
+ (#set! priority 90))
17
+
18
+ ((atx_heading (atx_h3_marker)) @markup.heading.3
19
+ (#set! priority 90))
20
+
21
+ ((atx_heading (atx_h4_marker)) @markup.heading.4
22
+ (#set! priority 90))
23
+
24
+ ((atx_heading (atx_h5_marker)) @markup.heading.5
25
+ (#set! priority 90))
26
+
27
+ ((atx_heading (atx_h6_marker)) @markup.heading.6
28
+ (#set! priority 90))
29
+
30
+ ; Then capture and conceal just the markers (they don't need special styling)
31
+ (atx_heading
32
+ (atx_h1_marker) @conceal
33
+ (#set! conceal ""))
34
+
35
+ (atx_heading
36
+ (atx_h2_marker) @conceal
37
+ (#set! conceal ""))
38
+
39
+ (atx_heading
40
+ (atx_h3_marker) @conceal
41
+ (#set! conceal ""))
42
+
43
+ (atx_heading
44
+ (atx_h4_marker) @conceal
45
+ (#set! conceal ""))
46
+
47
+ (atx_heading
48
+ (atx_h5_marker) @conceal
49
+ (#set! conceal ""))
50
+
51
+ (atx_heading
52
+ (atx_h6_marker) @conceal
53
+ (#set! conceal ""))
54
+
55
+ (info_string) @label
56
+
57
+ (pipe_table_header
58
+ (pipe_table_cell) @markup.heading)
59
+
60
+ (pipe_table_header
61
+ "|" @punctuation.special)
62
+
63
+ (pipe_table_row
64
+ "|" @punctuation.special)
65
+
66
+ (pipe_table_delimiter_row
67
+ "|" @punctuation.special)
68
+
69
+ (pipe_table_delimiter_cell) @punctuation.special
70
+
71
+ ; Code blocks (conceal backticks and language annotation)
72
+ (indented_code_block) @markup.raw.block
73
+
74
+ ((fenced_code_block) @markup.raw.block
75
+ (#set! priority 90))
76
+
77
+ (fenced_code_block
78
+ (fenced_code_block_delimiter) @markup.raw.block
79
+ (#set! conceal "")
80
+ (#set! conceal_lines ""))
81
+
82
+ (fenced_code_block
83
+ (info_string
84
+ (language) @label
85
+ (#set! conceal "")
86
+ (#set! conceal_lines "")))
87
+
88
+ (link_destination) @markup.link.url
89
+
90
+ [
91
+ (link_title)
92
+ (link_label)
93
+ ] @markup.link.label
94
+
95
+ ((link_label)
96
+ .
97
+ ":" @punctuation.delimiter)
98
+
99
+ [
100
+ (list_marker_plus)
101
+ (list_marker_minus)
102
+ (list_marker_star)
103
+ (list_marker_dot)
104
+ (list_marker_parenthesis)
105
+ ] @markup.list
106
+
107
+ ; NOTE: The following has been commented out due to issues with spaces in the
108
+ ; list marker nodes generated by the parser. If those spaces ever get captured
109
+ ; by a different node (e.g. block_continuation) we can safely re-add these
110
+ ; conceals.
111
+ ; ;; Conceal bullet points
112
+ ; ([(list_marker_plus) (list_marker_star)]
113
+ ; @punctuation.special
114
+ ; (#offset! @punctuation.special 0 0 0 -1)
115
+ ; (#set! conceal "•"))
116
+ ; ([(list_marker_plus) (list_marker_star)]
117
+ ; @punctuation.special
118
+ ; (#any-of? @punctuation.special "+" "*")
119
+ ; (#set! conceal "•"))
120
+ ; ((list_marker_minus)
121
+ ; @punctuation.special
122
+ ; (#offset! @punctuation.special 0 0 0 -1)
123
+ ; (#set! conceal "—"))
124
+ ; ((list_marker_minus)
125
+ ; @punctuation.special
126
+ ; (#eq? @punctuation.special "-")
127
+ ; (#set! conceal "—"))
128
+ (thematic_break) @punctuation.special
129
+
130
+ (task_list_marker_unchecked) @markup.list.unchecked
131
+
132
+ (task_list_marker_checked) @markup.list.checked
133
+
134
+ ((block_quote) @markup.quote
135
+ (#set! priority 90))
136
+
137
+ ([
138
+ (plus_metadata)
139
+ (minus_metadata)
140
+ ] @keyword.directive
141
+ (#set! priority 90))
142
+
143
+ [
144
+ (block_continuation)
145
+ (block_quote_marker)
146
+ ] @punctuation.special
147
+
148
+ (backslash_escape) @string.escape
149
+
150
+ (inline) @spell
@@ -0,0 +1,27 @@
1
+ ; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/markdown/injections.scm
2
+ (fenced_code_block
3
+ (info_string
4
+ (language) @_lang)
5
+ (code_fence_content) @injection.content
6
+ (#set-lang-from-info-string! @_lang))
7
+
8
+ ((html_block) @injection.content
9
+ (#set! injection.language "html")
10
+ (#set! injection.combined)
11
+ (#set! injection.include-children))
12
+
13
+ ((minus_metadata) @injection.content
14
+ (#set! injection.language "yaml")
15
+ (#offset! @injection.content 1 0 -1 0)
16
+ (#set! injection.include-children))
17
+
18
+ ((plus_metadata) @injection.content
19
+ (#set! injection.language "toml")
20
+ (#offset! @injection.content 1 0 -1 0)
21
+ (#set! injection.include-children))
22
+
23
+ ([
24
+ (inline)
25
+ (pipe_table_cell)
26
+ ] @injection.content
27
+ (#set! injection.language "markdown_inline"))
@@ -0,0 +1,115 @@
1
+ ; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/99ddf573531c4dbe53f743ecbc1595af5eb1d32f/queries/markdown_inline/highlights.scm
2
+ ; From MDeiml/tree-sitter-markdown
3
+ (code_span) @markup.raw @nospell
4
+
5
+ (emphasis) @markup.italic
6
+
7
+ (strong_emphasis) @markup.strong
8
+
9
+ (strikethrough) @markup.strikethrough
10
+
11
+ (shortcut_link
12
+ (link_text) @nospell)
13
+
14
+ [
15
+ (backslash_escape)
16
+ (hard_line_break)
17
+ ] @string.escape
18
+
19
+ ; Conceal codeblock and text style markers
20
+ ([
21
+ (code_span_delimiter)
22
+ (emphasis_delimiter)
23
+ ] @conceal
24
+ (#set! conceal ""))
25
+
26
+ ; Inline links - style all parts
27
+ (inline_link
28
+ ["[" "(" ")"] @markup.link)
29
+
30
+ (inline_link
31
+ "]" @markup.link.bracket.close)
32
+
33
+ ; Conceal opening bracket
34
+ ((inline_link
35
+ "[" @conceal)
36
+ (#set! conceal ""))
37
+
38
+ ; Conceal closing bracket with space replacement
39
+ ((inline_link
40
+ "]" @conceal)
41
+ (#set! conceal " "))
42
+
43
+ ; Conceal image links
44
+ (image
45
+ [
46
+ "!"
47
+ "["
48
+ "]"
49
+ "("
50
+ (link_destination)
51
+ ")"
52
+ ] @markup.link
53
+ (#set! conceal ""))
54
+
55
+ ; Conceal full reference links
56
+ (full_reference_link
57
+ [
58
+ "["
59
+ "]"
60
+ (link_label)
61
+ ] @markup.link
62
+ (#set! conceal ""))
63
+
64
+ ; Conceal collapsed reference links
65
+ (collapsed_reference_link
66
+ [
67
+ "["
68
+ "]"
69
+ ] @markup.link
70
+ (#set! conceal ""))
71
+
72
+ ; Conceal shortcut links
73
+ (shortcut_link
74
+ [
75
+ "["
76
+ "]"
77
+ ] @markup.link
78
+ (#set! conceal ""))
79
+
80
+ [
81
+ (link_destination)
82
+ (uri_autolink)
83
+ ] @markup.link.url @nospell
84
+
85
+ [
86
+ (link_label)
87
+ (link_text)
88
+ (link_title)
89
+ (image_description)
90
+ ] @markup.link.label
91
+
92
+ ; Replace common HTML entities.
93
+ ((entity_reference) @character.special
94
+ (#eq? @character.special "&nbsp;")
95
+ (#set! conceal ""))
96
+
97
+ ((entity_reference) @character.special
98
+ (#eq? @character.special "&lt;")
99
+ (#set! conceal "<"))
100
+
101
+ ((entity_reference) @character.special
102
+ (#eq? @character.special "&gt;")
103
+ (#set! conceal ">"))
104
+
105
+ ((entity_reference) @character.special
106
+ (#eq? @character.special "&amp;")
107
+ (#set! conceal "&"))
108
+
109
+ ((entity_reference) @character.special
110
+ (#eq? @character.special "&quot;")
111
+ (#set! conceal "\""))
112
+
113
+ ((entity_reference) @character.special
114
+ (#any-of? @character.special "&ensp;" "&emsp;")
115
+ (#set! conceal " "))
@@ -0,0 +1,604 @@
1
+ ; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ecma/highlights.scm
2
+ ; Types
3
+ ; Javascript
4
+ ; Variables
5
+ ;-----------
6
+ (identifier) @variable
7
+
8
+ ; Properties
9
+ ;-----------
10
+ (property_identifier) @variable.member
11
+
12
+ (shorthand_property_identifier) @variable.member
13
+
14
+ (private_property_identifier) @variable.member
15
+
16
+ (object_pattern
17
+ (shorthand_property_identifier_pattern) @variable)
18
+
19
+ (object_pattern
20
+ (object_assignment_pattern
21
+ (shorthand_property_identifier_pattern) @variable))
22
+
23
+ ; Special identifiers
24
+ ;--------------------
25
+ ((identifier) @type
26
+ (#lua-match? @type "^[A-Z]"))
27
+
28
+ ((identifier) @constant
29
+ (#lua-match? @constant "^_*[A-Z][A-Z%d_]*$"))
30
+
31
+ ((shorthand_property_identifier) @constant
32
+ (#lua-match? @constant "^_*[A-Z][A-Z%d_]*$"))
33
+
34
+ ((identifier) @variable.builtin
35
+ (#any-of? @variable.builtin "arguments" "module" "console" "window" "document"))
36
+
37
+ ((identifier) @type.builtin
38
+ (#any-of? @type.builtin
39
+ "Object" "Function" "Boolean" "Symbol" "Number" "Math" "Date" "String" "RegExp" "Map" "Set"
40
+ "WeakMap" "WeakSet" "Promise" "Array" "Int8Array" "Uint8Array" "Uint8ClampedArray" "Int16Array"
41
+ "Uint16Array" "Int32Array" "Uint32Array" "Float32Array" "Float64Array" "ArrayBuffer" "DataView"
42
+ "Error" "EvalError" "InternalError" "RangeError" "ReferenceError" "SyntaxError" "TypeError"
43
+ "URIError"))
44
+
45
+ (statement_identifier) @label
46
+
47
+ ; Function and method definitions
48
+ ;--------------------------------
49
+ (function_expression
50
+ name: (identifier) @function)
51
+
52
+ (function_declaration
53
+ name: (identifier) @function)
54
+
55
+ (generator_function
56
+ name: (identifier) @function)
57
+
58
+ (generator_function_declaration
59
+ name: (identifier) @function)
60
+
61
+ (method_definition
62
+ name: [
63
+ (property_identifier)
64
+ (private_property_identifier)
65
+ ] @function.method)
66
+
67
+ (method_definition
68
+ name: (property_identifier) @constructor
69
+ (#eq? @constructor "constructor"))
70
+
71
+ (pair
72
+ key: (property_identifier) @function.method
73
+ value: (function_expression))
74
+
75
+ (pair
76
+ key: (property_identifier) @function.method
77
+ value: (arrow_function))
78
+
79
+ (assignment_expression
80
+ left: (member_expression
81
+ property: (property_identifier) @function.method)
82
+ right: (arrow_function))
83
+
84
+ (assignment_expression
85
+ left: (member_expression
86
+ property: (property_identifier) @function.method)
87
+ right: (function_expression))
88
+
89
+ (variable_declarator
90
+ name: (identifier) @function
91
+ value: (arrow_function))
92
+
93
+ (variable_declarator
94
+ name: (identifier) @function
95
+ value: (function_expression))
96
+
97
+ (assignment_expression
98
+ left: (identifier) @function
99
+ right: (arrow_function))
100
+
101
+ (assignment_expression
102
+ left: (identifier) @function
103
+ right: (function_expression))
104
+
105
+ ; Function and method calls
106
+ ;--------------------------
107
+ (call_expression
108
+ function: (identifier) @function.call)
109
+
110
+ (call_expression
111
+ function: (member_expression
112
+ property: [
113
+ (property_identifier)
114
+ (private_property_identifier)
115
+ ] @function.method.call))
116
+
117
+ (call_expression
118
+ function: (await_expression
119
+ (identifier) @function.call))
120
+
121
+ (call_expression
122
+ function: (await_expression
123
+ (member_expression
124
+ property: [
125
+ (property_identifier)
126
+ (private_property_identifier)
127
+ ] @function.method.call)))
128
+
129
+ ; Builtins
130
+ ;---------
131
+ ((identifier) @module.builtin
132
+ (#eq? @module.builtin "Intl"))
133
+
134
+ ((identifier) @function.builtin
135
+ (#any-of? @function.builtin
136
+ "eval" "isFinite" "isNaN" "parseFloat" "parseInt" "decodeURI" "decodeURIComponent" "encodeURI"
137
+ "encodeURIComponent" "require"))
138
+
139
+ ; Constructor
140
+ ;------------
141
+ (new_expression
142
+ constructor: (identifier) @constructor)
143
+
144
+ ; Decorators
145
+ ;----------
146
+ (decorator
147
+ "@" @attribute
148
+ (identifier) @attribute)
149
+
150
+ (decorator
151
+ "@" @attribute
152
+ (call_expression
153
+ (identifier) @attribute))
154
+
155
+ (decorator
156
+ "@" @attribute
157
+ (member_expression
158
+ (property_identifier) @attribute))
159
+
160
+ (decorator
161
+ "@" @attribute
162
+ (call_expression
163
+ (member_expression
164
+ (property_identifier) @attribute)))
165
+
166
+ ; Literals
167
+ ;---------
168
+ [
169
+ (this)
170
+ (super)
171
+ ] @variable.builtin
172
+
173
+ ((identifier) @variable.builtin
174
+ (#eq? @variable.builtin "self"))
175
+
176
+ [
177
+ (true)
178
+ (false)
179
+ ] @boolean
180
+
181
+ [
182
+ (null)
183
+ (undefined)
184
+ ] @constant.builtin
185
+
186
+ [
187
+ (comment)
188
+ (html_comment)
189
+ ] @comment @spell
190
+
191
+ ((comment) @comment.documentation
192
+ (#lua-match? @comment.documentation "^/[*][*][^*].*[*]/$"))
193
+
194
+ (hash_bang_line) @keyword.directive
195
+
196
+ ((string_fragment) @keyword.directive
197
+ (#eq? @keyword.directive "use strict"))
198
+
199
+ (string) @string
200
+
201
+ (template_string) @string
202
+
203
+ (escape_sequence) @string.escape
204
+
205
+ (regex_pattern) @string.regexp
206
+
207
+ (regex_flags) @character.special
208
+
209
+ (regex
210
+ "/" @punctuation.bracket) ; Regex delimiters
211
+
212
+ (number) @number
213
+
214
+ ((identifier) @number
215
+ (#any-of? @number "NaN" "Infinity"))
216
+
217
+ ; Punctuation
218
+ ;------------
219
+ [
220
+ ";"
221
+ "."
222
+ ","
223
+ ":"
224
+ ] @punctuation.delimiter
225
+
226
+ [
227
+ "--"
228
+ "-"
229
+ "-="
230
+ "&&"
231
+ "+"
232
+ "++"
233
+ "+="
234
+ "&="
235
+ "/="
236
+ "**="
237
+ "<<="
238
+ "<"
239
+ "<="
240
+ "<<"
241
+ "="
242
+ "=="
243
+ "==="
244
+ "!="
245
+ "!=="
246
+ "=>"
247
+ ">"
248
+ ">="
249
+ ">>"
250
+ "||"
251
+ "%"
252
+ "%="
253
+ "*"
254
+ "**"
255
+ ">>>"
256
+ "&"
257
+ "|"
258
+ "^"
259
+ "??"
260
+ "*="
261
+ ">>="
262
+ ">>>="
263
+ "^="
264
+ "|="
265
+ "&&="
266
+ "||="
267
+ "??="
268
+ "..."
269
+ ] @operator
270
+
271
+ (binary_expression
272
+ "/" @operator)
273
+
274
+ (ternary_expression
275
+ [
276
+ "?"
277
+ ":"
278
+ ] @keyword.conditional.ternary)
279
+
280
+ (unary_expression
281
+ [
282
+ "!"
283
+ "~"
284
+ "-"
285
+ "+"
286
+ ] @operator)
287
+
288
+ (unary_expression
289
+ [
290
+ "delete"
291
+ "void"
292
+ ] @keyword.operator)
293
+
294
+ [
295
+ "("
296
+ ")"
297
+ "["
298
+ "]"
299
+ "{"
300
+ "}"
301
+ ] @punctuation.bracket
302
+
303
+ (template_substitution
304
+ [
305
+ "${"
306
+ "}"
307
+ ] @punctuation.special) @none
308
+
309
+ ; Imports
310
+ ;----------
311
+ (namespace_import
312
+ "*" @character.special
313
+ (identifier) @module)
314
+
315
+ (namespace_export
316
+ "*" @character.special
317
+ (identifier) @module)
318
+
319
+ (export_statement
320
+ "*" @character.special)
321
+
322
+ ; Keywords
323
+ ;----------
324
+ [
325
+ "if"
326
+ "else"
327
+ "switch"
328
+ "case"
329
+ ] @keyword.conditional
330
+
331
+ [
332
+ "import"
333
+ "from"
334
+ "as"
335
+ "export"
336
+ ] @keyword.import
337
+
338
+ [
339
+ "for"
340
+ "of"
341
+ "do"
342
+ "while"
343
+ "continue"
344
+ ] @keyword.repeat
345
+
346
+ [
347
+ "break"
348
+ "const"
349
+ "debugger"
350
+ "extends"
351
+ "get"
352
+ "let"
353
+ "set"
354
+ "static"
355
+ "target"
356
+ "var"
357
+ "with"
358
+ ] @keyword
359
+
360
+ "class" @keyword.type
361
+
362
+ [
363
+ "async"
364
+ "await"
365
+ ] @keyword.coroutine
366
+
367
+ [
368
+ "return"
369
+ "yield"
370
+ ] @keyword.return
371
+
372
+ "function" @keyword.function
373
+
374
+ [
375
+ "new"
376
+ "delete"
377
+ "in"
378
+ "instanceof"
379
+ "typeof"
380
+ ] @keyword.operator
381
+
382
+ [
383
+ "throw"
384
+ "try"
385
+ "catch"
386
+ "finally"
387
+ ] @keyword.exception
388
+
389
+ (export_statement
390
+ "default" @keyword)
391
+
392
+ (switch_default
393
+ "default" @keyword.conditional)
394
+
395
+
396
+ ; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/typescript/highlights.scm
397
+ ; inherits: ecma
398
+
399
+ "require" @keyword.import
400
+
401
+ (import_require_clause
402
+ source: (string) @string.special.url)
403
+
404
+ [
405
+ "declare"
406
+ "implements"
407
+ "type"
408
+ "override"
409
+ "module"
410
+ "asserts"
411
+ "infer"
412
+ "is"
413
+ "using"
414
+ ] @keyword
415
+
416
+ [
417
+ "namespace"
418
+ "interface"
419
+ "enum"
420
+ ] @keyword.type
421
+
422
+ [
423
+ "keyof"
424
+ "satisfies"
425
+ ] @keyword.operator
426
+
427
+ (as_expression
428
+ "as" @keyword.operator)
429
+
430
+ (mapped_type_clause
431
+ "as" @keyword.operator)
432
+
433
+ [
434
+ "abstract"
435
+ "private"
436
+ "protected"
437
+ "public"
438
+ "readonly"
439
+ ] @keyword.modifier
440
+
441
+ ; types
442
+ (type_identifier) @type
443
+
444
+ (predefined_type) @type.builtin
445
+
446
+ (import_statement
447
+ "type"
448
+ (import_clause
449
+ (named_imports
450
+ (import_specifier
451
+ name: (identifier) @type))))
452
+
453
+ (template_literal_type) @string
454
+
455
+ (non_null_expression
456
+ "!" @operator)
457
+
458
+ ; punctuation
459
+ (type_arguments
460
+ [
461
+ "<"
462
+ ">"
463
+ ] @punctuation.bracket)
464
+
465
+ (type_parameters
466
+ [
467
+ "<"
468
+ ">"
469
+ ] @punctuation.bracket)
470
+
471
+ (object_type
472
+ [
473
+ "{|"
474
+ "|}"
475
+ ] @punctuation.bracket)
476
+
477
+ (union_type
478
+ "|" @punctuation.delimiter)
479
+
480
+ (intersection_type
481
+ "&" @punctuation.delimiter)
482
+
483
+ (type_annotation
484
+ ":" @punctuation.delimiter)
485
+
486
+ (type_predicate_annotation
487
+ ":" @punctuation.delimiter)
488
+
489
+ (index_signature
490
+ ":" @punctuation.delimiter)
491
+
492
+ (omitting_type_annotation
493
+ "-?:" @punctuation.delimiter)
494
+
495
+ (adding_type_annotation
496
+ "+?:" @punctuation.delimiter)
497
+
498
+ (opting_type_annotation
499
+ "?:" @punctuation.delimiter)
500
+
501
+ "?." @punctuation.delimiter
502
+
503
+ (abstract_method_signature
504
+ "?" @punctuation.special)
505
+
506
+ (method_signature
507
+ "?" @punctuation.special)
508
+
509
+ (method_definition
510
+ "?" @punctuation.special)
511
+
512
+ (property_signature
513
+ "?" @punctuation.special)
514
+
515
+ (optional_parameter
516
+ "?" @punctuation.special)
517
+
518
+ (optional_type
519
+ "?" @punctuation.special)
520
+
521
+ (public_field_definition
522
+ [
523
+ "?"
524
+ "!"
525
+ ] @punctuation.special)
526
+
527
+ (flow_maybe_type
528
+ "?" @punctuation.special)
529
+
530
+ (template_type
531
+ [
532
+ "${"
533
+ "}"
534
+ ] @punctuation.special)
535
+
536
+ (conditional_type
537
+ [
538
+ "?"
539
+ ":"
540
+ ] @keyword.conditional.ternary)
541
+
542
+ ; Parameters
543
+ (required_parameter
544
+ pattern: (identifier) @variable.parameter)
545
+
546
+ (optional_parameter
547
+ pattern: (identifier) @variable.parameter)
548
+
549
+ (required_parameter
550
+ (rest_pattern
551
+ (identifier) @variable.parameter))
552
+
553
+ ; ({ a }) => null
554
+ (required_parameter
555
+ (object_pattern
556
+ (shorthand_property_identifier_pattern) @variable.parameter))
557
+
558
+ ; ({ a = b }) => null
559
+ (required_parameter
560
+ (object_pattern
561
+ (object_assignment_pattern
562
+ (shorthand_property_identifier_pattern) @variable.parameter)))
563
+
564
+ ; ({ a: b }) => null
565
+ (required_parameter
566
+ (object_pattern
567
+ (pair_pattern
568
+ value: (identifier) @variable.parameter)))
569
+
570
+ ; ([ a ]) => null
571
+ (required_parameter
572
+ (array_pattern
573
+ (identifier) @variable.parameter))
574
+
575
+ ; a => null
576
+ (arrow_function
577
+ parameter: (identifier) @variable.parameter)
578
+
579
+ ; global declaration
580
+ (ambient_declaration
581
+ "global" @module)
582
+
583
+ ; function signatures
584
+ (ambient_declaration
585
+ (function_signature
586
+ name: (identifier) @function))
587
+
588
+ ; method signatures
589
+ (method_signature
590
+ name: (_) @function.method)
591
+
592
+ (abstract_method_signature
593
+ name: (property_identifier) @function.method)
594
+
595
+ ; property signatures
596
+ (property_signature
597
+ name: (property_identifier) @function.method
598
+ type: (type_annotation
599
+ [
600
+ (union_type
601
+ (parenthesized_type
602
+ (function_type)))
603
+ (function_type)
604
+ ]))
@@ -0,0 +1,284 @@
1
+ ; Query from: https://github.com/nvim-treesitter/nvim-treesitter/raw/refs/heads/master/queries/zig/highlights.scm
2
+ ; Variables
3
+ (identifier) @variable
4
+
5
+ ; Parameters
6
+ (parameter
7
+ name: (identifier) @variable.parameter)
8
+
9
+ (payload
10
+ (identifier) @variable.parameter)
11
+
12
+ ; Types
13
+ (parameter
14
+ type: (identifier) @type)
15
+
16
+ ((identifier) @type
17
+ (#lua-match? @type "^[A-Z_][a-zA-Z0-9_]*"))
18
+
19
+ (variable_declaration
20
+ (identifier) @type
21
+ "="
22
+ [
23
+ (struct_declaration)
24
+ (enum_declaration)
25
+ (union_declaration)
26
+ (opaque_declaration)
27
+ ])
28
+
29
+ [
30
+ (builtin_type)
31
+ "anyframe"
32
+ ] @type.builtin
33
+
34
+ ; Constants
35
+ ((identifier) @constant
36
+ (#lua-match? @constant "^[A-Z][A-Z_0-9]+$"))
37
+
38
+ [
39
+ "null"
40
+ "unreachable"
41
+ "undefined"
42
+ ] @constant.builtin
43
+
44
+ (field_expression
45
+ .
46
+ member: (identifier) @constant)
47
+
48
+ (enum_declaration
49
+ (container_field
50
+ type: (identifier) @constant))
51
+
52
+ ; Labels
53
+ (block_label
54
+ (identifier) @label)
55
+
56
+ (break_label
57
+ (identifier) @label)
58
+
59
+ ; Fields
60
+ (field_initializer
61
+ .
62
+ (identifier) @variable.member)
63
+
64
+ (field_expression
65
+ (_)
66
+ member: (identifier) @variable.member)
67
+
68
+ (container_field
69
+ name: (identifier) @variable.member)
70
+
71
+ (initializer_list
72
+ (assignment_expression
73
+ left: (field_expression
74
+ .
75
+ member: (identifier) @variable.member)))
76
+
77
+ ; Functions
78
+ (builtin_identifier) @function.builtin
79
+
80
+ (call_expression
81
+ function: (identifier) @function.call)
82
+
83
+ (call_expression
84
+ function: (field_expression
85
+ member: (identifier) @function.call))
86
+
87
+ (function_declaration
88
+ name: (identifier) @function)
89
+
90
+ ; Modules
91
+ (variable_declaration
92
+ (identifier) @module
93
+ (builtin_function
94
+ (builtin_identifier) @keyword.import
95
+ (#any-of? @keyword.import "@import" "@cImport")))
96
+
97
+ ; Builtins
98
+ [
99
+ "c"
100
+ "..."
101
+ ] @variable.builtin
102
+
103
+ ((identifier) @variable.builtin
104
+ (#eq? @variable.builtin "_"))
105
+
106
+ (calling_convention
107
+ (identifier) @variable.builtin)
108
+
109
+ ; Keywords
110
+ [
111
+ "asm"
112
+ "defer"
113
+ "errdefer"
114
+ "test"
115
+ "error"
116
+ "const"
117
+ "var"
118
+ ] @keyword
119
+
120
+ [
121
+ "struct"
122
+ "union"
123
+ "enum"
124
+ "opaque"
125
+ ] @keyword.type
126
+
127
+ [
128
+ "async"
129
+ "await"
130
+ "suspend"
131
+ "nosuspend"
132
+ "resume"
133
+ ] @keyword.coroutine
134
+
135
+ "fn" @keyword.function
136
+
137
+ [
138
+ "and"
139
+ "or"
140
+ "orelse"
141
+ ] @keyword.operator
142
+
143
+ "return" @keyword.return
144
+
145
+ [
146
+ "if"
147
+ "else"
148
+ "switch"
149
+ ] @keyword.conditional
150
+
151
+ [
152
+ "for"
153
+ "while"
154
+ "break"
155
+ "continue"
156
+ ] @keyword.repeat
157
+
158
+ [
159
+ "usingnamespace"
160
+ "export"
161
+ ] @keyword.import
162
+
163
+ [
164
+ "try"
165
+ "catch"
166
+ ] @keyword.exception
167
+
168
+ [
169
+ "volatile"
170
+ "allowzero"
171
+ "noalias"
172
+ "addrspace"
173
+ "align"
174
+ "callconv"
175
+ "linksection"
176
+ "pub"
177
+ "inline"
178
+ "noinline"
179
+ "extern"
180
+ "comptime"
181
+ "packed"
182
+ "threadlocal"
183
+ ] @keyword.modifier
184
+
185
+ ; Operator
186
+ [
187
+ "="
188
+ "*="
189
+ "*%="
190
+ "*|="
191
+ "/="
192
+ "%="
193
+ "+="
194
+ "+%="
195
+ "+|="
196
+ "-="
197
+ "-%="
198
+ "-|="
199
+ "<<="
200
+ "<<|="
201
+ ">>="
202
+ "&="
203
+ "^="
204
+ "|="
205
+ "!"
206
+ "~"
207
+ "-"
208
+ "-%"
209
+ "&"
210
+ "=="
211
+ "!="
212
+ ">"
213
+ ">="
214
+ "<="
215
+ "<"
216
+ "&"
217
+ "^"
218
+ "|"
219
+ "<<"
220
+ ">>"
221
+ "<<|"
222
+ "+"
223
+ "++"
224
+ "+%"
225
+ "-%"
226
+ "+|"
227
+ "-|"
228
+ "*"
229
+ "/"
230
+ "%"
231
+ "**"
232
+ "*%"
233
+ "*|"
234
+ "||"
235
+ ".*"
236
+ ".?"
237
+ "?"
238
+ ".."
239
+ ] @operator
240
+
241
+ ; Literals
242
+ (character) @character
243
+
244
+ ([
245
+ (string)
246
+ (multiline_string)
247
+ ] @string
248
+ (#set! "priority" 95))
249
+
250
+ (integer) @number
251
+
252
+ (float) @number.float
253
+
254
+ (boolean) @boolean
255
+
256
+ (escape_sequence) @string.escape
257
+
258
+ ; Punctuation
259
+ [
260
+ "["
261
+ "]"
262
+ "("
263
+ ")"
264
+ "{"
265
+ "}"
266
+ ] @punctuation.bracket
267
+
268
+ [
269
+ ";"
270
+ "."
271
+ ","
272
+ ":"
273
+ "=>"
274
+ "->"
275
+ ] @punctuation.delimiter
276
+
277
+ (payload
278
+ "|" @punctuation.bracket)
279
+
280
+ ; Comments
281
+ (comment) @comment @spell
282
+
283
+ ((comment) @comment.documentation
284
+ (#lua-match? @comment.documentation "^//!"))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proxysoul/soulforge",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "Graph-powered code intelligence — multi-agent coding with codebase-aware AI",
5
5
  "repository": {
6
6
  "type": "git",