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
c895d7d8f6
Go to definition now works for captures
2020-05-23 02:58:39 +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
2841c864bc
uriFromImportStr ignore packages for now
2020-05-22 18:56:57 +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
Auguste Rame
44f33c631b
Merge pull request #71 from alexnask/test_block_completions
...
Test block local completions
2020-05-21 09:14:34 -04:00
Alexandros Naskos
26cc339235
Add test block local completion support
2020-05-21 15:16:45 +03:00
Alexandros Naskos
03f774fda9
Try expression support
2020-05-21 15:06:16 +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
61b8fd5259
Moved a calculation out of a loop
2020-05-19 22:33:15 +03: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
6fe52d95b3
Added @This() support
2020-05-19 18:53:01 +03:00
Alexandros Naskos
8d59de716f
Better fn name
2020-05-19 16:47:30 +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
53da418d11
Merge branch 'master' of https://github.com/SuperAuguste/zls into goto_definition
2020-05-18 23:20:18 +03:00
Alexandros Naskos
b1ce06a80d
Implemented go to definition
2020-05-18 23:19:23 +03:00
Timon Kruiper
27034abbaf
Also return from getFieldAccessTypeNode
when a comma is found.
...
This allows to get completion support when a function with multiple
arguments is completed.
2020-05-18 20:59:44 +02: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
a017de1679
Added a comment
2020-05-18 16:22:10 +03: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
a6a4afd4fd
More cleanup:
2020-05-18 15:46:17 +03:00
Alexandros Naskos
749a4fcbe4
Renamed checkSanity to removeOldImports, use an arena for temporary data.
2020-05-18 15:14:16 +03:00
Alexandros Naskos
96672435a7
Removed unnecessary copies
2020-05-18 14:55:39 +03:00
Alexandros Naskos
e65d3388e4
A couple of more changes
2020-05-18 14:53:40 +03: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
Alexandros Naskos
14749ce02b
Added missing errdefer
2020-05-17 18:21:02 +03: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
SuperAuguste
a2402b9885
Merge branch 'master' of https://github.com/SuperAuguste/zls
2020-05-17 09:40:34 -04:00
SuperAuguste
38213e1322
fixed struct init
2020-05-17 09:40:20 -04:00
Auguste Rame
7b7b718edb
Merge pull request #44 from alexnask/more_allocation_info
...
Better debug allocator
2020-05-17 08:31:07 -04:00
SuperAuguste
7e766e3d8a
Merge branch 'master' of https://github.com/SuperAuguste/zls
2020-05-17 08:28:09 -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
Alexandros Naskos
15a277918f
Correctly resolve type of field access
2020-05-17 01:30:59 +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
Alexandros Naskos
a7b9755201
Add a space
2020-05-16 17:24:41 +03:00
Alexandros Naskos
1f5c8c0b77
Merge branch 'master' of https://github.com/SuperAuguste/zls
2020-05-16 17:23:12 +03:00
Alexandros Naskos
5a2043ded5
Fixed the build for the latest std.zig parser fixes
2020-05-16 17:21:42 +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
9fc7d1f66e
Maintain case when making a URI from a file, make drive letter lowercase on windows
2020-05-15 13:15:10 +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
73c3e87a37
fix errors
2020-05-14 15:57:31 -04:00
Auguste Rame
8468207da3
Merge pull request #23 from Vexu/err
...
Implement completion for error sets
2020-05-14 13:46:15 -04:00
Vexu
a739bf6499
implement completion for error sets
2020-05-14 20:45:26 +03:00
SuperAuguste
86a1edf9c7
Remove more redundant code, rename function
2020-05-14 12:23:26 -04:00
SuperAuguste
58015dcd64
Remove dead code
2020-05-14 12:16:06 -04:00
SuperAuguste
40235cbdbb
fix field access type
2020-05-14 12:14:35 -04:00
Vexu
db6407ea3b
implement getDocComments for rest of named nodes with docs
2020-05-14 19:08:00 +03: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
197ba84a82
Finished DocumentStore.deinit()
2020-05-14 15:26:10 +03:00
Alexandros Naskos
ca0bc205e4
Fixed crash with enum fields
2020-05-14 15:15:27 +03:00
Alexandros Naskos
942b617865
Updated README, config.zig doc comment
2020-05-14 15:09:27 +03:00
Alexandros Naskos
f5e4586c76
Detect import removal and decrement document referece count
2020-05-14 14:51:07 +03:00
Alexandros Naskos
112d38e7fa
Fixed crash in snippet generation of varargs functions
2020-05-14 13:57:55 +03: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
76e9a079a3
Avoid unnecessary copy of document text when opening new imports
2020-05-14 11:51:49 +03:00
Alexandros Naskos
60ffc5f551
Fixed crash while closing document (uri double free)
2020-05-14 11:40:17 +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
be95849a15
Added pointer type resolution
2020-05-13 22:35:14 +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
Auguste Rame
adbcaefe26
Merge pull request #14 from SuperAuguste/completion
...
Start implementing completion
2020-05-13 11:44:07 -04:00
SuperAuguste
dc292e74ee
null bug fixes
2020-05-13 11:43:28 -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
Alexandros Naskos
4f2828f9cb
Removed debug log
2020-05-12 20:02:22 +03:00
Alexandros Naskos
aacad999c4
Made function snippet generation better.
2020-05-12 19:59:16 +03:00
SuperAuguste
d0837ffc51
Start implementing completion
2020-05-11 08:28:08 -04:00
SuperAuguste
a2f314301c
quick fix of asset
2020-05-09 15:42:35 -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
f25dade27d
Removed comments
2020-05-09 05:43:17 +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
6ac068a3c5
Merge branch 'master' of https://github.com/SuperAuguste/zls into separate_text_mem
2020-05-07 19:54:11 +03:00
SuperAuguste
447d52dd1c
fix init error
2020-05-07 12:47:39 -04:00
SuperAuguste
6b099f8c6d
fix
2020-05-07 12:25:37 -04: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