Commit Graph

353 Commits

Author SHA1 Message Date
Luuk de Gram
fd6b94bcc9
Fixes multiple small bugs:
- Correct completion based on scope
 - Semantic tokens for while/if/else/for keywords
 - Fix crash on import path
2021-03-07 21:54:54 +01:00
Luuk de Gram
53c37765c0
Fix inferred error set return types 2021-03-07 18:45:37 +01:00
Luuk de Gram
e2f4bbf2f3
Implement semantic tokens for regular comments 2021-03-07 14:51:47 +01:00
Luuk de Gram
ac8a00342e
All functionalities implemented. Also implemented ability to skip searching for references through std 2021-03-06 20:55:59 +01:00
Luuk de Gram
3d8a9732fc
Calculate correct token locations and ensure all semantic highlighting matches 2021-03-05 22:38:42 +01:00
Luuk de Gram
a699dab2f7
Referencing fixes and more 2021-03-03 16:34:24 +01:00
Luuk de Gram
92adeb8826
Completion fixes 2021-03-02 22:01:13 +01:00
Luuk de Gram
1dd39914ec
Hovering fixes 2021-03-02 15:32:38 +01:00
Luuk de Gram
c8a2467fac
Compiles without errors. Still needs improvement 2021-03-01 22:18:38 +01:00
Luuk de Gram
e82ea30e6f
Last fixes in src/analysis.zig 2021-03-01 16:30:43 +01:00
Luuk de Gram
4645638434
Fixes and completions 2021-03-01 16:02:24 +01:00
Luuk de Gram
1c9da7053c
More type resolving 2021-03-01 14:32:19 +01:00
Luuk de Gram
0133f0d863
First set of changes to work with new std's ast 2021-02-26 21:26:52 +01:00
Alexandros Naskos
e7f8a8dcd9
zls will now run the package extraction build runner without copying it
in the destination folder. Instead, it will use a specific cache folder
  and run from the default cwd it was run from.
