Commit Graph

285 Commits

Author SHA1 Message Date
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
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
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
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
fc769e7e83 Fixed enum access 2020-06-18 15:43:03 +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
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
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