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
Alexandros Naskos
ee594a1b2f
Separate document text and memory.
...
Text is now a substring of memory, starting at index 0.
We now realloc memory when needed and only copy the existing data around
instead of allocating a new string, copying all the data and freeing
the old string.
This leads to possibly less allocation calls, depending on the allocator
and less copying necesssary.
2020-05-07 17:58:31 +03:00
Alexandros Naskos
04abb3a5ff
Fix merge conflicts
2020-05-07 16:23:13 +03:00
Alexandros Naskos
5c602745fd
Use the page allocator as our base allocator for now.
2020-05-07 16:20:45 +03:00
Alexandros Naskos
cea1222b79
Free the old document text after rebuilding the new one, this was a use after free since before, after point into the old memory
2020-05-07 16:04:57 +03:00
Alexandros Naskos
eaf0c1f3e5
Switched struct and enum literals to use the anonymous form where possible.
...
Added trailing commas to fields of struct literals that are followed by newline.
2020-05-07 15:29:53 +03:00
Alexandros Naskos
a0addc040d
Fixed a bug in publishDiagnostics where message data on the stack could be corrupted before being sent
2020-05-07 15:01:16 +03:00
Alexandros Naskos
c5d3d7902e
Free json parser state, compute builtin completions at comptime
2020-05-07 14:36:40 +03:00
Alexandros Naskos
a7e4d0b5e3
Use a local arena to free all memory with one call.
2020-05-07 14:10:58 +03:00
Alexandros Naskos
e9d9c57ff4
Fixed some additional memory leaks.
2020-05-07 13:56:08 +03:00
Alexandros Naskos
3fa5ef4b96
Fixed a couple of typos
2020-05-07 12:58:35 +03:00
Alexandros Naskos
0283222e3a
Added build option to enable the leak counting allocator.
...
Log the allocation count to the client at the end of the main loop.
Fixed two memory leaks in analysis.zig
2020-05-07 12:50:25 +03:00
SuperAuguste
5bd790f416
basic stylistic linter
2020-05-03 22:17:19 -04:00
SuperAuguste
b0e21bf82c
hotfix
2020-05-03 17:27:37 -04:00
SuperAuguste
738a9be0cc
added function comments and signature
2020-05-03 17:27:08 -04:00
SuperAuguste
88814b9589
better builtin completion, versioning
2020-05-02 12:43:26 -04:00
SuperAuguste
999a365f3c
fixes
2020-04-28 09:31:41 -04:00
SuperAuguste
def89a90f5
Better builtin completion
2020-04-27 22:59:28 -04:00
SuperAuguste
ce443ba1dd
Completion of global values, and some reformatting
2020-04-27 16:38:35 -04:00
SuperAuguste
a0ff26cc8f
init
2020-04-24 18:19:03 -04:00