Commit Graph

904 Commits

Author SHA1 Message Date
ikrima
ca8ca06da9 yolo: add type function symbols to outline
Questions:
- `getDocumentSymbolsInternal`: from looking at the code + cross referencing VSCode Api, looks like its just used to enumerate document symbols
  (call tree: `documentSymbol()->getDocumentSymbols()->getDocumentSymbolsInternal()`)
  - sanity check: are there any other places this modification needs to be propogated?
  - sanity check: specifically so that symbol resolve/rename/goto def/etc aren't broken?
- error handling: unsure what the pre/post conditions are of the parse tree when `getDocumentSymbolsInternal` is invoked
  so there might be superflous guards/checks
- any tests to add?
2022-01-12 03:25:26 -06:00
Auguste Rame
08f2638d6a
Merge pull request #445 from nektro/autocomplete-builtin
add a default option for `@import(builtin)`
2022-01-01 16:57:39 -05:00
Meghan Denny
09d51af161 handle AccessDenied when making 'builtin.zig' fill-in 2021-12-29 22:53:30 -08:00
Meghan Denny
54d8f3273c builtin_path might not be set if zig_exe_path isnt found 2021-12-29 21:17:44 -08:00
Meghan Denny
9006584835 uriFromImportStr expects a uri not a path 2021-12-29 21:08:13 -08:00
Meghan Denny
3fdab6c2fa add a default option for import(builtin) 2021-12-29 19:35:16 -08:00
Meghan Denny
7cacfe9a6a update builtin data for zig master 2021-12-29 22:25:03 -05:00
Meghan Denny
49cbbd1ebb add builtin data for 0.9.0 2021-12-29 22:24:34 -05:00
Auguste Rame
18569926a3 Fix compilation on latest Zig 2021-12-23 14:00:07 -05:00
Matthew Murray
cb4e742134
Update submodule to latest commit (#439) 2021-12-22 23:08:05 -05:00
Sirius902
dc94a5e317
c_void -> anyopaque (#437) 2021-12-20 19:05:54 -05:00
Marten Ringwelski
abe82f6069
build_runner: Require some paths to be given (#369)
We now require the following to ge given in the cli args:
- zig_exe
- build_root
- cache_root
- global_cache_root

This fixes the path for packages that use one or more from the above to place
their files.
2021-12-11 12:42:18 -05:00
Matthew Knight
14528db0b7
update known-folders for allocgate (#432)
* update known-folders for allocgate

* run workflow on all pushes and PRs
2021-12-06 18:04:18 -08:00
maxxnino
5fd35f7efe Fix zigtools/zls#389 2021-12-03 11:49:41 -05:00
Matt Knight
f9133ffdec allocgate defeated 2021-12-03 08:00:22 -05:00
MineBill
227dcb4650 Remove newline 2021-11-30 16:24:37 -05:00
MineBill
e469d8171f Fixes errors that are caused by using deprecated functions 2021-11-30 16:24:37 -05:00
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