github nix-community/nixd 1.1.0
v1.1.0

latest releases: 2.3.2, 2.3.1, 2.3.0...
15 months ago

🎉 New version of nixd here!

Completely New Features

Goto Definition - Values (e.g. lambdas, attrs)

goto-def

Goto Definition - Derivations

goto-def-2

Document Symbol

symbol

Document Link

Screenshot_20230620_151003

Rename

rename

Static Analysis

Provide static bindings (such as rec) without any evaluation.

Screenshot_20230620_152009

Improvements

Automatic Evaluation

You don't need to manually set "eval depth". Nixd will evaluate where you touched lazily.

Diagnostic

Show nix stack trace (completely consistent with official implementation)

Screenshot_20230620_152318

Option System

The nixpkgs option auto-completion subsystem now will show you example if specified.

Screenshot_20230620_162305


Features

  • nixd: goto definition for derivations (#113)
  • nixd/completion/options: send example field to our user (#115)
  • nixd/definition: goto definition for any evaluated non-pos-discarded values (#117)
  • nixd/AST: lookup values if it is statically binds to some value (#130)
  • nixd/parser: hack upstream parser to support ranges (#131)
  • nixd/AST/range: basic ranges support on nix ASTs (#136)
  • nixd/documentLink: init (#140)
  • nixd/expr: support goto definition for lambdas (#141)
  • nixd/definition: enable ranges for definition (#143)
  • nixd/documentSymbol: init (#148)
  • nixd: override upstream nix::Value::print to get shorter message (#149)
  • nixd/diagnostics: imporve diagnostic position & tracing (#152)
  • nixd/rename: support textDocument/rename (#153)
  • nixd/eval: automatically force value when user requests (#158)
  • nixd/eval: update the workspace version when config updated (#159)
  • nixd/eval: search up envs for more completion items (#160)

Bug Fixes

  • lspserver: remove the named mutex when logger startup (#119)
  • nixd: sanitize "target" field (#129)
  • lspserver/logger: use lowlevel robust lock (#137)
  • nixd: search "ContainMin" instead of "Start" for completion (#139)
  • nixd: fix concurrency-related bugs (#146)
  • nixd/documentSymbol: fix overwrite previous result while traversing ExprAttrs (#155)

Don't miss a new nixd release

NewReleases is sending notifications on new releases.