Commit Graph

1087 Commits

Author SHA1 Message Date
Omar Alhammadi
12cda9b031 Change notification method in log
Currently in the log function in main, the notification method used to send logs to the client is "window/showMessage". This creates an a notification on the UI on VSCode that can cause slow downs. I propose a change to use the  "window/logMessage" method instead, which is intended to be used for logging.
2021-11-04 19:35:49 -04:00
Omar Alhammadi
d4b6b97c01 temporary fix to issue #413 with #412 not building on release-safe. 2021-11-03 07:03:17 -04:00
Ryan Liptak
4d6d842fa5 Update Sublime LSP settings for Sublime Text 4
"selector" is now the preferred method of configuration, everything else was deprecated in SublimeLSP 4070-1.1.0: https://github.com/sublimelsp/LSP/releases/tag/4070-1.1.0

Also syncs setup.zig with the readme for the Sublime Text 3 settings (the Zig Language package name was wrong in setup.zig)
2021-11-02 22:14:58 -04:00
Omar Alhammadi
3531237afe Added build option log_level to allow the user to set the default log level for release builds. 2021-11-02 22:13:53 -04:00
antlilja
80f09831bc Remove use of notice log level
Removes the use of the notice log level.
Cleans up resulting code, the if else statement with nested switches was
converted into a single switch statement with the same behaviour, but
without relying on the enumToInt builtin.
2021-10-26 17:01:06 -04:00
Benjamin Feng
0f65093812 Fix off-by-one deinit on DocumentStore 2021-10-24 01:02:52 -04:00
Meghan Denny
04edc7a2d5 remove all use of usingnamespace 2021-10-19 19:26:57 -07:00
Meghan Denny
caaec2bcfd lsp- alias []const u8 -> string so its closer to docs 2021-10-19 19:26:57 -07:00
Meghan Denny
9ceaf90657 add reference for which lsp version we're targetting 2021-10-19 19:26:57 -07:00
Meghan Denny
e18003ff86 rename another top level fields file 2021-10-19 19:26:57 -07:00
Meghan Denny
737a9dc008 remove some dead code 2021-10-19 19:26:57 -07:00
Meghan Denny
3f92120fbe fix missing double reference 2021-10-19 19:26:57 -07:00
Meghan Denny
aae82d29bd fix capitalization of top level fields structs 2021-10-19 19:26:57 -07:00
Meghan Denny
91c8ffb38c fully qualify std.debug.assert references 2021-10-19 19:26:57 -07:00
Meghan Denny
8d46ceff07 use an enum for zig version 2021-10-19 19:26:57 -07:00
Lee Cannon
b88a95a617 Update submodule 2021-10-11 09:21:24 +01:00
Lee Cannon
90f8109639 Update to use @import("builtin") where required 2021-10-07 12:53:31 +01:00
Meghan Denny
b63339e350 remove Tree when it was the same as Ast 2021-09-30 18:57:45 -07:00
Meghan Denny
3c1152a536 use empty string for empty []const u8 2021-09-30 18:47:48 -07:00
Meghan Denny
164e078dbb collapse some std imports 2021-09-30 18:47:19 -07:00
Meghan Denny
86e370add0 include anytype in list of primitive types 2021-09-30 18:46:53 -07:00
Meghan Denny
0406f7cc93 ensure uN and iN types are clamped to 0-65535 2021-09-30 18:46:35 -07:00
Meghan Denny
50022e5d24 analysis- clean up isTypeIdent 2021-09-30 18:46:14 -07:00
Meghan Denny
4bc8b92e19 collapse more fn signatures 2021-09-30 18:45:45 -07:00
Meghan Denny
43796f6326 uri- add link to rfc 2021-09-30 18:44:23 -07:00
Meghan Denny
9e0f201283 finish rename of usage of std.zig.Ast 2021-09-30 18:44:06 -07:00
Meghan Denny
dc8affe122 add builtin data for 0.8.0 and 0.8.1 2021-09-30 17:53:14 -07:00
Meghan Denny
a75276defc update master data 2021-09-30 17:52:56 -07:00
Meghan Denny
7c209a8404 condese small expanded things 2021-09-30 17:52:36 -07:00
Meghan Denny
8390aaa70b use zinput as a package 2021-09-30 17:52:15 -07:00
Meghan Denny
ad8d75b613 use single line method signatures 2021-09-30 17:51:51 -07:00
Meghan Denny
f482950f5f fix imports to use ./ for relative usage 2021-09-30 17:48:40 -07:00
Travis Staloch
50aa71c10f support new ast token changes
- some ast token tags were renamed: ie .bit_shift_left => .shl
- add initial support for saturating operators: +|, -|, *|, <<|, +|=, -|=, *|=, <<|=
2021-09-28 21:15:37 -07:00
pyxel
03f70be32a refactor: update ast with addrspace changes 2021-09-21 17:32:32 -04:00
Sashiri
6c39966967 Update zinput 2021-09-04 22:08:04 +02:00
Sashiri
fed1c4c2c6 usingnamespace semantics update
+ Ast changes adjustments
2021-09-04 21:25:35 +02:00
Lee Cannon
2ffd93280e remove deleted keywords 2021-08-30 13:54:27 +01:00
Sage Hane
5ddb92b865
Update "known-folders" submodule 2021-08-17 19:22:16 +09:00
Bodie Solomon
d25abb1055
Fix #372: catch up to zig master 05fd20dc 2021-08-09 12:14:20 -04:00
Auguste Rame
3172717af8 Update master data file 2021-07-27 11:15:02 -04:00
Alexandros Naskos
70cfba0eb9
Fixed unit tests 2021-07-10 20:05:16 +03:00
Alexandros Naskos
bba069526c
Fix build for zig master by inserting null terminators when tokenizing and resetting them when needed 2021-07-10 19:58:37 +03:00
Sizhe Zhao
86d49acdb0 Introducing new method of generating data files
A new file src/data/generate-data.py has been added.
It is written in Python 3 and has some new features like:
- It doesn't need Chrome to work, the script fetches the page automatically;
- It does the translation of HTML tags for better user experiences in editors.
In addition, a new section has been added to README.md to reflect this change.
2021-07-10 21:21:54 +08:00
Sizhe Zhao
14a70a38af Update master data 2021-07-09 23:45:48 +08:00
Sizhe Zhao
c3c4eb9c9d Update src/data/generate-data.js to translate code tags 2021-07-09 23:45:00 +08:00
Lee Cannon
62d287e518 Handle tag moved backwards without logging 2021-06-26 20:56:22 +01:00
Lee Cannon
7fb05da5a1 Update known-folders submodule 2021-06-24 12:31:35 +01:00
Lee Cannon
ac4b198869 Update to zig master
Redundant comptime, unused locals, unused function params, unused captures

