Commit Graph

348 Commits

Author SHA1 Message Date
Techatrix
8d53a5382d
resolve type of @typeInfo (#915) 2023-01-16 13:46:33 -05:00
Techatrix
3f2700eaa5
improve completion on error and enums (#887) 2023-01-06 13:59:20 -05:00
Techatrix
a574ac68ba
use more explicit error sets (#880) 2023-01-03 10:21:58 -05:00
Techatrix
c718e12d16
Autofix improvements (#879)
* improve autofix stability and client support

* run zig fmt
2023-01-02 14:59:01 -05:00
Techatrix
94ec3a0a86
Debugging utilities (#860)
* add debug printing for Ast and DocumentScope

* add optional failing allocator
2022-12-30 18:42:53 -05:00
Techatrix
f473088b64
fix crashes found through fuzzing (#866) 2022-12-30 18:42:28 -05:00
Techatrix
61c0981294
Use zig-lsp-codegen (#850)
* add lsp.zig

* change references from types.zig to lsp.zig

* remove types.zig and requests.zig

* add tres as a submodule

* transition codebase from types.zig to lsp.zig

* update lsp.zig

* completely overhaul message handler

* fix memory errors

* partially transition tests to lsp.zig

* update lsp.zig

* more test fixes

* disable failing tests

* fix message handling bugs

* fix remaining tests

* access correct union in diff.applyTextEdits

* more message handler fixes

* run zig fmt

* update tres submodule

* fix memory access to freed memory

* simplify initialize_msg for testing

* check if publishDiagnostics is supported
2022-12-27 01:47:57 -05:00
Techatrix
941882371c
fix memory lifetime issues (#851) 2022-12-27 00:52:15 -05:00
Travis Staloch
e09c773005
analysis.zig getPositionContext() - check for null
closes #754 and #832

this pr just adds `.label => {}` to the switch as suggested by
@nullptrdevs, thereby preventing the null unwrap.  i checked that zls no
longer crashes when positioning the cursor on Server.zig:2287:41 which
is this line:
  `break :blk .{ .WorkspaceEdit = edits };`
                              ^ cursor here previously crashed zls
2022-12-17 15:37:49 -08:00
Techatrix
68ac6f9f30
remove ast.tokenSlice() (#824) 2022-12-15 17:01:42 -05:00
Techatrix
c39a4eb2ab
simplify & refactor analysis code (#823) 2022-12-15 13:03:09 -05:00
Auguste Rame
0ab34abc0f
Bug stream fixes (#818)
* Fix glaring inlay hint issue; thanks for the report Nameless

* Fix label references; closes #728
2022-12-13 22:07:36 -05:00
Alexandros Naskos
3cac23f8a1
Fix references to now removed, previously deprecated std.ascii declarations 2022-12-10 23:21:55 +02:00
Alexandros Naskos
56a65f42bf
Added tuple type support, fixed compilation with zig master branch (#786)
* Added tuple type support, fixed compilation with zig master branch

* Removed unneeded comment

* Bumped up minimum zig version required to build zls
2022-11-26 12:22:16 -05:00
Auguste Rame
87aa4c09e1
Quick comptime interpreter fix, place it behind an option (#761)
* Quick fix

* Add config option
2022-11-16 19:28:01 -05:00
Auguste Rame
355d56376f
Merge pull request #724 from zigtools/comptime-bebe-steps
Implement comptime interpreter
2022-11-16 18:13:35 -05:00
Techatrix
d75fd3a880
detect comment position context (#756) 2022-11-16 17:34:36 -05:00
Auguste Rame
599c134593
Imports, cross-boundary resolution; can import std but dies on missing builtins / lang features 2022-11-08 14:37:13 -05:00
Auguste Rame
da00751726
Field access, function calls based on function value 2022-11-08 14:37:13 -05:00
Auguste Rame
779c3c0710
Hacky mess but it works (only if your function is the first root decl tho :P) 2022-11-08 14:37:13 -05:00
Auguste Rame
d2640a44ac
comptime interpreter moment 2022-11-08 14:37:01 -05:00
Tom Cheng
af14067911 Fix crash when getting signature of optional
e.g. typing 'foo.?.bar(' crashes zls because it doesn't recognize ? as a
possible token as part of a function expression, and tries to call
getFieldAccessType with '.bar' instead.

The actual fix is the one line in src/signature_help.zig

getFieldAccessType was reworked to be more resilient to this type of
thing - the `undefined` value of `current_type.type.data` was being used
since it hit the `.period` branch first. This caused the crash.
2022-11-02 14:55:22 +00:00
Techatrix
2158a201ad add separate function for loading handles with getOrLoadHandle 2022-10-17 20:43:11 +02:00
Techatrix
25ce5dd8aa undo DocumentStore constness changes 2022-10-16 17:17:40 +02:00
Techatrix
d6ef330984 Merge branch 'master' into document-store-refactor 2022-10-10 19:07:15 +02:00
Jonas Enlund
3833566790
Add missing .switch_case_inline, .switch_case_inline_one cases (#699)
* Add missing .switch_case_inline, .switch_case_inline_one cases

* Include inline semantic token

Co-authored-by: Auguste Rame <19855629+SuperAuguste@users.noreply.github.com>
2022-10-07 20:00:23 -04:00
Techatrix
5d748767e9 mark DocumentStore & Handle const 2022-10-05 13:40:11 +02:00
Techatrix
dab7eb81cc reimplement document store 2022-10-05 13:23:38 +02:00
Techatrix
a9a1fad13e
remove types.TextDocument (#693)
* remove types.TextDocument

* resolve compile errors because of previous merge
2022-09-30 20:45:45 -04:00
Techatrix
6ff19e8b5f analysis: store function node in parameter declaration 2022-09-24 21:25:32 +02:00
Techatrix
e28549fa7d
Completely overhaul offsets.zig (#643)
* completely overhaul offsets.zig
2022-09-16 00:33:49 +00:00
max
5aff17afb0
sync with zig master version llvm15 (#652) 2022-09-14 14:56:17 -04:00
Lee Cannon
bd6f60e451
update for zig master (#651) 2022-09-13 16:54:28 -04:00
nullptrdevs
6269eef776
fix: "f..o.o;" crashes the server (#629)
this is a fix for #381 and a hack for #409
(related, get triggered by "f..o.o;")
2022-09-07 13:14:11 -04:00
nullptrdevs
54be6d92c6 fix: fix server crash related to parsing incomplete function as a function's parameter
fixes zigtools#567
2022-08-25 13:17:38 -07:00
Lee Cannon
a18ec394f1
Merge pull request #602 from Techatrix/unmanage-code
unmanage all the code
2022-08-23 21:21:08 +01:00
Techatrix
dc3199cffa unmanage all the code 2022-08-23 12:44:26 +02:00
nullptrdevs
015332b69e
Update analysis.zig 2022-08-22 10:54:29 -07:00
nullptrdevs
2c5ae262f7 fix: fix memory leaks related to updating config variables
adds an edge case in analysis.makeScopeInternal to prevent
leaking memory when adding duplicate container fields w/ name "other"
2022-08-21 17:11:50 -07:00
Techatrix
c6892eaafc
Merge branch 'zigtools:master' into cimport-support 2022-08-21 08:53:06 +00:00
Techatrix
8457487b2e better handling for enum field signatures 2022-08-20 18:28:41 +02:00
Techatrix
d57f8e3a64 add basic cImport support 2022-08-19 00:00:46 +02:00
Techatrix
29690f4e0b Refactor Ast helper functions 2022-08-18 00:52:21 +02:00
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