Techatrix
ea02e4364f
remove had_root
global
2023-03-14 15:16:30 +00:00
Techatrix
0ff0a193cc
simplify analysis by introducing a Analysis Struct
2023-03-14 15:16:30 +00:00
Techatrix
865e5efe8b
refactor semantic tokens
2023-03-14 14:56:11 +00:00
Techatrix
bbc082d102
update config gen to work with vscode-zig
2023-03-14 14:27:18 +00:00
Techatrix
dc7efa591c
resolve relative include directories
2023-03-14 14:25:13 +00:00
Auguste Rame
ef4a0607fb
Add some more basic overflow checks ( #1055 )
2023-03-12 01:53:05 -05:00
Techatrix
a959f161e9
find references on test decl with identifier name ( #1051 )
2023-03-12 01:24:54 -05:00
Techatrix
ab23ff3616
Optimize document symbols ( #1050 )
...
* optimize document symbol generation
* match folding range index to position conversion and documentation to document symbol's
* skip function decls with no name
* skip document symbol field in opaque type
2023-03-12 01:24:42 -05:00
Techatrix
c203110555
more tracy calls ( #1052 )
2023-03-11 13:43:14 -05:00
Techatrix
ff467f9878
InternPool: add more helper functions and debug formatting ( #1043 )
2023-03-11 12:37:06 -05:00
Techatrix
333fcb5633
minor semantic token fixes ( #1044 )
...
* improve analysis and highlighting of error sets
* emit semantic token for unresolved identifiers
* minor semantic token fixes
2023-03-11 12:36:48 -05:00
Techatrix
3c26892c7e
limit maximum detail length at 1024 bytes ( #1048 )
2023-03-10 20:06:17 -05:00
Techatrix
ed91fd3823
fix leak in openDocument
2023-03-08 21:52:26 +01:00
Techatrix
d5ac6b9734
rework nodesAtLoc
2023-03-07 09:38:18 -08:00
Techatrix
7a7928f466
fix locIntersect
2023-03-07 09:38:18 -08:00
Techatrix
0ee947e8a6
add Ast to callback field in iterateChildren
2023-03-07 09:38:18 -08:00
Techatrix
0f3319315f
implement textDocument/semanticTokens/range
2023-03-07 09:29:39 -08:00
Techatrix
ce9ae21cf4
fix lastToken on tagged union with invalid members
2023-03-07 09:21:46 -08:00
Auguste Rame
2ce59a3bc3
Branching type resolution ( #1031 )
...
* Branching type resolution
* Add condition information to completions (borked rn i give up)
* Fix completion conditional descriptor
* Multi gotodef
* Multi hover
* Reenable references
* Fix getAllTypesWithHandles
2023-03-07 12:17:45 -05:00
Techatrix
8e6609e0f5
skip failed cimports on garbage collection
2023-03-07 12:28:20 +01:00
Techatrix
421a05ae5f
send response on shutdown request ( #1037 )
2023-03-06 13:34:09 -05:00
Techatrix
bb1b1dd102
update version data
2023-03-06 09:32:03 -08:00
dec05eba
76ee4b80fd
Fix crash if zls.json is empty ( #1034 )
...
Fixes #1033
2023-03-05 14:09:39 -05:00
Auguste Rame
121f68b970
Fix build runner ( #1029 )
...
* Fix build runner
* Add zls module, bump version
* Fix path from root issue in modules (thanks daremakemyday from Twitch :))
* Libraryify
* remove build_runner backward compatibility
* Remove some `= undefined`s in Server.zig
Makes library use less dangerous
* Consistent mem model + custom build runner possible
* Add build runner utils for third-party tooling
* Make logs removable in libraries with zls_ prefix
* Fix build runner CI
* Expose references
* Use new addModule
2023-03-05 14:08:31 -05:00
Meghan
a78950ce82
update zig submodules to new builtin dependency system ( #1017 )
...
* build.zig: collapse exe_options
* build.zig: convert zig submodules to new dependency system
* update minimum version so that package manager hashes work cross-platform
2023-03-03 01:26:15 -05:00
Techatrix
30869d7d87
InternPool: replace untyped values with typed values ( #1023 )
...
* InternPool: replace untyped values with typed values
* InternPool: remove `indexToTag`
* InternPool: rework representation of optional values
* add representation for unknown values and types
* ComptimeInterpreter: use InternPool typed-values
* ComptimeInterpreter: field access test
* ComptimeInterpreter: improve handling of if expressions
* InternPool: fix typeOf on a comptime float
* ComptimeInterpreter: implement TypeOf with multiple parameters
2023-02-27 17:53:46 -05:00
Techatrix
89ab9fdf70
make diff.edits
memory safe ( #1026 )
2023-02-27 17:53:16 -05:00
Auguste Rame
ed908a2511
Rerun build.zig configuration extraction on zig_exe_path change ( #1027 )
2023-02-27 17:52:05 -05:00
Techarix
4b0da6f6ae
fix folding range on multi line function declaration
2023-02-25 10:58:29 -08:00
Techarix
97f7fd77c6
fix folding range on structs with doc comment on first field
2023-02-25 10:58:29 -08:00
Lee Cannon
5ede46f003
support new module cli arguments ( #1019 )
...
* support new module cli arguments
* capture the runtime zig version and store it on `Server`
* update build_runner action
* Use correct version for selecting arguments
2023-02-23 15:18:52 -05:00
Techatrix
9cb569a196
update version data ( #1021 )
2023-02-23 00:03:10 +00:00
nullptrdevs
424a06b7ee
completeBuiltin
fixes (#1015 )
...
- Always return a copy to avoid memory corruption (most operations assume an arena allocated copy)
- label_details were only generated for the first (pre-fix) disposable copy
- Correct use_snippets logic (send only if configured and client supports them)
2023-02-22 16:30:21 +00:00
Techatrix
36738501cf
ignore an unknown CodeActionKind ( #1001 )
2023-02-21 22:27:47 +00:00
Techatrix
0f77fd5b0e
add multi object for loop support ( #1011 )
...
* run `zig fmt`
* add support for multi object for loops
* add completion tests on multi object for loops
* update minimum zig build version
* use multi object for loops in codebase
* Update tres to latest version
* fix panics when generating document scope on invalid for loops
2023-02-21 17:11:35 -05:00
Lee Cannon
8bd5358748
build_runner: provide valid global cache to the build runner ( #1009 )
2023-02-17 15:26:03 -05:00
Auguste Rame
c3f58538e8
Merge pull request #793 from Techatrix/intern-pool
...
ComptimeInterpreter: Intern Pool
2023-02-15 14:46:58 -05:00
Lee Cannon
abe07e601e
Fix build runner for latest changes ( #1005 )
...
* build_runner: update to use new caching system
* build_runner: switch ci to use 0.10.1 instead of 0.10.0
* build_runner: support older versions
* build_runner: ensure depreciated functions and types are handled when they are removed
* build_runner: prevent access denied on global cache
2023-02-15 13:36:06 -05:00
Techatrix
4f42c68a0a
improve error message when parsing zls.json ( #1002 )
2023-02-15 13:34:52 -05:00
nullptrdevs
dedb9deb08
Fix handling of invalid tokens in getPositionContext ( #1006 )
2023-02-15 13:33:58 -05:00
Techarix
2dffa9ef25
Merge branch 'master' into intern-pool
2023-02-14 23:48:57 +01:00
nullptrdevs
290ed6e7e7
Avoid integer overflow in analysis.getPositionContext
( #998 )
2023-02-13 20:09:36 -05:00
nullptrdevs
b28d3aadd7
Configuration handling fixes ( #995 )
...
* Fortify `server.handleConfiguration`.
* Move call to `server.registerCapability` within `server.initializedHandler`(was being sent prematurely).
2023-02-13 17:59:06 -05:00
nullptrdevs
409c203317
Amend getPositionContext
to handle incomplete .string_literal
s, ie "
, @"
( #997 )
2023-02-13 17:47:57 -05:00
Auguste Rame
7919da5054
Bump diffz to fix overflow issue on long files ( #993 )
2023-02-11 17:30:55 -05:00
Techatrix
37ca1333ed
implement cInclude completions & goto definition ( #970 )
...
* implement cInclude completions & goto definition
* fix cImport features on windows
* fix relative path with `..`
2023-02-11 20:25:55 +00:00
Techatrix
99b5fd4f69
small refactor
2023-02-11 20:45:51 +01:00
Techatrix
654913ae47
implement coerceInMemoryAllowedErrorSets
2023-02-11 20:37:26 +01:00
Auguste Rame
bf19ed3ea9
Switch to Diff Match Patch (diffz) ( #982 )
...
* Add tests, note about correctness issue
* Use diffz (DiffMatchPatch)
2023-02-11 14:21:10 -05:00
Alex Kladov
73d6264cab
Fix missing nodes in outline ( #990 )
...
* Remove some boilerplate from test
* Fix missing nodes in outline
2023-02-11 14:20:01 -05:00
Alex Kladov
0d3b0e9965
Remove some boilerplate from test ( #988 )
2023-02-11 14:19:37 -05:00
Techatrix
5754f362c6
Merge branch 'master' into intern-pool
2023-02-11 00:41:29 +01:00
Techatrix
6d387bca11
improve comptime interpreter dot completions
2023-02-11 00:34:30 +01:00
Techatrix
5cb0c98db1
fix function call resolution
2023-02-11 00:04:08 +01:00
Techatrix
3fda3b5414
remove some InternPool test boilerplate
2023-02-10 22:57:46 +01:00
Techatrix
09c35b8eaa
update onePossibleValue for arrays
2023-02-10 22:44:26 +01:00
Techatrix
83f33f1c16
implement intInfo for enums
2023-02-10 19:39:21 +01:00
Techatrix
d98060b3d6
more closely match Zir.Inst.Ref to InternPool.Index
2023-02-10 19:10:58 +01:00
Techarix
57fc10eec0
add predefined values to Index
2023-02-08 21:01:15 +01:00
Techarix
6278880f42
Merge branch 'master' into intern-pool
2023-02-08 20:10:17 +01:00
Techatrix
8ec82321d4
remove arena allocator from analysis ( #981 )
...
* remove arena allocator from analysis
* fuzzer fix
* deinit `BoundTypeParams`
2023-02-07 17:44:04 -05:00
Techatrix
1b3274aa9c
simplify symbol references handler ( #978 )
2023-02-06 04:25:29 -05:00
nullptrdevs
62068ae828
zig build system changes (modules) ( #976 )
2023-02-05 02:15:42 -05:00
Techatrix
5a78cf1e50
optimize DocumentStore garbage collection ( #969 )
2023-02-05 00:24:37 -05:00
Techarix
66b7d7ad58
implement goto definition for cImport
2023-02-04 16:41:26 -08:00
Techarix
5f0d3bb886
show c source when hovering over cImport
2023-02-04 16:41:26 -08:00
nullptrdevs
bd539ae989
[std.zig.
] parse(alloc, src)
-> Ast.parse(alloc, src, Ast.Mode)
( #966 )
...
* Work in Zig's breaking changes (build sys apis)
* [`std.zig.`] `parse(alloc, src)` -> `Ast.parse(alloc, src, Ast.Mode)`
2023-02-04 18:19:24 +00:00
bing
384f227cb7
fix doc comment not showing on container field ( #947 )
2023-02-03 18:58:53 -05:00
nullptrdevs
4ba5631f7b
Update builtins data: "Say hello to @qualCast
". ( #962 )
2023-02-03 18:05:24 -05:00
Techarix
5258a60f0e
resolve bit size based target
2023-02-03 23:25:42 +01:00
Techarix
ef0cfadf8a
Merge branch 'master' into intern-pool
2023-02-03 23:19:40 +01:00
nullptrdevs
6297536d7b
Work in Zig's breaking changes (build sys apis) ( #955 )
2023-02-03 17:06:57 -05:00
nullptrdevs
75f0617279
Skip incomplete fn_protos when generating folding ranges ( #958 )
2023-02-02 23:38:09 -05:00
Techatrix
1b3c3defb7
rewrite folding range ( #954 )
2023-02-01 18:29:36 -05:00
Techatrix
767cf7a52d
fix iterateChildren on if ( #951 )
2023-02-01 12:11:45 +00:00
Techatrix
7b3cc1d6d4
Optimize inlay hints ( #948 )
...
* optimize inlay hints
* update iterateChildren
* add tests for nodesAtLoc
2023-01-31 22:41:39 -05:00
Techatrix
eac61ba8be
update data files
2023-01-28 22:42:13 +00:00
Techatrix
3080a5d315
fix config_gen
2023-01-28 22:42:13 +00:00
Techatrix
3c7e9e13ce
better error messages on field access
2023-01-28 19:01:49 +01:00
Techatrix
9cde2495b2
bug fixes
2023-01-28 18:54:16 +01:00
Techatrix
32b70117ef
use SegmentedList
2023-01-28 18:53:42 +01:00
Techatrix
55364f2e2b
do not intern Structs, Enums and Unions
2023-01-28 18:02:29 +01:00
Techatrix
2857237f74
add colon to inlay hint label ( #944 )
2023-01-27 15:59:11 +01:00
Techatrix
e055f9d15c
remove unused capacity from Ast and DocumentStore ( #941 )
2023-01-26 16:57:07 -05:00
Techatrix
6019eff13e
Fuzzer fixes ( #940 )
...
* better handling of container_decl_arg_trailing
* ignore semantic token when moving backwards
* use custom ast functions instead of from std
2023-01-26 16:04:49 -05:00
Techatrix
9131285db1
improve comptime interpreter stack trace message
2023-01-26 17:14:42 +01:00
Techatrix
ca644d67c1
Merge branch 'master' into intern-pool
2023-01-26 16:16:40 +01:00
Techatrix
fe54fb7cfa
Use new ast helper functions ( #939 )
...
* use new ast helper functions
* use new ast helper functions
* update min build version
* fix merge conflicts
2023-01-24 18:55:38 -05:00
Techatrix
b09c317ae7
bug hunting
2023-01-24 22:07:19 +01:00
Techatrix
d2586f79a1
replace ArrayList with MultiArrayList in DocumentScope ( #938 )
2023-01-24 15:43:48 -05:00
Techatrix
05ad3294f1
use ArrayList for dotCompletions
2023-01-24 17:00:14 +01:00
Techatrix
3577e719fb
equality compare floats with bitcast in InternPool
2023-01-24 16:59:01 +01:00
Techatrix
95139e09ec
move InternPool and encoding into analyser folder
2023-01-23 22:26:56 +01:00
Techatrix
829f4aa9c4
use analyser/completions.zig
for completing comptime interpreter
2023-01-23 22:23:01 +01:00
Techatrix
4b7a434feb
small refactor
2023-01-23 22:21:47 +01:00
Techatrix
497f1e1b23
implement field access in comptime interpreter
2023-01-23 21:29:24 +01:00
Techatrix
9dbae69288
add helper functions to intern pool
2023-01-23 21:28:40 +01:00
Techatrix
d10837dca0
expand dot completions
2023-01-23 21:28:15 +01:00
Álan Crístoffer
0e53ac1328
Partially fixes #907 ( #908 )
2023-01-22 17:52:04 -05:00
Techatrix
4e985e252b
add struct value tests
2023-01-22 22:10:52 +01:00