As issue with @"type" resolving to the keyword type
2021-06-24 11:38:01 +01:00
Alexandros Naskos
bcfd7c6392
Merge pull request #344 from leecannon/per_build_config
Attempt at per build.zig config
2021-06-18 16:40:42 +03:00
Lee Cannon
154a2a8704 Add a per build.zig configuration file. 2021-06-18 13:22:37 +01:00
Lee Cannon
c2cbc05135 Fix index of of range 2021-06-18 12:58:15 +01:00
Alexandros Naskos
a02c1e7996
Build runner: Only output generated package path if it is available 2021-06-16 14:47:54 +03:00
Lee Cannon
1178ebd2e2
More changes to std.build :) 2021-06-15 21:15:55 +01:00
Lee Cannon
a077cf901d
Update build_runner.zig
I'm not 100% sure if the `GeneratedFile`'s path will have been resolved when this code runs or if this will hit the panic inside `getPath()` as I havent had a chance to actually mess about with the new functionality.
2021-06-12 23:06:48 +01:00
Alexandros Naskos
b756ed4da5
Fixed HashMap usage for latest master stdlib 2021-06-04 14:06:11 +03:00
Frank Denis
df9560db51 Update for -master
fn_proto.extern_export_token -> fn_proto.extern_export_inline_token

