Techarix
2dffa9ef25
Merge branch 'master' into intern-pool
2023-02-14 23:48:57 +01:00
Techatrix
37ca1333ed
implement cInclude completions & goto definition ( #970 )
...
* implement cInclude completions & goto definition
* fix cImport features on windows
* fix relative path with `..`
2023-02-11 20:25:55 +00:00
Auguste Rame
bf19ed3ea9
Switch to Diff Match Patch (diffz) ( #982 )
...
* Add tests, note about correctness issue
* Use diffz (DiffMatchPatch)
2023-02-11 14:21:10 -05:00
Alex Kladov
73d6264cab
Fix missing nodes in outline ( #990 )
...
* Remove some boilerplate from test
* Fix missing nodes in outline
2023-02-11 14:20:01 -05:00
Alex Kladov
0d3b0e9965
Remove some boilerplate from test ( #988 )
2023-02-11 14:19:37 -05:00
Alex Kladov
0e5e1fdb8a
add testing infra for textDocument/documentSymbol ( #987 )
...
* add testing infra for textDocument/documentSymbol
* add failing test for 986
2023-02-11 01:31:06 -05:00
Techatrix
5cb0c98db1
fix function call resolution
2023-02-11 00:04:08 +01:00
Techatrix
d98060b3d6
more closely match Zir.Inst.Ref to InternPool.Index
2023-02-10 19:10:58 +01:00
Techarix
57fc10eec0
add predefined values to Index
2023-02-08 21:01:15 +01:00
Techarix
6278880f42
Merge branch 'master' into intern-pool
2023-02-08 20:10:17 +01:00
Techatrix
1b3274aa9c
simplify symbol references handler ( #978 )
2023-02-06 04:25:29 -05:00
nullptrdevs
bd539ae989
[std.zig.
] parse(alloc, src)
-> Ast.parse(alloc, src, Ast.Mode)
( #966 )
...
* Work in Zig's breaking changes (build sys apis)
* [`std.zig.`] `parse(alloc, src)` -> `Ast.parse(alloc, src, Ast.Mode)`
2023-02-04 18:19:24 +00:00
Techarix
ef0cfadf8a
Merge branch 'master' into intern-pool
2023-02-03 23:19:40 +01:00
Techatrix
1b3c3defb7
rewrite folding range ( #954 )
2023-02-01 18:29:36 -05:00
Techatrix
7b3cc1d6d4
Optimize inlay hints ( #948 )
...
* optimize inlay hints
* update iterateChildren
* add tests for nodesAtLoc
2023-01-31 22:41:39 -05:00
Techatrix
3872915701
more comptime interpreter tests
2023-01-28 19:22:51 +01:00
Techatrix
9cde2495b2
bug fixes
2023-01-28 18:54:16 +01:00
Techatrix
55364f2e2b
do not intern Structs, Enums and Unions
2023-01-28 18:02:29 +01:00
Techatrix
2857237f74
add colon to inlay hint label ( #944 )
2023-01-27 15:59:11 +01:00
Techatrix
6019eff13e
Fuzzer fixes ( #940 )
...
* better handling of container_decl_arg_trailing
* ignore semantic token when moving backwards
* use custom ast functions instead of from std
2023-01-26 16:04:49 -05:00
Techatrix
ca644d67c1
Merge branch 'master' into intern-pool
2023-01-26 16:16:40 +01:00
Techatrix
95139e09ec
move InternPool and encoding into analyser folder
2023-01-23 22:26:56 +01:00
Techatrix
f2b133c428
update tests
2023-01-23 21:29:51 +01:00
Techatrix
723592e2ed
enable successful interpreter tests
2023-01-22 22:51:54 +01:00
Álan Crístoffer
903f85ab94
Fix lsp weird behaviour on block cursors ( #891 ) ( #905 )
...
* Fix lsp weird behaviour on block cursors (#891 )
Adds lookahead option to getPositionContext.
2023-01-22 15:47:53 -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
89ac9d00f5
add more interpreter tests
2023-01-20 22:25:19 +01:00
Techatrix
ba42fd2bb9
Merge branch 'master' into intern-pool
2023-01-20 22:23:44 +01:00
Techatrix
bcd2b7f1ae
report interpreter errors in tests
2023-01-20 19:55:53 +01:00
Techatrix
ea7fc74483
add more comptime interpreter tests
2023-01-20 19:29:03 +01:00
Techatrix
b4ac6142cf
correctly resolve primitive types
2023-01-20 19:20:42 +01:00
Techatrix
34b2643b33
add basic comptime interpreter tests
2023-01-20 17:06:16 +01:00
Techatrix
f5188c4407
update test
2023-01-14 21:54:45 +01:00
Techatrix
04d281340c
restructure ComptieInterpreter tests
2023-01-14 14:08:15 +01:00
Alex Kladov
a6b7a35367
add tests for textDocument/Definition ( #900 )
2023-01-10 09:40:40 +00:00
Techatrix
3f2700eaa5
improve completion on error and enums ( #887 )
2023-01-06 13:59:20 -05:00
Techatrix
650eaeb66c
implement anyframe->T
2023-01-06 14:38:28 +01:00
Techatrix
4b4aafb8ee
first successful test case 🚀
2023-01-04 11:12:29 +01: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
f473088b64
fix crashes found through fuzzing ( #866 )
2022-12-30 18:42:28 -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
Ryan Liptak
f6c15ac10c
semantic_tokens: Fix handleComments not evaluating the last byte ( #844 )
...
Fixes #842
2022-12-22 22:27:38 -05:00
Auguste Rame
1e99692d5c
Enable stage2 ( #810 )
2022-12-07 11:39:46 -05:00
Joseph Stahl
887539ed1a
Allocator.resize() does not adjust size of string allocated for URI to file path conversion ( #806 )
...
* fix missing backslash
* fix: zls escaping colon to %3A on URIs
ZLS escapes a colon char ":" as "%3A" when encoding file paths to URIs
When decoding, need to make the target string 2 character shorter
to compensate for length decrease when replacing %3A with :
* add new failing test because of resize()
* revert changes to %3A handling - problem seems to be with allocator.resize
* switch to realloc
* Fix test failures, revert errdefer->defer
* platform-specific URI tests
URI parsing is highly platform-specific
run Unix-style (file:///home/main.zig) on non-Windows test runners,
run Windows-style (file://c%3A/main.zig) on Windows test runners
2022-12-04 16:44:22 -05:00
Auguste Rame
580469cd32
Fix rogue resize, bump minimum version ( #805 )
2022-12-03 21:35:51 -05:00
Alex Kladov
cfb0b023ad
fix #801 , IOOB in foldingRanges ( #802 )
...
* Add smoke tests for folding ranges
* fix index out of bounds in foldingRanges
closes #801
For invalid syntax trees, zig's parser seems to return bogus data where
startToken > endToken, which then causes everything else to crash.
This seems like a deeper issue, which needs to be fixed "properly", but
let's just paper over it here.
2022-12-03 17:23:13 +02:00
Auguste Rame
6ab2c68355
Allocgate 2.0 slain ( #791 )
...
* Allocgate 2.0 slain
* Tests now compile, but they fail
* Temporary bruteforce
2022-12-02 15:14:58 -05:00
Aleksey Kladov
8731a37d1f
textDocument/selectionRange
...
closes #777
2022-11-26 11:31:46 +00:00
Auguste Rame
369b851dc7
Revert "move to stage2 ( #781 )" ( #783 )
...
This reverts commit 29679ee6f8
.
2022-11-25 19:18:32 -05:00
Techatrix
29679ee6f8
move to stage2 ( #781 )
2022-11-25 16:31:27 -05:00