Commit Graph

1353 Commits

Author SHA1 Message Date
Auguste Rame
e2307d7dbf Fix fuzzing ref (#933) 2023-01-22 05:46:35 -05:00
Auguste Rame
12e996ad96 Fix env transfer (#932) 2023-01-22 05:40:03 -05:00
Auguste Rame
7b35c6e5eb Last fuzzing PR for a while hopefully (#929) 2023-01-22 03:30:10 -05:00
Auguste Rame
211a852efc Fix fuzzing paths (#928) 2023-01-21 21:49:05 -05:00
Auguste Rame
d670a4bbf2 Add fuzzing workflow (#927) 2023-01-21 18:27:16 -05:00
Techatrix
5afaf2ae3a optimize folding range (#926) 2023-01-21 13:32:12 -05:00
Aleksey Kladov
ea05916e69 Goto definition works when the cursor is at the start of the identifier.
Before, the code lexed only a prefix of the line up to cursor position.
Now, we lex the entire line, and do look at the token just after the
cursor.

This subtly changes sematncih of `getPostionContext`: now it is becomes
oblivious of the _exact_ position of the cursor and returns the whole
token at cursor's position.

I believe this is semantically right approach -- _most_ of the callsite
should not worry at all about such details. Something like completion
_might_ want to know more, but it's better to make that call site's
problem.

It might be the case that some existing code relies on the past
behavior. It's hard to tell though -- we don't have a lot of tests for
_features_, and changes to unit-tests don't explain if the changes are
meaningful for user-observable behavior or not.

In general, for LSP-shaped thing, I feel that the bulk of testing should
be focused on end-to-end behaviors....
2023-01-21 18:31:26 +00:00
Techatrix
1ed8d49b30 fix builtin completions if label_details_support is false (#924) 2023-01-20 19:33:27 -05:00
Techatrix
fa5828496e Generate data files in config_gen.zig (#903)
* generate data files in config_gen.zig

* remove trailing comma from config.json

* update README.md

* run zig build gen

* handle some unclosed tags

* update data file header

* generate new data files

* remove old data file generators
2023-01-19 01:46:42 -05:00
Alex Kladov
6949989ece Allow setting test filter in zig build test (#909)
Example usage:

  $ zig build test -Dtest-filter=definition
2023-01-17 12:40:26 -05:00
Auguste Rame
93abb8cdd5 Fix bypass not having value on PR&commit (#920) 2023-01-16 20:49:28 -05:00
Auguste Rame
52df02c0f1 Add fuzzing on deploy (#918) 2023-01-16 20:15:12 -05:00
Techatrix
9e74afada6 show better zig/zls version mismatch messages (#917)
* show better zig/zls version mismatch messages

* always show message if versions don't match

* ignore patch
2023-01-16 13:49:00 -05:00
Techatrix
af85a9550d simplify formatting handler (#916) 2023-01-16 13:47:55 -05:00
Techatrix
4e4761b34c fix use after free for builtin completions (#914) 2023-01-16 13:47:06 -05:00
Techatrix
8d53a5382d resolve type of @typeInfo (#915) 2023-01-16 13:46:33 -05:00
Alex Kladov
61fa98065f fix use after free (#911) 2023-01-11 20:18:37 +00:00
Lee Cannon
20d29fd491 move log overrides into std_options (#902) 2023-01-10 16:52:03 -05:00
Techatrix
bbbd54498d check submodules in build.zig (#904) 2023-01-10 13:36:28 +01:00
Alex Kladov
a6b7a35367 add tests for textDocument/Definition (#900) 2023-01-10 09:40:40 +00:00
Techatrix
4423a5face improve memory allocations (#889)
* improve memory allocations

* Update src/main.zig

Co-authored-by: erikarvstedt <36110478+erikarvstedt@users.noreply.github.com>

* add missing 0x21

Co-authored-by: erikarvstedt <36110478+erikarvstedt@users.noreply.github.com>
2023-01-09 11:09:36 -05:00
Auguste Rame
21b103c158 Fix build runner cwd causing relative @src (#898)
Co-authored-by: Nameless <truemedian@gmail.com>

Co-authored-by: Nameless <truemedian@gmail.com>
2023-01-08 23:13:20 -05:00
Techatrix
68790c73a7 return from main instead of calling exit (#894) 2023-01-08 23:13:02 -05:00
Auguste Rame
48288e02a9 Revert "Fix Nix build, add Nix to CI (#840)" (#893)
This reverts commit 20ba87c173.
2023-01-07 18:14:45 -05:00
Techatrix
e9b364772d fix returning freed memory in formattingHandler (#890) 2023-01-07 16:33:10 -05:00
Techatrix
54e7d1da8b fix compile errors when targeting wasm (#886)
* fix compile errors when targeting wasm

* update known-folders
2023-01-07 15:21:20 -05:00
erikarvstedt
20ba87c173 Fix Nix build, add Nix to CI (#840)
* Nix: Reuse input `flake-utils` in `zig-overlay`

* CI/main: convert line endings from `CRLF` to `LF`

* CI: Add Nix build
2023-01-07 15:20:54 -05:00
Techatrix
2717b0fba1 Verify minimum zig version at comptime (#885)
* verify minimum zig version at comptime

* run zig fmt
2023-01-06 13:59:58 -05:00
Techatrix
3f2700eaa5 improve completion on error and enums (#887) 2023-01-06 13:59:20 -05:00
mlugg
b163be51d3 Fix crash when using nvim-lspconfig (#884)
Apparently, nvim reports its code action kinds using both the actual
strings (e.g. "refactor.extract") and the enumeration names (e.g.
"RefactorExtract"). I don't know why this is done - possibly an attempt
at compatibility with non-compliant server implementations? Regardless,
this was causing a crash on init (when tres tried to parse an
initializaiton message), which is easily fixed by just supporting those
enumeration values.

Resolves: #867
2023-01-05 13:50:02 -05:00
Auguste Rame
20baa592eb Add error return trace (#882) 2023-01-03 15:37:59 +00:00
Techatrix
a574ac68ba use more explicit error sets (#880) 2023-01-03 10:21:58 -05:00
Techatrix
c718e12d16 Autofix improvements (#879)
* improve autofix stability and client support

* run zig fmt
2023-01-02 14:59:01 -05:00
Techatrix
9badc745c5 remove setup wizard (#878)
* remove setup wizard

* add back findZig function
2023-01-02 13:54:13 -05:00
Techatrix
b95d5095af enable all capabilities by default (#877) 2023-01-02 04:02:28 -05:00
Techatrix
3449269fd3 Add a replay feature to zls (#857)
* add config options for `zls --replay`

* implement `zls --replay`

* remove carriage return from zls replay files

* add missing arguments for Server.init in tests
2022-12-31 01:45:45 -05:00
Techatrix
417bf9bd0a add vscode config generation to zig build gen (#862)
* add vscode config generation to `zig build gen`

* correctly handle removing configs in config_gen.zig

* update log messages in config_gen.zig
2022-12-30 18:45:31 -05:00
Techatrix
d86d05d969 fix ast-check with single error (#865) 2022-12-30 18:43:40 -05:00
Techatrix
94ec3a0a86 Debugging utilities (#860)
* add debug printing for Ast and DocumentScope

* add optional failing allocator
2022-12-30 18:42:53 -05:00
Techatrix
f473088b64 fix crashes found through fuzzing (#866) 2022-12-30 18:42:28 -05:00
Techatrix
c88562ca78 optimize build.zig discovery (#863) 2022-12-29 18:21:26 -05:00
Techatrix
978e41b8a5 always use scoped logs instead of default (#864) 2022-12-29 18:20:12 -05:00
Álan Crístoffer
c6d74dbca5 fix: tres not available in a nix environment. (#855) 2022-12-29 13:36:38 -05:00
Rekai Musuka
aabdb0c6ec fix: update master.zig to reflect changes to builtins (#858) 2022-12-29 01:00:32 -05:00
Techatrix
ebe3ba1471 Memory lifetime fixes (#861)
* fix memory lifetime issues

* more memory lifetime issue fixes
2022-12-29 00:59:19 -05:00
Rekai Musuka
faee213658 chore: add command for updating master.zig on windows (#859) 2022-12-28 21:59:00 -05:00
Techatrix
61c0981294 Use zig-lsp-codegen (#850)
* add lsp.zig

* change references from types.zig to lsp.zig

* remove types.zig and requests.zig

* add tres as a submodule

* transition codebase from types.zig to lsp.zig

* update lsp.zig

* completely overhaul message handler

* fix memory errors

* partially transition tests to lsp.zig

* update lsp.zig

* more test fixes

* disable failing tests

* fix message handling bugs

* fix remaining tests

* access correct union in diff.applyTextEdits

* more message handler fixes

* run zig fmt

* update tres submodule

* fix memory access to freed memory

* simplify initialize_msg for testing

* check if publishDiagnostics is supported
2022-12-27 01:47:57 -05:00
Techatrix
941882371c fix memory lifetime issues (#851) 2022-12-27 00:52:15 -05:00
travisstaloch
3139a787a1 fix another underflow in ast.zig#fullWhile() (#853) 2022-12-27 00:45:52 -05:00
travisstaloch
faae689ff7 prevent underflow in ast.zig#fullWhile() (#848) 2022-12-25 17:44:25 -05:00