Commit Graph

1127 Commits

Author SHA1 Message Date
Martin Tournoij
622efdcd6a
Use plain text if the client tells zls it's preferred
LSP clients send a list of supported formats for definition and
completion; the specification says "the order describes the preferred
format of the client."[1]

My client sends:

	'hover': {'contentFormat': ['plaintext', 'markdown']},

So it should prefer plaintext, using markdown if that's not supported by
the server. zls behaved slightly different: it would use Markdown if it
appears at all in the list of supported formats.

This fixes it so that it will use plain text if that appears before
'markdown' in the list.

[1]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_hover
2023-04-13 07:33:43 +02:00
Techatrix
d2287816a7 disable assertions in smallestEnclosingSubrange 2023-04-12 23:44:39 +01:00
nullptrdevs
55b1aeb6f7
Avoid accessing inactive union fields in completeDot (#1115)
As reported on Discord by CodotakuYT:
```zig
fn populate(T: type, index: i32) T {
    _ = index;
    @typeInfo(T).struct.
}
```
```
thread 17384 panic: access of union field 'ast_node' while field 'param_payload' is active
C:\Users\taoua\zls\src\features\completions.zig:875:61: 0x7ff68070caac in completeDot (zls.exe.obj)
                const node_data = nodes_data[local_decl.decl.ast_node];
```
2023-04-05 10:28:21 -04:00
Auguste Rame
7814a05921
Remove format lt 512 diff restriction (#1109) 2023-04-04 16:23:44 -04:00
Auguste Rame
ace6d7f32b
Remove outdated diagnostics check (#1106) 2023-04-03 13:42:22 -04:00
Auguste Rame
471d971d1d
Merge pull request #1000 from Techatrix/stage2-zir
Embed AstGen into ZLS
2023-04-01 23:08:40 -04:00
Auguste Rame
99af009232
Disable build file config runs for WASI (#1102) 2023-04-01 23:07:38 -04:00
Techarix
018569888f explain how AstGen will diverge from zig codebase 2023-04-01 23:03:51 +02:00
Techarix
4215edbc33 add support for running ast-check without zig 2023-04-01 23:03:51 +02:00
Techarix
c06cf6e95c add zig code for generating Zir 2023-04-01 22:44:56 +02:00
Auguste Rame
8b5c649805
Add anytype resolution based on call references (#1067) 2023-03-31 11:54:46 -04:00
Auguste Rame
c217502670
Make Analyser use its own arena (#1101) 2023-03-29 14:36:32 -04:00
Techatrix
9a7d262e6c only include snippet completions when enable_snippet is set 2023-03-26 16:20:15 +01:00
Techatrix
90b468ac9f update snippet data 2023-03-26 16:20:15 +01:00
Techatrix
29037f2f05 disable .fixall autofix mode 2023-03-26 16:19:38 +01:00
Techatrix
283ca0006d Apply suggestions from code review
Co-authored-by: Lee Cannon <leecannon@leecannon.xyz>
2023-03-26 16:19:00 +01:00
Techatrix
4b042a562a exclude default cimport declarations from completions 2023-03-26 16:19:00 +01:00
Lee Cannon
f24fcc2b1e
disable cimport resolution (#1091) 2023-03-23 13:28:42 -04:00
Techatrix
1e733a8782 fix block label completion test 2023-03-23 15:13:33 +00:00
Techatrix
84228a612e improve source location of block scope with invalid ast 2023-03-23 15:13:33 +00:00
Techatrix
7e652a5527 refactor document scope creation to be more aware of block expressions 2023-03-23 15:13:33 +00:00
Techatrix
53c7e5bed7 remove TODO's about redefinition errors i favor of ast-check 2023-03-23 15:13:33 +00:00
Techatrix
419527a40d update handling of some node tags in makeScopeInternal 2023-03-23 15:13:33 +00:00
Techatrix
775c38f5f5 implement document scope creation for array_type_sentinel 2023-03-23 15:13:33 +00:00
Techatrix
72228e2b41 fix printDocumentScope 2023-03-23 15:13:33 +00:00
Veikka Tuominen
61b42ca63a make semantic token configuration an enum 2023-03-23 15:02:12 +00:00
nullptrdevs
e1d90a1a1b More . completion 2023-03-23 15:01:23 +00:00
nullptrdevs
9723a92508 Struct init fields completion. 2023-03-21 17:46:33 +00:00
Lee Cannon
a9295769e7
hack latest build changes (#1077) 2023-03-18 20:50:26 -04:00
Techatrix
4b034f1afb
Rework file structure (#1069)
* move language feature files into separate folder

* move code completions into features/completions.zig

* move goto definition/declaration into features folder

* move hover into features folder

* restructure imports

* move selection range into features folder

* restructure request handling tracy call

* add missing features to `zls.zig`
2023-03-17 23:01:41 +01:00
Auguste Rame
3586a7858e
Fix scope creation for label blocks (#1074) 2023-03-17 15:02:51 -04:00
Techatrix
0aacb76743
support enums in config_gen (#1072)
* support enum types in config_gen

* fix typo
2023-03-17 02:27:35 -04:00
Techatrix
12014cd93d fix typos 2023-03-15 17:34:23 +01:00
Lee Cannon
985e7069a2
tracy: workaround zig bug (#1066) 2023-03-15 11:59:56 -04:00
Techatrix
c2d15bfc9a only return block scopes from innermostBlockScope 2023-03-14 15:16:30 +00:00
Techatrix
487281f8e2 improve variable lookup performance 2023-03-14 15:16:30 +00:00
Techatrix
f5897569c4 do not store Handle pointer in Analyser 2023-03-14 15:16:30 +00:00
Techatrix
9d7012596a replace unnecessary std.ArrayListUnmanaged in document scope 2023-03-14 15:16:30 +00:00
Techatrix
ea02e4364f remove had_root global 2023-03-14 15:16:30 +00:00
Techatrix
0ff0a193cc simplify analysis by introducing a Analysis Struct 2023-03-14 15:16:30 +00:00
Techatrix
865e5efe8b refactor semantic tokens 2023-03-14 14:56:11 +00:00
Techatrix
bbc082d102 update config gen to work with vscode-zig 2023-03-14 14:27:18 +00:00
Techatrix
dc7efa591c resolve relative include directories 2023-03-14 14:25:13 +00:00
Auguste Rame
ef4a0607fb
Add some more basic overflow checks (#1055) 2023-03-12 01:53:05 -05:00
Techatrix
a959f161e9
find references on test decl with identifier name (#1051) 2023-03-12 01:24:54 -05:00
Techatrix
ab23ff3616
Optimize document symbols (#1050)
* optimize document symbol generation

* match folding range index to position conversion and documentation to document symbol's

* skip function decls with no name

* skip document symbol field in opaque type
2023-03-12 01:24:42 -05:00
Techatrix
c203110555
more tracy calls (#1052) 2023-03-11 13:43:14 -05:00
Techatrix
ff467f9878
InternPool: add more helper functions and debug formatting (#1043) 2023-03-11 12:37:06 -05:00
Techatrix
333fcb5633
minor semantic token fixes (#1044)
* improve analysis and highlighting of error sets

* emit semantic token for unresolved identifiers

* minor semantic token fixes
2023-03-11 12:36:48 -05:00
Techatrix
3c26892c7e
limit maximum detail length at 1024 bytes (#1048) 2023-03-10 20:06:17 -05:00