Commit Graph

18 Commits

Author SHA1 Message Date
Techatrix
5944db49b3 add multi-file support to ErrorBuilder
colorize ErrorBuilder output
2023-03-23 15:13:14 +00:00
Techatrix
0ff0a193cc simplify analysis by introducing a Analysis Struct 2023-03-14 15:16:30 +00:00
Techatrix
42a8d1adb7 add more Ast tests 2023-03-07 09:38:18 -08:00
Techatrix
397b5bc78f add more tests to offsets.zig 2023-03-07 09:38:18 -08:00
Techatrix
89ab9fdf70
make diff.edits memory safe (#1026) 2023-02-27 17:53:16 -05: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
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
Techatrix
7b3cc1d6d4
Optimize inlay hints (#948)
* optimize inlay hints

* update iterateChildren

* add tests for nodesAtLoc
2023-01-31 22:41:39 -05: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
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
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
Techatrix
d75fd3a880
detect comment position context (#756) 2022-11-16 17:34:36 -05:00
Techatrix
a9a1fad13e
remove types.TextDocument (#693)
* remove types.TextDocument

* resolve compile errors because of previous merge
2022-09-30 20:45:45 -04:00
Techatrix
51356517a9
Self hosted fixes (#682)
* fix compiler errors when using self-hosted

* move parameters into builder struct

* simplify code when using self hosted

* fix stage2 error `cast discards const qualifier`

* correctly return after finding method

* fix position context tests on self hosted

* remove unnecessary comptime in position context tests
2022-09-30 00:04:55 -04:00
Techatrix
e28549fa7d
Completely overhaul offsets.zig (#643)
* completely overhaul offsets.zig
2022-09-16 00:33:49 +00:00
Techatrix
6933e1598a move updated units_test.zig into tests directory 2022-09-11 00:07:01 +02:00