1
1
mirror of https://github.com/oxalica/nil.git synced 2024-11-22 02:55:39 +03:00
Commit Graph

517 Commits

Author SHA1 Message Date
maurobalbi
dbf26d6bc2
Fix flake reloading condition on file changes (#92)
Typo, condition always evaluates to true
2023-06-16 04:12:57 +08:00
oxalica
1edf2ad0ae Replace unmaintained atty with is-terminal 2023-06-15 15:19:43 +08:00
Manuel
119e56eb4d
Update diagnostics CLI to return non-zero exit code only on errors (#90)
Co-authored-by: Manu [tennox] <tennox+git@txlab.io>
2023-06-12 06:31:37 +08:00
oxalica
dcd38b96c9 Use semantic token type boolean for true/false
This distinguishes boolean literals from other builtin constants like
`null`. The type name is copied from rust-analyzer.

<526507fe22/crates/rust-analyzer/src/semantic_tokens.rs (L67)>

Closes #52
2023-05-31 19:22:45 +08:00
oxalica
ac641a993a Trigger show-references on variable usages
Closes #86
2023-05-31 19:08:18 +08:00
oxalica
7414d583c5 Only check the direct parent node in references query
We should not query `with`'s references just because we are inside a big
`with` expression. It should only trigger exactly on the `with` token.
2023-05-31 18:58:54 +08:00
oxalica
375d3d6a7f Impl experimental SSR in CLI 2023-05-31 18:42:42 +08:00
oxalica
2f9e94fee0 Update flake and dependencies 2023-05-31 18:36:51 +08:00
oxalica
0158d58d47
Send workspace/configuration only if the client supports it (#85) 2023-05-30 17:41:49 +08:00
oxalica
ca462183c5
Load configuration from initializationOptions (#84) 2023-05-28 14:22:47 +08:00
Yuriy Taraday
30b994ad85 Check if workspace/configuration is supported
Don't send it to clients (like LanguageClient-neovim) that don't
support it to avoid error noise.
2023-05-25 13:57:10 +02:00
Yuriy Taraday
c4eee44017 Load configuration during initialize handling
Allows to configure the server when client doesn't support
`workspace/configuration` method, for example, LanguageClient-neovim.
2023-05-25 13:30:25 +02:00
oxalica
17ed1578f3 Mention the neovim semantic highlighting performance issue in docs 2023-05-20 06:21:10 +08:00
oxalica
51447db547 Trace response sizes and time costs 2023-05-20 05:48:57 +08:00
oxalica
18de045d77 Disable autoEvalInputs by default
This is too costly for huge flakes with lots of packages or leavy tests,
and also have issues on locked transitive inputs (#79).
2023-05-10 01:38:03 +08:00
oxalica
67bfe95a3c
Don't look for NixOS options when module-list.nix or lib doesn't exist (#80) 2023-05-07 02:46:09 +08:00
oxalica
21d0870aab Add configurations to disable expensive evaluations 2023-05-07 02:40:55 +08:00
oxalica
0b36ff7181 Add configuration to skip flake archive confirmation 2023-05-07 02:18:18 +08:00
figsoda
c7ce789aa6 Don't look for NixOS options when module-list.nix or lib doesn't exist 2023-05-05 17:51:56 -04:00
oxalica
c2f303fd8b Add tests for option evaluation of nixpkgs 22.11 2023-05-05 10:46:02 +08:00
oxalica
2c65120ddf Evaluate NixOS options for 22.11 2023-05-05 10:45:47 +08:00
oxalica
715b0a5244 Guard NixOS option evaluation with release version
This is rough but can skip some common stable nixpkgs inputs.

Fixes #78
2023-05-05 10:11:45 +08:00
oxalica
e74b767a43 Update flake 2023-05-02 01:39:28 +08:00
oxalica
c47ad0d6b2 Update dependencies 2023-05-02 01:26:16 +08:00
oxalica
4dcb738942 Report progress for NixOS options loading 2023-04-29 14:15:03 +08:00
oxalica
6321ca0a25 Synchronize Vfs and filesystems using watchers 2023-04-29 14:00:34 +08:00
oxalica
f2b2647975 Fix stuck on non-regular files and report loading errors 2023-04-29 14:00:00 +08:00
oxalica
5700b00872 Add LSP extension to reload flake states 2023-04-29 14:00:00 +08:00
oxalica
ddb446aa1c Setup tests for neovim and workaround its issue
Workaround: https://github.com/neovim/neovim/issues/23380
2023-04-29 14:00:00 +08:00
oxalica
4465678ba0 Debounce flake workspace loading 2023-04-29 14:00:00 +08:00
oxalica
3e8d591498 Impl file removal from Vfs
This is necessary to reflect the flake workspace change when removing of
`flake.{nix,lock}`.
2023-04-29 14:00:00 +08:00
oxalica
4a78a44f3e Watch flake.{nix,lock} for auto-reloading 2023-04-29 14:00:00 +08:00
oxalica
c177bea181 Handle unsaved flake.nix 2023-04-29 14:00:00 +08:00
oxalica
5bcbc93095 Split out future-proof tests from CI 2023-04-29 01:54:22 +08:00
oxalica
2710d6a568 Rework nix-interop tests
Introduce a standalone test flake instead of inlining lock files or
archiving the main repository.
2023-04-28 17:05:32 +08:00
oxalica
7043bf82ba Wrap paths in flake-url forms for nix arguments
This prevents escaping issues when the path contains special characters
like `-`.
2023-04-26 21:52:48 +08:00
oxalica
9adf5a0152 Bundle snapshot and spawn_blocking to fix deadlock 2023-04-22 16:47:00 +08:00
oxalica
7032ce6506
Eval and inject types for input flakes (#76) 2023-04-22 10:54:28 +08:00
oxalica
4497e9298d Rename nix_interop::version -> info 2023-04-22 10:06:19 +08:00
oxalica
a7d651421d Set rest type for system fields in flake outputs
This helps inference for the common dynamic system access pattern.
Example:

```nix
{
  outputs =
    { flake-utils, nixpkgs, ... }:
    flake-utils.lib.eachDefaultSystem (system: {
      packages.hello = nixpkgs.legacyPackages.${system}.hello;
                                              # ^       ^ What should this resolve to?
                                              # ^ Dynamic attribute.
    }
}
```

Thus we pick a specific "default" system for fallback. Then
`nixpkgs.legacyPackages.${system}.hello` can be resolved to, for
example, `nixpkgs.legacyPackages.x86_64-linux.hello`, which we know is
a `derivation`.
2023-04-22 09:19:15 +08:00
oxalica
5422c3fe82 Infer rest types for dynamic fields 2023-04-22 09:19:15 +08:00
oxalica
ae9fa0c3a2 Also export flake output under outputs 2023-04-22 06:23:12 +08:00
oxalica
3283d0901b Bump MSRV to 1.68 2023-04-22 06:14:33 +08:00
oxalica
385baaf2ca Update flake 2023-04-22 06:11:59 +08:00
oxalica
bca539e4b9 Do not evaluate non-flake inputs 2023-04-22 05:53:39 +08:00
oxalica
1482f7b706 Show progress for coc.nvim and nvim-lsp 2023-04-22 05:52:05 +08:00
oxalica
a3c3edbab8 Report evaluation progress 2023-04-22 05:38:31 +08:00
oxalica
0a19360b6a Guard --legacy for nix flake show with nix version 2023-04-22 03:58:36 +08:00
oxalica
9c49c47826 Do not evaluate legacyPackages by default 2023-04-22 02:01:56 +08:00
oxalica
7d020d4698 Inject outputs of input flakes 2023-04-22 01:56:50 +08:00