And update the data by the way.
2021-05-23 18:01:03 +02:00
Lee Cannon
584faec5de Call in build_runner 2021-05-13 21:29:05 +01:00
Alexandros Naskos
7fb7cdc36c
Fix std.testing.expectEqualStrings invocation for latest zig master build. 2021-05-13 17:53:53 +03:00
Alexandros Naskos
759a7b7fd9
No longer show completions for declarations in aggregate types when
field accessing instances of those types.
2021-05-08 19:30:22 +03:00
Alexandros Naskos
5631b8d202
Fix semantic token generation for container fields with a byte alignment 2021-05-08 19:11:26 +03:00
Alexandros Naskos
14dc9d1b51
Don't use the build runner path as the build runner cache path if present >.> 2021-05-08 18:48:36 +03:00
四光年
d4551030c4 [bug-fix]hover struct field not show docs. 2021-05-07 17:10:13 +08:00
Alexandros Naskos
937471d27b
Added --config-path option 2021-05-03 16:07:53 +03:00
Alexandros Naskos
91643c04c9
Fixed integer overflow in semantic_tokens.Builder.handleComments 2021-05-03 15:36:29 +03:00
Alexandros Naskos
ab8c65eeda
Fixed highlighting of comments before the first token and after the last token of the last valid AST node 2021-05-03 15:14:11 +03:00
Jonathan Hähne
e1c8e5d407 Undo stupidity & run zig fmt 2021-05-02 20:23:26 +02:00
Jonathan Hähne
807bd6a571 Simplify semantic_tokens, fix off-by-one error in identifierFromPosition 2021-05-02 19:59:17 +02:00
Ryan Roden-Corrent
ec34db0618
Fix small typo in comment. 2021-04-23 06:50:13 -04:00
Alexandros Naskos
23454e111c
Make semantic_tokens use @asyncCall instead of a stack again. 2021-04-19 17:17:46 +03:00
Jonathan Hähne
f61c9d8d4f Run zig fmt 2021-04-15 18:17:06 +02:00
Jonathan Hähne
b90c9b49ac Fix inclusion of toplevel doc comments, remove @async recursion in
writeNodeTokens, add a few regression tests
2021-04-15 11:07:43 +02:00
Jonathan Hähne
bb493c037a Add proper range check
Whoops
2021-04-07 17:26:50 +02:00
Jonathan Hähne
0b2d633e1e Support "catch" scopes 2021-04-07 15:42:33 +02:00
Jonathan Hähne
0e4f4c1e04 Improve testing infrastructure
It should now be a bit easier to set up a test and see how it failed.
2021-04-07 15:10:18 +02:00
Jonathan Hähne
b59db79a05 Refactor makeScopeInternal 2021-04-07 09:21:01 +02:00
Jonathan Hähne
45c7f9671c Merge some cases of resolveTypeOfNodeInternal 2021-04-06 18:38:17 +02:00
Alexandros Naskos
ea1ad532a2
More lastToken improvements 2021-04-06 17:16:50 +03:00
Alexandros Naskos
f6bc380b95
Fixed lastToken for fn_proto_multi nodes 2021-04-05 20:01:03 +03:00
Alexandros Naskos
6d13591d02
Merge branch 'master' of github.com:zigtools/zls 2021-04-05 19:45:12 +03:00
Alexandros Naskos
4b0d86f0bc
Fixed lastToken when called on function prototypes with no return type 2021-04-05 19:44:45 +03:00
Benjamin Tan
36ea1975bd
Standardize insertText to be above insertTextFormat 2021-04-05 22:27:56 +08:00
Benjamin Tan
33f03d36a5
completion: Add insertText field for enum completions
Another bug with the older version of lsp-mode on Emacs prevents the
label from being inserted when there is an empty `insertText`. This
commit adds an `insertText` property to enum completions for consistency
with the rest of the completion items.
2021-04-05 22:27:56 +08:00
Alexandros Naskos
902c91e98f
Pass the correct handle to hasSelfParam in bound type parameter evaluation code 2021-04-05 14:52:41 +03:00
Tau
b03fb5ffe3
Fix stack overflow and clean up a bit of resolveTypeOfNode (#297) 2021-04-05 14:46:05 +03:00
Alexandros Naskos
d397f1119e
Merge branch 'master' of github.com:zigtools/zls 2021-04-05 11:59:05 +03:00
Alexandros Naskos
2770321a61
Use a null filterText instead of an empty string by default 2021-04-05 11:58:41 +03:00
Tau
fc51dac30e
Fix stack overflow in resolveUse and int overflow in lookupSymbolGlobal 2021-04-05 01:35:33 +03:00
Alexandros Naskos
4bee4e662b
Made lookupGlobalSymbol start the search from the innermost scope that contains the source index 2021-04-04 15:28:57 +03:00
Alexandros Naskos
04372999aa
Fixed underflow in edgecase in getDocCommentTokenIndex 2021-04-04 02:12:57 +03:00
Tau
406214fb43
Fix stack overflow on missing return value & improve getDocCommentTokenIndex correctness (#290)
* Improve getDocCommentTokenIndex correctness
* Fix stack overflow on missing return value
2021-04-04 02:03:25 +03:00
Alexandros Naskos
42aefd2e67
Merge pull request #284 from zigtools/signature_help
Added signature help request handling.
2021-04-03 09:09:50 -07:00
Alexandros Naskos
cc3c146749
Correctly handle skipping self parameters in signature help requests
as well as completion requests.
2021-04-03 18:54:26 +03:00
Tau
28f2431b2e
Fix crash on Windows (#286)
* Fix crash on Windows
2021-04-03 12:14:52 +03:00
Alexandros Naskos
8d95218575
Resolve aliases when looking for the function prototype to generate
signature information.
Fixed doc comments in function signature information.
2021-04-03 02:53:41 +03:00
Alexandros Naskos
7f432d8715
Implemented the signature help request.
Refreshes builtin data, added 0.7.1 builtins
2021-04-02 20:49:01 +03:00
Alexandros Naskos
9cc8085699
Started signature help implementation 2021-04-01 14:20:37 +03:00
Alexandros Naskos
f45a934f50
Fixed for latest zig master 2021-04-01 14:19:02 +03:00
Tau
df22d2490b
Update zinput, known-folders and enable global configuration (#277) 2021-03-31 17:54:27 +03:00
Alexandros Naskos
5e8e14fc08
Correctly pass zig_exe_path to document_store initialization 2021-03-31 16:26:55 +03:00
Alexandros Naskos
cfae9b4d13
If the local configuration directory cannot be opened, zls config will now
fallback to opening the executable directory instead.
Added better error handling in zls config.
2021-03-31 14:46:56 +03:00
Alexandros Naskos
8cf6029f1a
Before documentPositionContext returns .empty, check if an identifier
immediately follows the cursor and return .var_access if it does
  instead.
This allows hover and go to definition to work when the cursor is
  immediately before an identifier.
2021-03-31 02:25:49 +03:00
Jonathan Hähne
443d5c77a7 Remove config target from build
The configuration is per-installation and has nothing to do with the
build.
2021-03-30 23:52:25 +02:00
Jonathan Hähne
2fc9506fdc Refactor config wizard
Deduplicated zig finder and added `zls config` subcommand
2021-03-30 23:52:25 +02:00
Alexandros Naskos
ba668094ad
Yet more import resolution fixes 2021-03-30 21:44:37 +03:00
Alexandros Naskos
6edd686668
Yet more import resolution fixes 2021-03-30 21:41:04 +03:00
Alexandros Naskos
40edfadc26
Fixed memory leak caused by DocumentStore.resolveImports 2021-03-30 21:18:46 +03:00
Alexandros Naskos
2415e7ca6d
Removed all zig.ast.Tree methods that call lastToken with our own versions 2021-03-30 20:59:58 +03:00
Alexandros Naskos
5a88f26980
Fixed dereference resolution of Type.data.pointer values 2021-03-30 16:45:49 +03:00
Alexandros Naskos
f382a1b22d
Better import handling 2021-03-30 15:41:59 +03:00
Jonathan Hähne
11a5d99c93 No stack frame capture for non-debug modes 2021-03-30 12:38:07 +02:00
Jonathan Hähne
b7cbb10610 Fix memory leaks
Closes #262.
2021-03-30 12:33:31 +02:00
Jonathan Hähne
c7158f7625 Remove checks again 2021-03-30 11:23:09 +02:00
Jonathan Hähne
83f153e87e Actually make it build (sem-token support has regressed previously!) 2021-03-30 11:07:29 +02:00
Jonathan Hähne
aab9ca18f2 Fix some crashes & find all @imports
If there are parse errors, an AST can contain uninitialized nodes.
Walking the tree in this case can lead to horribly nasty crashes.
2021-03-30 10:33:21 +02:00
Austin Clements
ec7ed30e65 Add check for semantic tokens client capability 2021-03-29 19:04:55 -05:00
Alexandros Naskos
b417e64e10
Do not show tests in container completions 2021-03-29 15:41:58 +03:00
Alexandros Naskos
bd3f0460ba
Merge pull request #267 from InterplanetaryEngineer/master
Accelerate symbolReferencesInternal further and improve refreshDocument algorithm
2021-03-29 05:38:46 -07:00
Alexandros Naskos
e770e2bead
Fixed regression from latest commit 2021-03-29 15:35:14 +03:00
Jonathan Hähne
ec1ee55dee Accelerate symbolReferencesInternal by another factor of 2 and activate unit tests 2021-03-29 14:08:38 +02:00
Jonathan Hähne
9a2695ecdb Improve refreshDocument algorithm
Do not use an arena, orderedRemove or bool array.

Also, rudimentary tests suggest the config parser does not account for
a substantial amount of the compile time.
2021-03-29 14:08:37 +02:00
Alexandros Naskos
962327425d
Fixed enum completion generation 2021-03-29 14:57:16 +03:00
Alexandros Naskos
4e753338af
Added error set and enum completion deduplication 2021-03-29 14:02:58 +03:00
Alexandros Naskos
360c437d6a
Some style fixes in analysis.zig 2021-03-29 13:01:24 +03:00
Alexandros Naskos
81500697db
Fixed crash in makeScopeInternal 2021-03-29 12:40:52 +03:00
Alexandros Naskos
2d168ed63e
Fixed error completion generation when making document scopes 2021-03-29 12:28:52 +03:00
Jonathan Hähne
826172edeb Improve textDocument/references performance
Filtering out documents in symbolReferences that do not @import the file
defining the symbol led to an order of magnitude speedup in the projects
that I tested.
2021-03-28 17:05:22 +02:00
Alexandros Naskos
48b5ca5385
Always send an insertText field in completion items 2021-03-28 17:02:48 +03:00
Jonathan Hähne
b33e26612a Add option to truncate long completions
The detail entries for big structs such as std.zig.CrossTarget were
bricking the preview window in Sublime Text.
2021-03-27 20:37:51 +01:00
Alexandros Naskos
3e300e4d74
Added our own ifFull implementation, fixes some crashes 2021-03-26 21:46:49 +02:00
Alexandros Naskos
9eece0985b
Fixed crash while typing error. 2021-03-26 21:14:47 +02:00
Alexandros Naskos
2fd8ab7626
Fixed error.<Foo> highlighting 2021-03-26 21:11:35 +02:00
Alexandros Naskos
06518778c1
Removed comment preprocessing code from the semantic tokens gap highlighter,
Fixed various comment semantic highlighting issues.
Refactored some minor parts of the analysis code.
2021-03-26 21:04:51 +02:00
Jonathan Hähne
a2620d7f69 Add option for builtin completion insert text 2021-03-26 10:20:20 +01:00
Alexandros Naskos
eb0a31d282
Reversed builtin completion insert text 2021-03-26 09:23:40 +02:00
Jonathan Hähne
8d34232c7a Fix completion of builtins and a piece of slightly overcomplicated logic 2021-03-24 22:40:15 +01:00
Alexandros Naskos
55ad1028fc
Fixed crash in analysis of variable declaration aliases 2021-03-21 02:31:32 +02:00
rhysd
6057d290b4 Fix falsy value for filterText and insertText
'filterText' and 'insertText' fields of 'CompletionItem' can only have
"" or undefined as falsy value.

https://github.com/microsoft/language-server-protocol/issues/1222
2021-03-15 20:20:38 +09:00
Luuk de Gram
472033a845
Improve token location stability 2021-03-13 12:22:19 +01:00
Auguste Rame
d5c46aef26
Merge pull request #245 from rhysd/error-msg-newlines
Add missing \n in error message output to stderr
2021-03-12 14:21:25 -05:00
Auguste Rame
2b488347ff
Merge pull request #238 from Luukdegram/std-fixes
Update to Zig std's new AST format
2021-03-12 12:57:03 -05:00
Luuk de Gram
0d85668ce4
Do not offer completion for function labels 2021-03-12 11:56:51 +01:00
Luuk de Gram
7a2cd418a8
Scope fixes + semantic token colors:
- Creates a scope for errdefer and adds the payload as a declaration
  (Previously lhs was a token index meaning we had an out of bounds error due too high of an integer)
- Semantic highlighting corrected for error payloads in loops/ifs and errdefers
2021-03-11 20:45:05 +01:00
Luuk de Gram
ef1b3c95f1
Completion fixes:
- Fixes namespace completions. Uses pointers instead of indices to ensure they are unique
- Adds .ptr completion to slices and `*` to many pointer
2021-03-11 13:59:09 +01:00
Luuk de Gram
094b31be48
Fix namespaces in containers 2021-03-10 17:04:14 +01:00
rhysd
addecb3a37 Add missing \n in error message output to stderr 2021-03-10 20:24:43 +09:00
Luuk de Gram
85937d48ca
Semantic token + scope fixes:
- Highlights pipes of loops/elses payloads correctly
- New ast structure counts last token as the variable itself and not the '}' so change scope checking to '<=' instead of '<'
2021-03-10 10:02:07 +01:00
Luuk de Gram
3ac6c82b9a
Completion for index label in for loops and fix for function snippets 2021-03-09 19:53:59 +01:00
Luuk de Gram
858f3cb282
Completion of unions in switches and its tags 2021-03-09 12:35:56 +01:00
Luuk de Gram
20cb0b7307
Fix off by one scope end index 2021-03-08 20:31:02 +01:00
Luuk de Gram
43ebfc7300
Work on completion for unwrapped slices/optionals in loops/ifs 2021-03-08 19:46:23 +01:00
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
a078a62a37
Semantic tokens: Allow for multiple line comments 2021-03-07 18:52:22 +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
acc45b4efe
Use the correct tree to display semantic tokens 2021-03-04 22:53:54 +01:00
Luuk de Gram
9224bbd4dc
Implement all of the semantic tokens 2021-03-04 22:30:25 +01:00
Luuk de Gram
08075a1261
Start fixing semantic tokens 2021-03-04 16:14:30 +01:00
Luuk de Gram
a80e9b262e
Implement usingnamespace and fix function snippets 2021-03-04 13:26:11 +01:00
Luuk de Gram
7495aab28b
Start implementing usingnamespace 2021-03-03 21:02:31 +01:00
Luuk de Gram
d7ccf6a3c2
References working for current file 2021-03-03 20:38:52 +01:00
Luuk de Gram
a699dab2f7
Referencing fixes and more 2021-03-03 16:34:24 +01:00
Frank Denis
3431b7afaa Regen data for master - @TagType is gone 2021-03-03 13:46:23 +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
ada0d13ba9
Fix symbolReferencesInternal 2021-03-01 19:34:28 +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
b651a79380
Type resolving fixes 2021-02-28 21:57:15 +01:00
Luuk de Gram
96fcac89a4
Complete resolveTypeOfNodeInternal 2021-02-28 20:37:21 +01:00
Luuk de Gram
b175a01fce
Progress in resolveTypeOfNodeInternal 2021-02-28 17:42:34 +01:00
Luuk de Gram
709c1a70fd
Implement makeScopeInternal logic 2021-02-28 13:09:10 +01:00
Luuk de Gram
5f5d6ce4ea
Progress in makeScopeInternal 2021-02-27 21:55:39 +01:00
Luuk de Gram
72605c7549
A lot of fixes 2021-02-27 16:38:06 +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
a886ecddd9
Fixed for zig master 2021-02-15 12:04:22 +02:00
Alexandros Naskos
fa496936f5
Always find the closest existing candidate build file before looking in the directory structure 2021-01-31 12:35:08 +02:00
Alexandros Naskos
ca6598572e
Reworked the build file searching method
Instead of looking for any existing build file in the store that fits
  in the directory structure of a new document, we now always look
  for the closest build.zig file in the directory structure.
2021-01-31 12:24:55 +02:00
Alexandros Naskos
c98c44460c
Fixed session tests 2021-01-28 11:20:13 +02:00
S0urc3C0de
acab137c99 Update to latest zig.
Fix change for changing zig.ast name attribute to be optional.
2021-01-27 21:53:02 +01:00
GrayJack
30e3572cee
Rename tagField to enumMember 2021-01-16 03:46:35 -03:00
GrayJack
4f5af38031
Use declaration modifier instead of definition 2021-01-16 03:33:35 -03:00
Alexandros Naskos
87b7954669
Fixed semantic token hihglighting issue when a regular comment was following a doc comment 2021-01-12 14:05:08 +02: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
Nameless
966a6068cc
fix inStream deprecation 2021-01-10 19:49:21 -06:00
Kate Tsuyu
44c93d5454
update zinput version 2021-01-10 12:02:00 -05: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
dffc88a354 update setevalbranchquota: usize -> u32 for master 2021-01-03 15:00:01 -05:00
g-w1
5b50d98353 make sure exe exists 2020-12-19 21:01:16 -05:00
antlilja
da7ce66910
Pass global cache argument to Builder.create. 2020-12-11 00:38:05 +01:00
Alexandros Naskos
bf4f653bf9
Better zig build config 2020-11-16 00:07:35 +02: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
0bf9602d7b
Fixed infinite loop when analyzing variable declarations like const A = A; for semantic token highlighting 2020-11-15 20:37:00 +02:00
Frank Denis
ccfb18ec54 Update data for zig 0.7.0 and the current master branch 2020-11-15 12:01:33 +01: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
d877019abe
Removed struct, enum, opaque, union token types, added them to token modifiers 2020-11-06 11:03:21 +02:00
Alexandros Naskos
abcccb5d85
Fixed session tests 2020-11-06 10:24:37 +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
Alexandros Naskos
307ac34d4a
Fixed session tests. 2020-11-04 13:00:55 +02:00
Lee Cannon
6ade7cad3b
Update src/analysis.zig
Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2020-11-03 22:44:50 +00:00
Lee Cannon
60fbb33a20 Use std.mem.trim instead of std.fmt.trim 2020-11-02 14:02:35 +00:00
data-man
fdcb7c264f Increase eval branch quota 2020-10-18 14:18:11 +05:00
Isaac Freund
0e75622f87
Update known-folders to fix build
The build currently fails due to renaming of macosx to macos.
2020-10-15 19:34:37 +02: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
c1d7f0ffa7 Fix build_runner.zig 2020-10-04 17:08:49 +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
Alexandros Naskos
bfb96d951b Fixed prefix op semantic tokens 2020-10-02 15:01:49 +03:00
Alexandros Naskos
751f66068b Some semantic tokens fixes 2020-10-02 14:59:12 +03:00
Tadeo Kondrak
b52817cd8f
Update to LSP version 3.16 semantic tokens protocol 2020-09-25 15:31:54 -06:00
Tadeo Kondrak
2559f5c6fd
semantic_tokens: Don't @bitCast a flags structure to an integer
No idea why this isn't working, but it was sending the wrong thing.
2020-09-25 15:23:03 -06:00
lithdew
f5b4fc2aea offsets: fix integer overflow 2020-09-25 12:59:45 +09:00
Alexandros Naskos
39b0f50bda Exposed analysis functions used by analysis-buddy 2020-09-12 18:48:09 +03:00
codehz
d57d04f3bb Adopt to new ast API 2020-09-01 13:53:52 +08:00
Alexandros Naskos
2964df3511 Separated labeled and non labeled blocks 2020-08-15 22:21:20 +03:00
Alexandros Naskos
c551dfe65a Fixed debug allocator to comply with the new API 2020-08-14 13:53:13 +03:00
Alexandros Naskos
0f54b0e860 Use scoped loggers 2020-08-14 13:41:34 +03:00
Alexandros Naskos
6c4d83d73c Removed unused block labels 2020-08-14 13:27:10 +03:00
SuperAuguste
fdba27b6e0
Update builtins from master docs 2020-07-25 14:52:31 -04:00
Alexandros Naskos
8d376a077c Fix build runner 2020-07-24 15:03:21 +03:00
Alexandros Naskos
c09e488109 Added addressof, fixed slice and array completions 2020-07-24 13:20:13 +03:00
Alexandros Naskos
d8510b3099 Small code cleanup 2020-07-24 13:04:01 +03:00
Alexandros Naskos
bda78e1f76 Fixed for zig master branch 2020-07-24 10:33:13 +03:00
Alexandros Naskos
1c725f85aa Fixed find references 2020-07-23 22:24:06 +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
7063abec92 Fixed struct field goto and hover 2020-07-23 21:10:40 +03:00
Alexandros Naskos
213366f029 Fix various bugs 2020-07-23 20:30:03 +03:00
Alexandros Naskos
b71585da1d Fixed for latest zig master build 2020-07-23 19:06:39 +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
db75737037 semantic fixes 2020-07-16 15:36:44 -04:00
SuperAuguste
489378b939 fix comment in references.zig, format 2020-07-16 15:19:08 -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
1d7fed7f87 even moar!!! infix/prefix changes are the only ones remaining 2020-07-16 12:07:21 -04:00
SuperAuguste
20f440b3a0 more fixes 2020-07-16 12:04:23 -04:00
SuperAuguste
ce841d1dc4 ids -> tags (part 2) 2020-07-16 11:05:56 -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
e1bce76c63 Fixed enum completion bug 2020-07-08 04:11:52 +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
78a7d79c39 Removed unused function 2020-07-03 02:34:46 +03:00
Alexandros Naskos
a0ae982202 Add offsets file 2020-07-03 02:33:10 +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
e54a6d2522 Fixed documentPositionIndex, added tests 2020-07-02 14:03:24 +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
3be74cbdc5 Dont use variable decl init node blindly 2020-06-28 16:08:15 +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
07e1013680 Add rename file 2020-06-27 09:18:05 +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
385e01f613 Anonymous mark anonymous struct literal fields as 'field' 2020-06-26 01:50:36 +03:00
axzn
c94efa8ac0 fix ZLS flagging std "cos_" as not camel case (see issue #120) 2020-06-24 11:28:02 +02:00
Alexandros Naskos
41da6b88ef Resolve through comptime expressions 2020-06-23 19:57:28 +03:00
Alexandros Naskos
6d75551f7a Removed todo comment 2020-06-23 13:37:07 +03:00
Alexandros Naskos
9997535a3e Basic support for switch payloads 2020-06-23 13:32:37 +03:00
Alexandros Naskos
a0f1795f2d Fixed infinite loop with usingnamespace cycles 2020-06-23 12:43:56 +03:00
Alexandros Naskos
bdbfea0737 removed accidental leftover code 2020-06-23 12:16:37 +03:00
Alexandros Naskos
c8af53ef7a Fix crash when using param identifier in the same param's type expression 2020-06-23 12:15:18 +03:00
prime31
b1b355c4ac
fixes steps with packages in sub-steps 2020-06-18 17:51:39 -07:00
Alexandros Naskos
65ad078b8c Payload semantic highlighting 2020-06-18 22:53:33 +03:00
Alexandros Naskos
e2a3b38f5a Align info 2020-06-18 21:31:52 +03:00
Alexandros Naskos
4aa74f7980 We can call decrementCount from decrementBuildFileRefs when the count is already zero, account for that. 2020-06-18 20:52:54 +03:00
Alexandros Naskos
eab1f4783b Removed unused code 2020-06-18 20:31:39 +03:00
Alexandros Naskos
e59e1f08e5 Align expr fix 2020-06-18 20:30:58 +03:00
Alexandros Naskos
d4e6ddd780 Root ContainerField highlighting support 2020-06-18 15:51:20 +03:00
Alexandros Naskos
fc769e7e83 Fixed enum access 2020-06-18 15:43:03 +03:00
Alexandros Naskos
2dc7b609d1 Added a TODO comment 2020-06-18 15:14:55 +03:00
Alexandros Naskos
16b44a334b Finished semantic token analysis 2020-06-18 15:12:09 +03:00
Alexandros Naskos
6c718a59c4 Fixed infinite loop 2020-06-18 03:23:56 +03:00
Alexandros Naskos
5e7fc18404 Array type fix 2020-06-18 02:52:03 +03:00
Alexandros Naskos
c33e01544a Slice fix 2020-06-18 02:49:34 +03:00
Alexandros Naskos
b8abdc44df Use @asyncCall to call with a new stack, avoids stack overflows 2020-06-18 02:45:25 +03:00
Alexandros Naskos
57b0e938e3 Fixed slice and array types 2020-06-18 00:13:56 +03:00
Alexandros Naskos
42f1325488 Prototype semantic tokens implementation with actual semantic analysis 2020-06-17 23:36:40 +03:00
Alexandros Naskos
d873b877e7 Various fixes 2020-06-17 15:07:21 +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
fd424277ab Run zig fmt 2020-06-16 15:49:57 +03:00
Alexandros Naskos
cad6b78a49 Cleaned up ComptimeStringMaps 2020-06-16 15:45:16 +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
f6e3109ff3 Yet better aliases, better label position context detection 2020-06-15 04:39:50 +03:00
Alexandros Naskos
02de547ce9 Better alias support, fix another build file refcount issue 2020-06-15 03:59:49 +03:00
Alexandros Naskos
819b367360 Extract packages from all top level steps 2020-06-15 02:26:54 +03:00
Alexandros Naskos
bfdeecbd04 Better alias support 2020-06-15 01:19:21 +03:00
Alexandros Naskos
e68bec8673 Simplified some code 2020-06-14 23:43:29 +03:00
Alexandros Naskos
48019dd7e2 Added label support 2020-06-14 22:24:18 +03:00
Alexandros Naskos
b46c02228b Fix build file reference counting 2020-06-14 21:19:27 +03:00
Alexandros Naskos
e27c58e953 Build file reference counting fix 2020-06-14 21:11:49 +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
5c78e88b19 Use Bi formatting in debug allocator instead of our own bad solution now that PR has been merged in zig 2020-06-12 21:33:40 +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
612e93be6a Fix 2020-06-12 15:53:45 +03:00
Alexandros Naskos
481f2c2965 Better comment in debug allocator pointing to a ziglang PR 2020-06-12 15:52:14 +03:00
Alexandros Naskos
1086d3a29f Added bound function type params 2020-06-12 14:56:46 +03:00
Alexandros Naskos
be9f2de43a Fixed error union decls 2020-06-11 11:21:08 +03:00
Alexandros Naskos
693e810d75 Resovle parens, only skip empty container fields where we have to 2020-06-11 11:12:31 +03:00
Alexandros Naskos
28e9d08f03 Stop adding malformed container decls into scopes 2020-06-11 03:20:44 +03:00
Alexandros Naskos
80dd19dd8b Usingnamespace support 2020-06-11 02:40:11 +03:00
Alexandros Naskos
323b05856e Fixed array payload type resolution 2020-06-11 01:09:28 +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
0a9cf87585 Added symbol tables 2020-06-10 16:12:00 +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
Alexandros Naskos
aa0e3e3736
Merge pull request #108 from Vexu/cast
Support completion for builtin casts with explicity type parameter
2020-06-09 10:57:50 +03:00
SuperAuguste
3c2c1e97ed preamble to usingnamespace 2020-06-08 23:21:55 -04:00
SuperAuguste
20434839f1 add new instructions to config, start increasing debugability 2020-06-08 18:18:12 -04:00
Vexu
3fc7ee75c2
support completion for builtin casts with explicity type parameter 2020-06-08 19:07:34 +03:00
SuperAuguste
6ae23ba2d0 fix field details in completions 2020-06-07 09:49:21 -04:00
Alexandros Naskos
71500428b6 Fixed occasional crash 2020-06-07 12:21:01 +03:00
SuperAuguste
d35a71806b fix 2020-06-06 18:02:53 -04:00
Auguste Rame
dd58d0d501
Merge pull request #103 from Vexu/patch-1
Correctly skip first comma in bound function snippets
2020-06-06 14:11:38 -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
Veikka Tuominen
da170c44b9
correctly skip first comma in bound function snippets 2020-06-06 10:35:59 +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
b0bb8888d3 Removed unreachable, switch cases can trigger this 2020-06-03 19:59:26 +03:00
Alexandros Naskos
34fbef97fe Added If, While, For payload type resolution 2020-06-03 19:56: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
d429aa6105 Removed comment 2020-06-02 16:49:31 +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
5ae7b0a855 Resolve type parameters in some circumstances 2020-06-01 20:48:14 +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
SuperAuguste
c9af33011a fix function defs in containers 2020-05-29 16:07:00 -04:00
SuperAuguste
b08ff62595 Merge branch 'master' of https://github.com/SuperAuguste/zls 2020-05-29 16:01:45 -04:00
SuperAuguste
e945c4cca0 fix 2020-05-29 16:01:35 -04:00
Alexandros Naskos
4e87390196 DeclsFromIndex no longer needs to return the innermost container, we find it while processing expressions 2020-05-29 12:46:50 +03:00
Alexandros Naskos
bc8ecd28f4
Merge pull request #40 from Vexu/err
Implement global error set and enum literal completion
2020-05-28 19:04:06 +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
985a1d6398 give tests names in outline 2020-05-28 08:41:40 -04:00
SuperAuguste
0720452217 fix more no_names and build config 2020-05-27 21:14:27 -04:00
SuperAuguste
2b153e046c outlines, made JSON stdout memory dynamic 2020-05-27 20:39:36 -04:00
Alexandros Naskos
6f8fbe1ccb Added tests. 2020-05-27 21:58:35 +03:00
Alexandros Naskos
406e400f0c Pointer to array slicing yields a pointer to array type, not a slice type. 2020-05-27 19:01:23 +03:00
Alexandros Naskos
7602f34bb4 Added .?, .*, [] support 2020-05-27 18:49:11 +03:00
Alexandros Naskos
54f3590b6d Merge branch 'master' of https://github.com/SuperAuguste/zls into new_pos_context 2020-05-27 13:47:12 +03:00
Alexandros Naskos
a5958caccd Free handles before deleting them from the hashmap 2020-05-27 13:41:50 +03:00
Alexandros Naskos
f3974d2ff2 Removed unneeeded function 2020-05-27 13:09:50 +03:00
Alexandros Naskos
d2325df729 Removed comments 2020-05-27 02:00:22 +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
3c0ee21337 Removed comment 2020-05-26 21:39:39 +03:00
Alexandros Naskos
a330932b7c Copy scope nodes when cloning an analysis context 2020-05-26 17:19:16 +03:00
Alexandros Naskos
6f23d8a053 Small fixes and code cleanup 2020-05-26 13:30:28 +03:00
Alexandros Naskos
9bf0842697 Merge branch 'master' of https://github.com/SuperAuguste/zls 2020-05-26 01:52:25 +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
SuperAuguste
f5b30cfd6c zig build config is here! 2020-05-25 17:12:08 -04:00
Alexandros Naskos
754a982be2 Make capabilities explicit, make hover capability true 2020-05-25 23:15:54 +03:00
Alexandros Naskos
8d9b96e749 Added build file ref counting and freeing 2020-05-25 20:42:58 +03:00
Alexandros Naskos
379891f937 Dont copy the build runner if a file with that name already exists 2020-05-25 20:21:53 +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
5fb68c9dc7 Do not try to find build files in a std and subdirectories 2020-05-25 17:48:25 +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
f008a776e2 Removed debug traces, added comment 2020-05-25 11:30:12 +03:00
Alexandros Naskos
1f23ba8490 Use new build.zig functions to get the correct steps 2020-05-25 11:28:38 +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
7c5ff5c43d Fix segfault with var params 2020-05-25 02:57:19 +03:00
Alexandros Naskos
727b363f7f Fix infinite loop in resolveTypeOfNode 2020-05-24 21:01:35 +03:00
Alexandros Naskos
d6513456c1 Keep old scope nodes onContainer 2020-05-24 19:26:46 +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
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