on master help sign in
replace new lsp for vlang (#7760)
57952c4lydiandy
book/src/generated/lang-support.md+1−1
@@ -156,7 +156,7 @@
156| typescript | ✓ | ✓ | ✓ | `typescript-language-server` |
156| typescript | ✓ | ✓ | ✓ | `typescript-language-server` |
157| ungrammar | ✓ | | | |
157| ungrammar | ✓ | | | |
158| uxntal | ✓ | | | |
158| uxntal | ✓ | | | |
159−| v | ✓ | ✓ | ✓ | `v` |
159+| v | ✓ | ✓ | ✓ | `v-analyzer` |
160| vala | ✓ | | | `vala-language-server` |
160| vala | ✓ | | | `vala-language-server` |
161| verilog | ✓ | ✓ | | `svlangserver` |
161| verilog | ✓ | ✓ | | `svlangserver` |
162| vhdl | ✓ | | | `vhdl_ls` |
162| vhdl | ✓ | | | `vhdl_ls` |
languages.toml+2−2
@@ -70,7 +70,7 @@ terraform-ls = { command = "terraform-ls", args = ["serve"] }
70texlab = { command = "texlab" }
70texlab = { command = "texlab" }
71vala-language-server = { command = "vala-language-server" }
71vala-language-server = { command = "vala-language-server" }
72vhdl_ls = { command = "vhdl_ls", args = [] }
72vhdl_ls = { command = "vhdl_ls", args = [] }
73−vlang-language-server = { command = "v", args = ["ls"] }
73+vlang-language-server = { command = "v-analyzer" }
74vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { "provideFormatter" = true }}
74vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { "provideFormatter" = true }}
75vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } }
75vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } }
76vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } }
76vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } }
@@ -1826,7 +1826,7 @@ indent = { tab-width = 4, unit = "\t" }
1826
1826
1827[[grammar]]
1827[[grammar]]
1828name = "v"
1828name = "v"
1829−source = { git = "https://github.com/vlang/vls", subpath = "tree_sitter_v", rev = "66cf9d3086fb5ecc827cb32c64c5d812ab17d2c6" }
1829+source = {git = "https://github.com/v-analyzer/v-analyzer", subpath = "tree_sitter_v", rev = "e14fdf6e661b10edccc744102e4ccf0b187aa8ad"}
1830
1830
1831[[language]]
1831[[language]]
1832name = "verilog"
1832name = "verilog"
runtime/queries/v/highlights.scm+85−51
@@ -1,83 +1,112 @@
1+(comment) @comment
2+
3+(module_clause
4+ (identifier) @namespace)
5+
6+(import_path
7+ (import_name) @namespace)
8+
9+(import_alias
10+ (import_name) @namespace)
11+
12+(enum_fetch
13+ (reference_expression) @constant)
14+
15+(enum_field_definition
16+ (identifier) @constant)
17+
18+(global_var_definition
19+ (identifier) @constant)
20+
21+(compile_time_if_expression
22+ condition: (reference_expression) @constant)
23+
24+(compile_time_if_expression
25+ condition: (binary_expression
26+ left: (reference_expression) @constant
27+ right: (reference_expression) @constant))
28+
29+(compile_time_if_expression
30+ condition: (binary_expression
31+ left: (reference_expression) @constant
32+ right: (unary_expression (reference_expression) @constant)))
33+
34+(label_reference) @label
35+
1(parameter_declaration
36(parameter_declaration
37+ name: (identifier) @variable.parameter)
38+(receiver
2− name: (identifier) @variable.parameter)
39+ name: (identifier) @variable.parameter)
3(function_declaration
40(function_declaration
4− name: (identifier) @function)
41+ name: (identifier) @function)
5(function_declaration
42(function_declaration
6− receiver: (parameter_list)
43+ receiver: (receiver)
44+ name: (identifier) @function.method)
45+(interface_method_definition
7− name: (identifier) @function.method)
46+ name: (identifier) @function.method)
8
47
9(call_expression
48(call_expression
10− function: (identifier) @function)
11−(call_expression
12− function: (selector_expression
49+ name: (selector_expression
13− field: (identifier) @function.method))
50+ field: (reference_expression) @function.method))
14
51
15−(field_identifier) @variable.other.member
52+(call_expression
16−(selector_expression
53+ name: (reference_expression) @function)
17− operand: (identifier) @variable
18− field: (identifier) @variable.other.member)
19
54
20−(int_literal) @constant.numeric.integer
55+(struct_declaration
56+ name: (identifier) @type)
21
57
22−(attribute_declaration) @attribute
58+(enum_declaration
23−(comment) @comment
59+ name: (identifier) @type)
24−[
25− (c_string_literal)
26− (raw_string_literal)
27− (interpreted_string_literal)
28− (string_interpolation)
29− (rune_literal)
30−] @string
31
60
32−(escape_sequence) @constant.character.escape
61+(interface_declaration
62+ name: (identifier) @type)
33
63
34−[
64+(type_declaration
35− (pointer_type)
65+ name: (identifier) @type)
36− (array_type)
37−] @type
38
66
39−(const_spec name: (identifier) @constant)
67+(struct_field_declaration
40−(global_var_type_initializer name: (identifier) @constant)
68+ name: (identifier) @variable.other.member)
41−(global_var_spec name: (identifier) @constant)
42−((identifier) @constant (#match? @constant "^[A-Z][A-Z\\d_]*$"))
43
69
70+(field_name) @variable.other.member
44
71
45−[
72+(selector_expression
46− (generic_type)
73+ field: (reference_expression) @variable.other.member)
47− (type_identifier)
48−] @constructor
49
74
50−(builtin_type) @type.builtin
75+(int_literal) @constant.numeric.integer
76+(escape_sequence) @constant.character.escape
51
77
52[
78[
53− (true)
79+ (c_string_literal)
54− (false)
80+ (raw_string_literal)
55−] @constant.builtin.boolean
81+ (interpreted_string_literal)
82+ (string_interpolation)
83+ (rune_literal)
84+] @string
56
85
86+(string_interpolation
87+ (braced_interpolation_opening) @punctuation.bracket
88+ (interpolated_expression) @embedded
89+ (braced_interpolation_closing) @punctuation.bracket)
57
90
58−[
91+(attribute) @attribute
59− (module_identifier)
60− (import_path)
61−] @namespace
62
92
63[
93[
64− (pseudo_comptime_identifier)
94+ (type_reference_expression)
65− (label_name)
95+ ] @type
66−] @label
67
96
68[
97[
69− (identifier)
98+ (true)
70−] @variable
99+ (false)
71−
100+] @constant.builtin.boolean
72
101
73[
102[
74 "pub"
103 "pub"
75 "assert"
104 "assert"
76− "go"
77 "asm"
105 "asm"
78 "defer"
106 "defer"
79 "unsafe"
107 "unsafe"
80 "sql"
108 "sql"
109+ (nil)
81 (none)
110 (none)
82] @keyword
111] @keyword
83
112
@@ -105,12 +134,17 @@
105 "lock"
134 "lock"
106 "rlock"
135 "rlock"
107 "spawn"
136 "spawn"
137+ "break"
138+ "continue"
139+ "go"
108] @keyword.control
140] @keyword.control
109
141
110[
142[
111 "if"
143 "if"
144+ "$if"
112 "select"
145 "select"
113 "else"
146 "else"
147+ "$else"
114 "match"
148 "match"
115] @keyword.control.conditional
149] @keyword.control.conditional
116
150
@@ -155,7 +189,7 @@
155 "]"
189 "]"
156] @punctuation.bracket
190] @punctuation.bracket
157
191
158−(array) @punctuation.bracket
192+(array_creation) @punctuation.bracket
159
193
160[
194[
161 "++"
195 "++"
runtime/queries/v/indents.scm+2−3
@@ -3,11 +3,10 @@
3 (function_declaration)
3 (function_declaration)
4 (if_expression)
4 (if_expression)
5 (match_expression)
5 (match_expression)
6− (expression_case)
7− (default_case)
8 (for_statement)
6 (for_statement)
9 (unsafe_expression)
7 (unsafe_expression)
10− (short_var_declaration)
8+ (var_declaration)
9+ (const_declaration)
11] @indent
10] @indent
12
11
13[
12[
runtime/queries/v/textobjects.scm+3−3
@@ -6,7 +6,7 @@
6 body: (block)? @test.inside) @test.around
6 body: (block)? @test.inside) @test.around
7 (#match? @_name "^test"))
7 (#match? @_name "^test"))
8
8
9−(fn_literal
9+(function_literal
10 body: (block)? @function.inside) @function.around
10 body: (block)? @function.inside) @function.around
11
11
12(parameter_list
12(parameter_list
@@ -17,9 +17,9 @@
17 ((_) @parameter.inside) @parameter.around))
17 ((_) @parameter.inside) @parameter.around))
18
18
19(struct_declaration
19(struct_declaration
20− (struct_field_declaration_list) @class.inside) @class.around
20+ (struct_field_declaration) @class.inside) @class.around
21
21
22−(struct_field_declaration_list
22+(struct_field_declaration
23 ((_) @parameter.inside) @parameter.around)
23 ((_) @parameter.inside) @parameter.around)
24
24
25(comment) @comment.inside
25(comment) @comment.inside