1
1
mirror of https://github.com/oxalica/nil.git synced 2024-11-23 12:03:30 +03:00
Commit Graph

49 Commits

Author SHA1 Message Date
oxalica
19871b3842 Move string-related desugaring into syntax crate 2022-11-03 03:41:03 +08:00
oxalica
c064894105 Monitor client process's liveness on Linux
Some client use UNIX domain sockets for communitation. But they are not
automatically closed when the client exits abnormally, resulting leaked
server instances.
2022-10-22 14:24:51 +08:00
oxalica
c84d1619d0 Refactor API of VfsPath 2022-10-11 02:44:14 +08:00
oxalica
756be130c8 Handle workspace/didChangeWatchedFiles
This notification is sent unexpectedly by VSCode, observed in #24.
2022-10-04 05:06:55 +08:00
oxalica
2a9dcd5b15 Resolve Path to VfsPath instead of FileId
This allows resolving to files not loaded. File existence check is
delayed to LSP server side.
2022-10-04 05:01:50 +08:00
oxalica
eb71b56015 Fix lost root changes 2022-10-04 04:03:19 +08:00
oxalica
31b714f3da Use absolute VfsPath and remove file preloading
We currently don't enable any workspace features.
Reading file on demand can be more robust and memory efficient.

Fixes #21
2022-09-28 17:56:20 +08:00
oxalica
ec7d3490f2 Report duplicated lambda parameters 2022-09-27 22:41:22 +08:00
oxalica
ac84014360 Clarify build requirements and add CI 2022-09-27 22:23:22 +08:00
oxalica
5f1eab84a6 Async diagnostics calculation 2022-09-27 21:20:36 +08:00
oxalica
ca9c97143b Impl multi-threading and request cancellation 2022-09-27 21:09:03 +08:00
oxalica
fedf5eb649 Reorganize server states 2022-09-26 17:54:08 +08:00
oxalica
f535de51d1 Impl file formatting via external command
Fixes #12
2022-09-26 15:54:01 +08:00
oxalica
764c2be3bc Use last_line instead of line_count 2022-09-26 15:13:48 +08:00
oxalica
16c255449a Impl basic support for document symbol hierarchy
Currently the tree is flattened to LetIn and *Attrset nodes. Only
binding names are listed.

Fixes #16
2022-09-26 02:04:51 +08:00
oxalica
5f53c3c83e Recalculate all diagnostics after config change 2022-09-26 00:23:46 +08:00
oxalica
a370df35c9 Impl diagnostic filter 2022-09-25 23:47:58 +08:00
oxalica
fe625a2692 Decouple error messages for human from tests 2022-09-25 21:40:28 +08:00
oxalica
ad1b27a6d8 Parse Expr in Binding-position as recovery 2022-09-25 21:40:28 +08:00
oxalica
8f9882d1ad Always wrap error syntax in ERROR nodes
This prevents error tokens accidentally affect the container node, eg.
the dangling `let` inside an Attrset.

Fixes #20
2022-09-25 21:39:52 +08:00
oxalica
02be7d9628 Tweak builtins and hint user about missing docs 2022-09-23 18:52:47 +08:00
oxalica
c785fc55f4 Show incomplete syntax as errors by default
Fixes #11
2022-09-22 22:32:11 +08:00
oxalica
c71d4b7070 Fix build and show hints when nix is not found 2022-09-22 21:30:19 +08:00
oxalica
f94b668d25 Impl hover for names 2022-09-22 20:12:47 +08:00
oxalica
c361e61da0 Show docs for builtin completions 2022-09-22 18:48:16 +08:00
oxalica
cf182a8ca4 Generate builtins from Nix 2022-09-22 18:26:56 +08:00
oxalica
039ae629eb Support renaming inherited names 2022-09-21 18:58:23 +08:00
oxalica
2f0231fde9 Move server capabilities into an individual mod 2022-09-21 17:28:42 +08:00
oxalica
6a7ecb4386 Impl LSP settings 2022-09-21 17:24:14 +08:00
oxalica
9bc685c1c8 Add instructions to run fuzzer 2022-09-20 19:56:37 +08:00
oxalica
f36ec4af63 Prettify syntax error messages 2022-09-20 19:53:34 +08:00
oxalica
5cab069314 Monomorphize UnexpectedToken error 2022-09-20 19:53:24 +08:00
oxalica
1463d498b5 Enhance error recovery for incomplete syntax 2022-09-20 18:16:07 +08:00
oxalica
d31baa16cb Fix highlighting of or 2022-09-20 16:25:45 +08:00
oxalica
ae6981ea32 Impl incremental text change 2022-09-19 09:28:17 +08:00
oxalica
15cd08d0d0 Shrink and update dependencies 2022-09-19 09:28:17 +08:00
oxalica
0ab60fdff0 Unify naming of bijection getters to A_for_B for B -> A 2022-09-19 09:28:17 +08:00
oxalica
8a1a899cff Tweak VFS API to simplify usage 2022-09-19 09:28:17 +08:00
oxalica
d2ce10e9af Load only .nix files into vfs 2022-09-19 09:28:17 +08:00
oxalica
bb186c9d14 Fix Attr highlighting 2022-09-12 10:56:37 +08:00
oxalica
e04b1b968d Wrap panicking in handlers into RPC failure 2022-09-12 10:21:10 +08:00
oxalica
4f3f9c970d Impl semantic highlighting 2022-09-12 09:59:04 +08:00
oxalica
41bc624f97 Comment test cases of LineMap 2022-09-12 06:02:18 +08:00
oxalica
b469b939f1 Support renaming to strings 2022-09-06 09:00:15 +08:00
oxalica
55cda6788c Impl renaming 2022-09-06 08:49:22 +08:00
oxalica
0cdcbe92db Always use the whole Attr location for Name 2022-09-06 06:55:38 +08:00
oxalica
dd476b39e7 Proper error handling for LSP 2022-09-06 04:41:42 +08:00
oxalica
dabcd8b962 Burn version information in binary 2022-09-06 02:30:24 +08:00
oxalica
5bdf49686c Refactor workspace layout 2022-09-06 01:54:33 +08:00