Added build_runner_cache_path to the configuration file.
2021-01-12 13:10:51 +02:00
Vesim
b2e456404c fix inStream/outStream removal 2021-01-10 08:12:11 +01:00
Alexandros Naskos
eefee4759c
Fixed compilation for latest zig master 2021-01-07 10:35:36 +02:00
Lee Cannon
2a9edf243d Fixed string printing with {s} format specifier 2021-01-04 17:51:26 +00:00
g-w1
5b50d98353 make sure exe exists 2020-12-19 21:01:16 -05:00
Alexandros Naskos
78e74743e1
Use zig env to find zig lib path instead of assuming the executable comes from a distribution tarball 2020-11-15 21:32:27 +02:00
Alexandros Naskos
892847d939
Removed workspace specific zls.json support 2020-11-15 20:51:56 +02:00
Alexandros Naskos
0d15ea754e
Added --debug-log flag for release mode binaries 2020-11-08 13:40:16 +02:00
Alexandros Naskos
bf7f6cd5e9
Corrected semantic token server provider struct 2020-11-06 15:55:00 +02:00
Alexandros Naskos
8e0dc3da19
Fixed incremental document updates 2020-11-06 12:32:21 +02:00
Alexandros Naskos
f7eff6632e
Cleaned up LSP types, add InitializeResult, no longer use a hardcoded string 2020-11-06 10:08:20 +02:00
Alexandros Naskos
996deb45fe
Added builtin hover handler 2020-11-05 00:54:47 +02:00
Alexandros Naskos
560b39d359
Better builtin data format and script 2020-11-05 00:39:24 +02:00
data-man
fdcb7c264f Increase eval branch quota 2020-10-18 14:18:11 +05:00
Alexandros Naskos
27f9f14ab3 Removed DebugAllocator, use std.heap.GeneralPurposeAllocator 2020-10-10 12:44:37 +03:00
Alexandros Naskos
162f1b2fbe Opaque type support 2020-10-10 12:25:50 +03:00
Alexandros Naskos
a2265afce0 Added keywordLiteral token type for null, true, false, undefined, unreachable, fixed all pointer type semantic token generation 2020-10-04 13:10:48 +03:00
Tadeo Kondrak
b52817cd8f
Update to LSP version 3.16 semantic tokens protocol 2020-09-25 15:31:54 -06:00
codehz
d57d04f3bb Adopt to new ast API 2020-09-01 13:53:52 +08:00
Alexandros Naskos
0f54b0e860 Use scoped loggers 2020-08-14 13:41:34 +03:00
Alexandros Naskos
c09e488109 Added addressof, fixed slice and array completions 2020-07-24 13:20:13 +03:00
Alexandros Naskos
9aa11276a8 Dont respond with semantic token data when disabled in the config 2020-07-23 22:09:28 +03:00
Alexandros Naskos
e7a1f5c34f Fixed slice access type resolution 2020-07-23 21:33:43 +03:00
Alexandros Naskos
8ddd80b788 Fixed self detection for snippet completions 2020-07-23 21:13:38 +03:00
Alexandros Naskos
213366f029 Fix various bugs 2020-07-23 20:30:03 +03:00
SuperAuguste
a1c0f86066
kinda fix struct completion - still needs an actual fix 2020-07-17 23:21:17 -04:00
SuperAuguste
76dcc8cbe2 null fix 2020-07-17 10:01:21 -04:00
SuperAuguste
f00d09c746 fix almost everything - commented some things out, please don't file any issues yet! 2020-07-16 15:02:30 -04:00
SuperAuguste
20f440b3a0 more fixes 2020-07-16 12:04:23 -04:00
SuperAuguste
da4d2c2be1 ids -> tags (part 1) 2020-07-16 10:56:22 -04:00
Alexandros Naskos
6eee43af2f Fixed build on latest zig nightly 2020-07-12 22:12:09 +03:00
Alexandros Naskos
62774d065b Reworked tag stores, fixed memory leak 2020-07-08 04:05:44 +03:00
Alexandros Naskos
62ab67f751 Add allocation info in the test workflow 2020-07-08 00:22:03 +03:00
Alexandros Naskos
6dc05df0ac Small fix 2020-07-07 23:50:32 +03:00
Alexandros Naskos
5454883d2d Added *, ? completions, improved readme 2020-07-07 23:26:12 +03:00
Alexandros Naskos
f55d5a25aa Better log levels 2020-07-07 22:16:29 +03:00
Alexandros Naskos
b61785eb3e Optimize document symbols 2020-07-07 11:57:02 +03:00
Alexandros Naskos
3659a5c1a9 Added find references handler 2020-07-06 01:32:14 +03:00
Alexandros Naskos
c067bce9fa Fixed to use latest HashMap API 2020-07-06 00:56:41 +03:00
Alexandros Naskos
0f7a384b39 Added references.zig, use it from rename.zig 2020-07-06 00:35:52 +03:00
Alexandros Naskos
cbfb316763 Use LSP offsets in rename.zig 2020-07-05 01:40:18 +03:00
Alexandros Naskos
6bf2c9a1c7 Added encoding offset aware documentRange 2020-07-03 12:39:58 +03:00
Alexandros Naskos
28b3cafc3f zig fmt pass, correctly return after sending formatting result 2020-07-03 12:24:24 +03:00
Alexandros Naskos
f6df9d4c0a Added offsetEncoding clangd extension support 2020-07-03 12:00:00 +03:00
Alexandros Naskos
9bed369797 Correctly handle utf16 offsets for semantic tokens 2020-07-03 11:34:42 +03:00
Alexandros Naskos
d8aba7da0b Correctly support utf16 offsets 2020-07-03 02:31:28 +03:00
Alexandros Naskos
8c154c2a60 Added stack trace leak reporting to the debug allocator, fixed remaining two memory leaks 2020-07-02 19:13:10 +03:00
Alexandros Naskos
21e18a1d01 Fixed some deallocation code 2020-07-02 14:44:12 +03:00
Alexandros Naskos
b3006745a0 More fixes 2020-06-30 18:00:33 +03:00
Alexandros Naskos
671318730a Started adding session tests, finished (buggy) main loop rewrite 2020-06-30 15:46:43 +03:00
Alexandros Naskos
ddcf6c677b Start working on a better proccess JSON RPC 2020-06-30 01:34:21 +03:00
Alexandros Naskos
6953ff95eb Use apge allocator again after it was fixed 2020-06-29 02:03:51 +03:00
Alexandros Naskos
0102963433 Fixed formatting on master 2020-06-28 16:16:41 +03:00
Alexandros Naskos
965724dd7e Fixed build and crashes with zig master branch: 2020-06-28 13:58:51 +03:00
Alexandros Naskos
108a2dbd64 Semantic highlighting improvements 2020-06-27 20:45:58 +03:00
Alexandros Naskos
9343ec311b Removed todo comments 2020-06-27 15:30:32 +03:00
Alexandros Naskos
8bc6087646 Completed renaming 2020-06-27 15:29:45 +03:00
Alexandros Naskos
beb900f1d9 Added label renaming 2020-06-27 03:16:14 +03:00
Alexandros Naskos
4952c34481 Use std.log 2020-06-26 14:29:59 +03:00
Alexandros Naskos
b3f6143e08 Use print instead of warn 2020-06-26 03:26:09 +03:00
Alexandros Naskos
16b44a334b Finished semantic token analysis 2020-06-18 15:12:09 +03:00
Alexandros Naskos
42f1325488 Prototype semantic tokens implementation with actual semantic analysis 2020-06-17 23:36:40 +03:00
Alexandros Naskos
8d69fdb95a Started working on our own Type, differentiate between values of a type and the type itself. 2020-06-17 05:12:12 +03:00
Alexandros Naskos
20ec7470bb Respond to shutdown request 2020-06-17 00:26:45 +03:00
Alexandros Naskos
8beedb0384 Removed old comment 2020-06-16 22:03:55 +03:00
Alexandros Naskos
abe76ec2bf Added formatter 2020-06-16 22:02:31 +03:00
Alexandros Naskos
a45939f8ab Improvements 2020-06-16 18:49:31 +03:00
Alexandros Naskos
fc921f10a4 Fix server capabilities, add semantic tokens config option, fix semantic tokens basic implementation 2020-06-16 14:27:00 +03:00
Alexandros Naskos
bed05b6601 Wrap demantic tokens response result in 'data' 2020-06-16 02:14:39 +03:00
Alexandros Naskos
2da58c5068 Go to declaration will not resolve aliases (go to definition still does) 2020-06-15 12:37:42 +03:00
Alexandros Naskos
bfdeecbd04 Better alias support 2020-06-15 01:19:21 +03:00
Alexandros Naskos
48019dd7e2 Added label support 2020-06-14 22:24:18 +03:00
Alexandros Naskos
7f12928fe9 Dont show fields in global completions and from usingnamespaced scopes 2020-06-14 13:03:14 +03:00
Alexandros Naskos
0592513da4 Basic semantic tokens implementation 2020-06-14 01:07:57 +03:00
Alexandros Naskos
112f6d735a Correctly handle inferred error sets, add self argument support when evaluating bound type params, semanticToken scaffolding 2020-06-13 21:20:04 +03:00
Alexandros Naskos
04638a6d4d Fixed occasional crash on Sublime text, only get params when we use then 2020-06-12 20:31:33 +03:00
Alexandros Naskos
98ebac6d64 Take more client capabilities into account 2020-06-12 17:42:41 +03:00
Alexandros Naskos
80dd19dd8b Usingnamespace support 2020-06-11 02:40:11 +03:00
Alexandros Naskos
7650decfa0 Improvements 2020-06-11 01:00:13 +03:00
Alexandros Naskos
b8b6c534e8 Fixed field access 2020-06-11 00:24:57 +03:00
Alexandros Naskos
86e417e8dc Add hover, goto, completions for alternate declaration types 2020-06-10 22:52:33 +03:00
Alexandros Naskos
545989339d Remove unused code, fixed snippet self param skipping 2020-06-10 22:05:11 +03:00
Alexandros Naskos
05d75781de Now builds! 2020-06-10 21:24:17 +03:00
Alexandros Naskos
3bdb2ee444 More progress 2020-06-10 20:48:40 +03:00
Alexandros Naskos
d6609d918b More progress 2020-06-10 19:54:01 +03:00
Alexandros Naskos
9b08d9e88a Started removing scope_nodes, using symbol table instead 2020-06-10 19:01:44 +03:00
Alexandros Naskos
c2f8537d7b Added maximum bytes allocated in debug allocator, as well as peak memory usage 2020-06-09 16:39:00 +03:00
SuperAuguste
3c2c1e97ed preamble to usingnamespace 2020-06-08 23:21:55 -04:00
SuperAuguste
6ae23ba2d0 fix field details in completions 2020-06-07 09:49:21 -04:00
Alexandros Naskos
a2c4f7c5c7 Removed debug trace 2020-06-06 16:57:39 +03:00
Alexandros Naskos
af42c95222 Handle string request ids 2020-06-06 15:40:33 +03:00
Alexandros Naskos
73b58abe51 Detect self arguments and skip it when generating snippets 2020-06-06 02:44:43 +03:00
Alexandros Naskos
563c4f0294 Fixed newlines in markdown line comments 2020-06-05 00:19:00 +03:00
Alexandros Naskos
9392c4032c Only refresh packages when saving a build.zig file, not on any change 2020-06-03 11:32:05 +03:00
Alexandros Naskos
ef95c76e45 Added doc comments on hover 2020-06-03 11:23:14 +03:00
Alexandros Naskos
e7157ba381 Preparing for semantic tokens support. Fix a crash on some function calls 2020-06-02 16:48:23 +03:00
Alexandros Naskos
52fe21b8bd Parse client capabilities for snippet support 2020-06-01 13:29:06 +03:00
Alexandros Naskos
269c308ec7 Respond with null where we can, even if we already marked a capability as false. 2020-06-01 12:28:33 +03:00
Alexandros Naskos
50c8cebe26 Removed reachable unreachable 2020-05-31 18:02:33 +03:00
Alexandros Naskos
543cb5816c Added zig_exe_path option, use it to detect lib path if none is provided 2020-05-30 23:36:18 +03:00
Vexu
c1ba26e0a2
implement completion for enum literals 2020-05-28 18:21:51 +03:00
Vexu
22a863134b
implement global error set completion 2020-05-28 15:45:11 +03:00
SuperAuguste
2b153e046c outlines, made JSON stdout memory dynamic 2020-05-27 20:39:36 -04:00
Alexandros Naskos
7602f34bb4 Added .?, .*, [] support 2020-05-27 18:49:11 +03:00
Alexandros Naskos
f6df35e069 Reworked position context to use tokenizer, works in more contexts 2020-05-27 01:45:18 +03:00
Alexandros Naskos
a330932b7c Copy scope nodes when cloning an analysis context 2020-05-26 17:19:16 +03:00
Alexandros Naskos
da6f43c46d Go to definition now resolved fn aliases, added hover 2020-05-26 01:51:50 +03:00
Alexandros Naskos
48ad1eccbf Fixed goto import, preparing for hover impl 2020-05-26 00:37:18 +03:00
Alexandros Naskos
754a982be2 Make capabilities explicit, make hover capability true 2020-05-25 23:15:54 +03:00
Alexandros Naskos
b82fb9c790 Added build_runner_path configuration option 2020-05-25 20:04:23 +03:00
Alexandros Naskos
02745f1472 Free build files in document store deinit 2020-05-25 19:49:04 +03:00
Alexandros Naskos
4bf97bebc9 Seems to work, needs cleanup 2020-05-25 19:33:08 +03:00
Alexandros Naskos
155c5b2a95 Started working on build file logic 2020-05-25 17:24:44 +03:00
Alexandros Naskos
4542abf145 Check for the existence of zig in PATH in main() 2020-05-25 16:18:00 +03:00
Alexandros Naskos
3b052372c2 Added custom build runner, install it along with the zls binary 2020-05-25 03:22:39 +03:00
Alexandros Naskos
c6fa528af4 Store trees in handles 2020-05-24 19:00:21 +03:00
Alexandros Naskos
fd069b026a Added hack to support ParamDecl not being a node anymore 2020-05-24 17:31:28 +03:00
Alexandros Naskos
594488d7c5 Merged master 2020-05-24 17:12:13 +03:00
Alexandros Naskos
34ba67b3d1 Fixed node iteration: 2020-05-24 17:07:48 +03:00
Alexandros Naskos
40e1e8843c Added timing information output 2020-05-24 15:39:40 +03:00
Alexandros Naskos
9ec32ac830 We now complete ArrayList! 2020-05-24 15:24:18 +03:00
SuperAuguste
dd9ec8e450 Fix completion of functions 2020-05-23 22:07:09 -04:00
Alexandros Naskos
f5ca94a0d1 Merge remote-tracking branch 'zigtools/master' into new_parser 2020-05-24 02:08:06 +03:00
Alexandros Naskos
11b5da3a91 Now compiles on the new parser branch 2020-05-24 01:21:02 +03:00
Alexandros Naskos
22b5d2e2c3 Pass the arguments in the correct order dummy 2020-05-24 00:15:35 +03:00
Alexandros Naskos
5dc7a1b40a Fix @This() completions, do half the work in global completions 2020-05-23 23:22:50 +03:00
Alexandros Naskos
30cb9e06e4 Complete non-pub declarations in the same module 2020-05-23 16:14:03 +03:00
Alexandros Naskos
34adb4e22f Added switch to declFromIndex, fixed occasional crash 2020-05-23 02:33:42 +03:00
Alexandros Naskos
a189fa171c More declsFromIndex improvements 2020-05-23 01:58:47 +03:00
Alexandros Naskos
c3d2aa3434 Handle if, while, for, payloads 2020-05-23 01:03:41 +03:00
Alexandros Naskos
d4871914ea Removed debug traces 2020-05-23 00:05:16 +03:00
Alexandros Naskos
077a17e2f5 Do not add every node when adding decls, just the supported nodes 2020-05-23 00:02:26 +03:00
Vexu
af746be770
provide goto definition for import strings 2020-05-22 18:52:21 +03:00
Alexandros Naskos
ccc923e2f0 One more fix 2020-05-21 21:02:12 +03:00
Alexandros Naskos
2eab5e036d Check that the goto definition cursor is within bounds 2020-05-21 20:51:03 +03:00
Alexandros Naskos
4acb77f09e enable_snippets is false by default, fix it in README. Small fixes to goto def/decl 2020-05-21 14:36:14 +03:00
SuperAuguste
75f1aa5780 fix workspace folder bug 2020-05-19 16:24:24 -04:00