Auguste Rame
ea24928002
Merge pull request #574 from Techatrix/tokenize-undefined
...
Semantic token for keyword 'undefined'
2022-08-05 21:48:19 +02:00
Techatrix
a30d310d7f
better semantic token for keyword undefined
2022-08-05 14:20:16 +02:00
Techatrix
cee46461e0
handle ptr_type_sentinel
2022-08-05 11:22:55 +00:00
Veikka Tuominen
410a2dd6dd
add f80
2022-07-17 13:03:26 +02:00
Auguste Rame
6f19772c17
Fix config source of truth problems, refactor some more
2022-07-15 18:06:18 +02:00
Auguste Rame
c640903c98
Fix container function param completion
...
Closes #521
2022-07-14 14:44:22 +02:00
Techatrix
6b66820677
Remove unnecessary pointer indirection
2022-07-11 23:57:41 +00:00
Auguste Rame
43c61b3da6
@import and @embedFile completions!
2022-07-09 05:23:53 -04:00
Auguste Rame
0c0cb261b7
Basic variable type resolution on hover
2022-07-08 15:15:50 -04:00
Jarred Sumner
a3723c73b8
Fix missing doc comments in inline fn
2022-04-22 00:49:36 -07:00
Meghan Denny
ca409941e0
update to zig master 0.10.0-dev.1679+d227f76af
2022-03-31 16:01:43 -07:00
Stephen Gutekanst
515cdd95a0
update for anytype field yeeting
...
Updates ZLS to account for the yeeting of anytype fields: https://github.com/ziglang/zig/pull/10766
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-02 22:00:31 -07:00
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
Sirius902
dc94a5e317
c_void -> anyopaque ( #437 )
2021-12-20 19:05:54 -05:00
Matt Knight
f9133ffdec
allocgate defeated
2021-12-03 08:00:22 -05:00
MineBill
e469d8171f
Fixes errors that are caused by using deprecated functions
2021-11-30 16:24:37 -05:00
Meghan Denny
04edc7a2d5
remove all use of usingnamespace
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
b63339e350
remove Tree when it was the same as Ast
2021-09-30 18:57:45 -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
9e0f201283
finish rename of usage of std.zig.Ast
2021-09-30 18:44:06 -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
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
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
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
Lee Cannon
c2cbc05135
Fix index of of range
2021-06-18 12:58:15 +01:00
Alexandros Naskos
b756ed4da5
Fixed HashMap usage for latest master stdlib
2021-06-04 14:06:11 +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
四光年
d4551030c4
[bug-fix]hover struct field not show docs.
2021-05-07 17:10:13 +08:00
Jonathan Hähne
807bd6a571
Simplify semantic_tokens, fix off-by-one error in identifierFromPosition
2021-05-02 19:59:17 +02: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
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
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
cc3c146749
Correctly handle skipping self parameters in signature help requests
...
as well as completion requests.
2021-04-03 18:54:26 +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
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
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
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
Alexandros Naskos
b417e64e10
Do not show tests in container completions
2021-03-29 15:41:58 +03:00
Alexandros Naskos
e770e2bead
Fixed regression from latest commit
2021-03-29 15:35:14 +03: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
Alexandros Naskos
48b5ca5385
Always send an insertText field in completion items
2021-03-28 17:02:48 +03:00
Alexandros Naskos
3e300e4d74
Added our own ifFull implementation, fixes some crashes
2021-03-26 21:46:49 +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
Alexandros Naskos
55ad1028fc
Fixed crash in analysis of variable declaration aliases
2021-03-21 02:31:32 +02:00
Luuk de Gram
472033a845
Improve token location stability
2021-03-13 12:22:19 +01: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
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
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
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
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
Vesim
b2e456404c
fix inStream/outStream removal
2021-01-10 08:12:11 +01:00
Lee Cannon
2a9edf243d
Fixed string printing with {s} format specifier
2021-01-04 17:51:26 +00: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
0bf9602d7b
Fixed infinite loop when analyzing variable declarations like const A = A;
for semantic token highlighting
2020-11-15 20:37:00 +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
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
Alexandros Naskos
162f1b2fbe
Opaque type support
2020-10-10 12:25:50 +03: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
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
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
e7a1f5c34f
Fixed slice access type resolution
2020-07-23 21:33:43 +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
76dcc8cbe2
null fix
2020-07-17 10:01:21 -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
5454883d2d
Added *, ? completions, improved readme
2020-07-07 23:26:12 +03:00
Alexandros Naskos
b61785eb3e
Optimize document symbols
2020-07-07 11:57:02 +03:00
Alexandros Naskos
c067bce9fa
Fixed to use latest HashMap API
2020-07-06 00:56:41 +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
671318730a
Started adding session tests, finished (buggy) main loop rewrite
2020-06-30 15:46:43 +03:00
Alexandros Naskos
3be74cbdc5
Dont use variable decl init node blindly
2020-06-28 16:08:15 +03:00
Alexandros Naskos
108a2dbd64
Semantic highlighting improvements
2020-06-27 20:45:58 +03:00
Alexandros Naskos
8bc6087646
Completed renaming
2020-06-27 15:29:45 +03:00
Alexandros Naskos
beb900f1d9
Added label renaming
2020-06-27 03:16:14 +03:00