Commit Graph

860 Commits

Author SHA1 Message Date
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
Auguste Rame
65a5c3ecd1
Merge pull request #13 from alexnask/read_config
Removed no_snippets build option, added configuration parsing.
2020-05-09 15:35:07 -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
Auguste Rame
64c60c7189
Merge pull request #12 from alexnask/master
Added snippet global completion, fixed no snippet completions
2020-05-09 14:20:33 -04: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
Auguste Rame
cc38b0f9ad
Merge pull request #10 from alexnask/master
Renamed documentContext to documentPositionContext, added multiline string literal support
2020-05-08 10:31:00 -04: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
Auguste Rame
d368c84aa3
Merge pull request #9 from alexnask/master
Added position context detection
2020-05-08 09:09:57 -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
Auguste Rame
effb14ef87
Merge pull request #8 from alexnask/master
General cleanup and improvements
2020-05-07 22:25:23 -04:00
Alexandros Naskos
48ed3ff447 Merge branch 'master' of https://github.com/SuperAuguste/zls 2020-05-08 02:57:24 +03: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
042b47a27d fix typo in readme 2020-05-07 14:02:59 -04:00
SuperAuguste
fd38e2d3ef resize 2020-05-07 13:57:38 -04:00
SuperAuguste
4f8e61322f README improvements 2020-05-07 13:54:58 -04:00
SuperAuguste
01ff89eea3 Add no_snippets 2020-05-07 13:16:04 -04:00
Auguste Rame
14a2796857
Merge pull request #6 from alexnask/separate_text_mem
Separate document text and memory.
2020-05-07 13:10:18 -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
Auguste Rame
f80dc1d35c
Merge pull request #4 from alexnask/memleaks
Fixed memory leaks
2020-05-07 09:26:34 -04: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
Auguste Rame
92a03ab9d2
Merge pull request #5 from alexnask/modernize_code
Switched to anonymous struct and enum literals. Thanks alexnask!
2020-05-07 09:17:33 -04: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