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
Alexandros Naskos
7dcbc39d59
Added workspace folder support, read configs from there, use known-folders
2020-05-19 22:09:00 +03:00
Alexandros Naskos
07f2138dce
Simple generic function support
2020-05-19 16:42:36 +03:00
Sergeeeek
c55363e2c2
Code style fixes
2020-05-19 12:02:48 +03:00
Sergeeeek
06ba823368
Removed logs and unused utility function
2020-05-19 07:47:23 +03:00
Sergeeeek
4b3cb641c0
Fixed wrong node being used when resolving return type of a function
2020-05-19 07:39:34 +03:00
Sergeeeek
5043a10dd4
Fixed error after merge
2020-05-19 07:18:39 +03:00
Sergeeeek
c4aa35872c
Merge remote-tracking branch 'upstream/master'
2020-05-19 07:17:28 +03:00
Sergeeeek
1f50f4e4f6
Moved deep import resolution to nodeToCompletion
2020-05-19 07:12:05 +03:00
Alexandros Naskos
b1ce06a80d
Implemented go to definition
2020-05-18 23:19:23 +03:00
SuperAuguste
acd85c0f39
fix
2020-05-18 12:37:56 -04:00
Alexandros Naskos
8693c4a69f
Removed last remaining log. RIP
2020-05-18 19:33:58 +03:00
SuperAuguste
b9bd0e2476
remove log
2020-05-18 11:36:47 -04:00
SuperAuguste
66908bd1a9
Revert buffered in stream - it breaks inputs for some strange reason
2020-05-18 09:31:17 -04:00
Auguste Rame
847414d9ca
Merge pull request #54 from alexnask/goto_definition
...
Fixed field completions with partial identifiers after the period
2020-05-18 09:25:00 -04:00
Alexandros Naskos
bbe2800139
Fixed field completions with partial identifiers after the period
2020-05-18 16:21:16 +03:00
Auguste Rame
5a6ff63d8c
Merge branch 'master' into master
2020-05-18 08:58:32 -04:00
Auguste Rame
0a0f902671
Merge pull request #50 from FireFox317/bufferedstreams
...
Wrap stdout in BufferedOutStream
2020-05-18 08:54:04 -04:00
Alexandros Naskos
4ad33c16f9
Fixed crash when field access completing on a local variable from a type coming from an import
2020-05-18 14:26:52 +03:00
Sergeeeek
07a44bc0ed
Fixed errors after upstream merge
2020-05-18 11:37:15 +03:00
Sergeeeek
2c5cc2b48f
Merge remote-tracking branch 'upstream/master'
2020-05-18 10:34:26 +03:00
Sergeeeek
d79f3bc809
Change handles HashMap value type to pointers instead of values themselves
2020-05-18 10:28:36 +03:00
Sergeeeek
6cd98697c0
Fixed handle changing while analysis is in progres
...
New bug though, only function declarations are completed now
2020-05-18 10:06:29 +03:00
Timon Kruiper
6a4dc3334a
Wrap stdout in BufferedOutStream for more speed
...
gotta go fast right :D
Also remove some unused code
2020-05-17 19:36:58 +02:00
daurnimator
410ac0e5b4
Use buffered input stream
2020-05-18 01:37:02 +10:00
Auguste Rame
add13df816
Merge pull request #47 from daurnimator/master
...
Cleanups and rewrite of reading
2020-05-17 11:15:28 -04:00
daurnimator
0e67ffd8c4
Rewrite request reading
2020-05-18 01:07:08 +10:00
daurnimator
c1599c755d
Misc cleanups
2020-05-18 00:50:55 +10:00
Vexu
6e8165804f
add completion for arrays and slices
2020-05-17 17:27:05 +03:00
Auguste Rame
7b7b718edb
Merge pull request #44 from alexnask/more_allocation_info
...
Better debug allocator
2020-05-17 08:31:07 -04:00
Alexandros Naskos
843db49790
Better debug allocator
2020-05-17 14:40:32 +03:00
Sergeeeek
0b433815b3
Got some aliases working
...
Can't figure out a bug with document changing in the original context,
which causes further analysis to break.
2020-05-17 09:47:48 +03:00
SuperAuguste
220d668929
local var completion
2020-05-16 14:06:48 -04:00
Sergeeeek
8637099d72
WIP alias type resolution
2020-05-16 18:30:16 +03:00
Noam Preil
3d5e775bf7
Make style guideline warnings opt-in
2020-05-15 15:14:37 -04:00
Auguste Rame
fc9d91517b
Merge pull request #22 from Vexu/ast
...
Parsing now always results in an AST
2020-05-15 10:21:33 -04:00
Vexu
3111627923
parsing now always results in a AST
2020-05-15 14:21:29 +03:00
Alexandros Naskos
18a0ffc7e2
Check that the zg std library path provided is absolute, default to null otherwise
2020-05-15 13:21:34 +03:00
Alexandros Naskos
b540a48fa7
Removed comment
2020-05-15 00:21:04 +03:00
Alexandros Naskos
6954016c91
Trigger global and field completions correctly in more contexts.
2020-05-15 00:16:40 +03:00
SuperAuguste
86a1edf9c7
Remove more redundant code, rename function
2020-05-14 12:23:26 -04:00
SuperAuguste
40235cbdbb
fix field access type
2020-05-14 12:14:35 -04:00
SuperAuguste
353c9b3261
undo
2020-05-14 10:11:59 -04:00
SuperAuguste
9609aee6a9
test ci
2020-05-14 10:11:32 -04:00
Auguste Rame
bdf7bad51d
Merge pull request #19 from alexnask/imports
...
Basic import support
2020-05-14 08:53:52 -04:00
Alexandros Naskos
6db3c74550
Renamed import context to analysis context, added arena for temporary allocations while analyzing
2020-05-14 12:23:20 +03:00
Alexandros Naskos
7a8a4e1ec5
Fixed crash when completing import with dot access
2020-05-14 12:12:04 +03:00
Alexandros Naskos
95b6e6cd6a
Fixed relative URI code, get latest tree in analysis
2020-05-14 05:14:37 +03:00
Alexandros Naskos
86d264f488
1 level deep imports now work but we crash when adding levels
2020-05-14 05:00:00 +03:00
Alexandros Naskos
31f1d2fa3e
First draft of imports
2020-05-14 04:54:05 +03:00
SuperAuguste
18c026372b
fix empty comments
2020-05-13 19:43:09 -04:00
SuperAuguste
bc597025e7
revert fix
2020-05-13 19:41:08 -04:00
SuperAuguste
1a2f83d84b
Fix empty comments
2020-05-13 19:40:34 -04:00
SuperAuguste
b182eec37f
quick removal of debug
2020-05-13 19:36:51 -04:00
Alexandros Naskos
307dceb703
Preparation for imports, abstracted document hashmap into a document storage type
2020-05-14 02:10:41 +03:00
Alexandros Naskos
0e0789b2d5
Unified completions into a function, small snippet improvement
2020-05-13 20:30:57 +03:00
SuperAuguste
20afe9ef3c
Doc comments, function completion in structs
2020-05-13 12:19:10 -04:00
SuperAuguste
e9b5bf433e
Add function completion, fix function snippet generation
2020-05-13 11:59:44 -04:00
SuperAuguste
7c388812c7
remove debug
2020-05-13 11:45:32 -04:00
SuperAuguste
9ae912efdd
super basic completion, tons of things to iron out
2020-05-13 10:10:20 -04:00
SuperAuguste
a3067f88b1
Add new analysis engine
2020-05-13 09:03:33 -04:00
SuperAuguste
d0837ffc51
Start implementing completion
2020-05-11 08:28:08 -04:00
Alexandros Naskos
86fbf5fe7e
Global completions now check config for snippet support, modified readme to reflect changes.
2020-05-09 21:45:13 +03:00
Alexandros Naskos
25cc662bcc
Merge branch 'master' of https://github.com/SuperAuguste/zls into read_config
2020-05-09 21:38:20 +03:00
Alexandros Naskos
35b4913b3e
Removed no_snippets build option.
...
Instead, we now read a configuration file, zls.json in the same folder as the executable.
Options are defined in the struct config.zig and must have default values.
The only option right now is enable_snippets and it defaults to true.
2020-05-09 16:43:51 +03:00
Alexandros Naskos
e46135cb68
Added snippet completion for global functions, fixed no snipper completion.
2020-05-09 05:38:08 +03:00
Alexandros Naskos
922559c83a
Use error iterator instead of manual looping in diagnostic generation
2020-05-09 04:02:29 +03:00
SuperAuguste
01b2c2e328
fix bug with latest pr
2020-05-08 13:02:46 -04:00
Auguste Rame
b939b9cefa
Merge pull request #11 from alexnask/PascalCase
...
Detect type functions and require PascalCase, require camelCase for the rest
2020-05-08 12:20:34 -04:00
Alexandros Naskos
d8457c96a1
is_type_function is const
2020-05-08 18:07:14 +03:00
Alexandros Naskos
29b0045bc7
Detect type functions and require PascalCase, require camelCase for the rest
2020-05-08 18:01:34 +03:00
Alexandros Naskos
bd7675e5b7
Fixed typo
2020-05-08 17:25:22 +03:00
Alexandros Naskos
09cd91690c
Renamed documentContext
to documentPositionContext
and added multiline string literal to it.
2020-05-08 17:24:29 +03:00
SuperAuguste
ffcdb886d9
fix crash with documentContext
2020-05-08 09:17:32 -04:00
Alexandros Naskos
aca7db3e88
Reset context to other when trying to find field/var access and don't get alphanumerical or @"..."
2020-05-08 15:09:31 +03:00
Alexandros Naskos
0b5eb4b9d2
Fixed field_access check
2020-05-08 15:07:14 +03:00
Alexandros Naskos
0149f11c7c
Switched Context to PositionContext
2020-05-08 14:36:54 +03:00
Alexandros Naskos
982a39f868
Added context detection from document and position for builtins, variable accesses, field accesses, string literals and comments.
2020-05-08 13:50:21 +03:00
SuperAuguste
fb9f50d606
fix builtin completion
2020-05-07 23:05:17 -04:00
SuperAuguste
84837dfe58
fix pub functions
2020-05-07 22:27:42 -04:00
Alexandros Naskos
02e57f5d59
Renamed leak_alloction build option to allocation_info
...
Switched to readAll and writeAll stream functions
Disabled logs on non-debug builds
Created freeDocument(doc), closeDocument(uri), called at appropriate sites
Removed _ = expr; for void values
Added and clarified some logging messages
Simplified builtin_completion generation
The JSON parser is now reused but reset after parsing a RPC
Fix memory leak when closing a document (last mem. leak)
Renamed leak_alloc to debug_alloc
Removed catch return statements from main(), rely on try to also get stacktraces instead
2020-05-08 02:53:00 +03:00
SuperAuguste
01ff89eea3
Add no_snippets
2020-05-07 13:16:04 -04:00
Alexandros Naskos
6ed45a1f23
Also free the sane text when releasing a document
2020-05-07 20:02:54 +03:00
Alexandros Naskos
4d5f833226
Merge branch 'master' of https://github.com/SuperAuguste/zls into separate_text_mem
2020-05-07 18:43:56 +03:00
SuperAuguste
1725278be1
add master data, add data selection
2020-05-07 11:29:40 -04:00