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

61 Commits

Author SHA1 Message Date
oxalica
3749c6bb3a Keep literal strings during lowering 2022-11-10 03:31:23 +08:00
oxalica
e3ce3bfca0 Move identifier check and quoting into syntax 2022-11-10 01:25:01 +08:00
oxalica
1e3fdf59cb Fix type for condition expr of if 2022-11-09 23:07:15 +08:00
oxalica
f43380d009 Tweak type formatter 2022-11-07 14:47:06 +08:00
oxalica
e8659c2e08 Fix clippy 2022-11-07 13:58:56 +08:00
oxalica
3171734d0d Show hover message for selection Attr 2022-11-07 13:56:25 +08:00
oxalica
72db1ef2bc Impl completion triggered . and ? 2022-11-07 12:58:01 +08:00
oxalica
2997e14a66 Fix completion inside non-last Attr 2022-11-07 12:29:30 +08:00
oxalica
d714bedf1e Construct empty NAME nodes for recovery 2022-11-07 11:24:30 +08:00
oxalica
efca332ce9 Complete attrset fields 2022-11-07 10:50:59 +08:00
oxalica
2cd3354204 Show types in hover messages 2022-11-07 09:35:09 +08:00
oxalica
8e4b0d6764 Initial impl for type inference 2022-11-07 09:14:10 +08:00
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