Releases: nix-community/nixd
2.1.2
This is a minor release with bug fixes, including:
- cffe545 libnixf: fix missing visitor for
ExprPath
(#490) - 7e99a36 libnixt: stop at concrete options, rather than select into it. (#474)
- 6ed1ae9 libnixf/Sema: accept last comma (#481)
- 5b2c565 libnixt: return concrete value for
nixt::selectOptions
(#473) - 36b4d06 libnixf/Sema: place
with
warning only on its keyword (#476)
Special credits to @Libadoxon for patiently testing & bug reports.
Full Changelog: 2.1.0...2.1.2
2.1.1
This is a minor release with bug fixes, including:
- 7e99a36 libnixt: stop at concrete options, rather than select into it. (#474)
- 6ed1ae9 libnixf/Sema: accept last comma (#481)
- 5b2c565 libnixt: return concrete value for nixt::selectOptions (#473)
- 36b4d06 libnixf/Sema: place
with
warning only on its keyword (#476)
Full Changelog: 2.1.0...2.1.1
2.1.0
What's Changed
New Features
- libnixf: diagnose empty inherit by @inclyc in #457
- libnixf: diagnose redundant paren by @inclyc in #448
- libnixf: introduce
nixf-tidy
, perform analysis, lints and emit json by @inclyc in #446 - libnixf: provide linting for escaping
with
by @inclyc in #458 - {libnixt,nixd/Eval}: support
attrsOf submodule
by @inclyc in #465 - nixd: introduce
--semantic-tokens=true/false
to toggle the feature by @inclyc in #470
Bug Fixes
- libnixf: omit pedantic liveness warning on lambda arg by @inclyc in #464
- libnixf: inherit expression should comes from "NewEnv" for recursive … by @inclyc in #467
- libnixf: dispatch lambda formals correctly by @inclyc in #468
Documentation
- docs: optimize the neovim testing environment by @Ruixi-rebirth in #449
- nixd/docs: add hacking guide by @inclyc in #453
- editors/emacs: update document by @Freed-Wu in #455
- docs: improving nvim configuration nixd by @Ruixi-rebirth in #459
Other Changes
- editors/nvim: fix missing example folder issue in remote testing by @Ruixi-rebirth in #450
- flake: set meta.mainProgram to
nixd
by @FedericoSchonborn in #460
New Contributors
- @FedericoSchonborn made their first contribution in #460
Full Changelog: 2.0.2...2.1.0
2.0.2
First Release of the new frontend. libnixf
This project no longer uses official nix parser.
Breaking Changes
- Configuration file schema is not backward compatible. Please remove your
.nixd.json
files as they will not take any effect. - "Eval" section is completely deleted as considering performance impact. Now values are lazily evaluated and stay immutable during workspace updates.
Screen Shots
https://discourse.nixos.org/t/nixd-2-0-2-released/43891
What's Changed
New Features
- nixd: support hover by @inclyc in #318
- libnixf/Parse: parse expr_select by @inclyc in #329
- nixd: support
textDocument/documentHighlight
by @inclyc in #403 - nixd: support
textDocument/rename
,textDocument/prepareRename
by @inclyc in #405 - nixd: support
textDocument/documentSymbol
by @inclyc in #406 - nixd: support
textDocument/semanticTokens/full
by @inclyc in #408 - nixd: support
textDocument/completion
(static) by @inclyc in #410 - nixd: complete nixpkgs by @inclyc in #411
- nixd: support
textDocument/inlayHint
by @inclyc in #414 - nixd: basic work-done progress support by @inclyc in #416
- nixd: options completion by @inclyc in #415
- nixd: support workspace configuration by @inclyc in #424
- nixd: support formatting by @inclyc in #425
- nixd: provide trigger character "." by @inclyc in #428
- nixd: support
textDocument/documentLink
by @inclyc in #429 - nixd: provide package information on hover request by @inclyc in #430
- nixd: goto-def for nixpkgs packages by @inclyc in #432
- nixd: goto definition(declaration) for nixos options by @inclyc in #433
- libnixf: introduce dots vector by @inclyc in #442
Bug Fixes
- libnixf: fix node range of
Binding
&ExprAttrs
by @inclyc in #319 - libnixf/Parse: fix range for AttrName (String/Expr) by @inclyc in #332
- libnixf/Sema: fix misplaced nested liveness diagnostic by @inclyc in #382
- lspserver: stop connection while the client process died. by @inclyc in #437
- libnixf/Sema: dfs formal default arg if it exists by @inclyc in #439
- nixd/attrs-eval: set offset from zero by @inclyc in #441
- libnixf: fix out-of-bounds access in
Lexer::consumeManyOf
by @xokdvium in #443 - libnixf: fix crash for large integers by @inclyc in #445
Documentation
- docs/editor-setup: extend Emacs setup to include Eglot by @cmacrae in #341
- docs: link toward official wiki by @a-kenji in #427
- docs: update for nixd-next by @inclyc in #435
Other Changes
- vendor: update default.nix for new architecure by @inclyc in #313
- libnixf: parse ExprAttrs (basic, without
inherit
support) by @inclyc in #314 - libnixf: parse variable by @inclyc in #315
- libnixf: use sync tokens for creating unknown nodes (error recovery) by @inclyc in #316
- libnixf: add
descend()
, with boost's small_vector by @inclyc in #320 - libnixf: parse
inherit
binding by @inclyc in #321 - ci: enable -Werror by @inclyc in #324
- libnixf: use unique_ptr by @inclyc in #326
- libnixf: add semantic analysis for
AttrSet
s by @inclyc in #323 - libnixf/Parse: create a class for Parser, expose testing API by @inclyc in #328
- libnixf: parse expr_app by @inclyc in #330
- libnixf: parse list_expr by @inclyc in #331
- libnixf/Parse: create dedicated interpolation by @inclyc in #334
- nixd: add relatedInformation to Diagnostics by @inclyc in #335
- libnixf/Sema: lowering inherit by @inclyc in #333
- nixd: support diagnostic tags by @inclyc in #337
- libnixf: parse lambda_arg by @inclyc in #338
- libnixf: parse lambda_expr by @inclyc in #339
- libnixf/Sema: semantic lowering for lambda formals by @inclyc in #340
- libnixf/test/Parse: refactor parser tests by @inclyc in #343
- libnixf/Parse: remove unexpected for binds by @inclyc in #344
- libnixf/Parse: exit early if missing
=
for binding by @inclyc in #345 - libnixf/Parse: split parsers by @inclyc in #346
- libnixf/Parse: parse expr_op by @inclyc in #347
- libnixf/Basic: split basic nodes headers by @inclyc in #348
- libnixf/Parse: parse expr_if by @inclyc in #349
- libnixf/Parse: parse expr_assert by @inclyc in #350
- libnixf/Parse: parse expr_let by @inclyc in #351
- libnixf/Parse: fix nullptr while parsing expr_op by @inclyc in #352
- libnixf/Parse: parse
expr ? attrpath
by @inclyc in #353 - libnixf/Parse: parse expr_with by @inclyc in #354
- nixd-next: switch to nixd-next by @inclyc in #327
- nixd: refactor files of nixd implementation by @inclyc in #355
- flake: update the lock by @inclyc in #359
- nixd/eval: init by @inclyc in #356
- libbc: install by @inclyc in #363
- lspserver: add close() for actively close the connection by @inclyc in #364
- libnixf: towards immutable lowering by @inclyc in #368
- nixd/librpc: use lspserver framework by @inclyc in #365
- nixd: threaded RPC by @inclyc in #367
- libnixf: return non-owned references for
Attribute
by @inclyc in #371 - libnixf: lowering
let .. in ...
binds by @inclyc in #370 - libnixf: fix various missing child node cases by @inclyc in #373
- libnixf: variable lookups by @inclyc in #372
- libnixf/Sema: fix crashing on null dynamic binding by @inclyc in #375
- libnixf: fix various #include misuses by @inclyc in #376
- nixd: fix various misuses of #includes by @inclyc in #377
- libnixf: add AST serialization by @inclyc in #379
- libnixt: eval dirty flake (by flake-compat) by @inclyc in #381
- nixd: publish variable lookup diagnostics by @inclyc in #383
- libnixt: hack eval cache instead of parse cache by @inclyc in #384
- libnixt: add AST deserialization by @inclyc in #380
- ci: enable ASAN for gcc by @inclyc in #385
- libnixf/{Parse,Sema}: deduplicate lambda arg with it's formals by @inclyc in #386
- libnixt: allow eval decoded expression by @inclyc in #388
- libnixt: add Value library by @inclyc in #389
- libnixf: add parent map by @inclyc in #391
- libnixf: support SPath () by @inclyc in #392
- nixd: install nix-node-eval into libexec by @inclyc in #393
- libnixf/Sema: set attrrange to it's key for var lookup by @inclyc in #396
- libnixf/Sema: fix const correctn...
2.0.1
What's Changed
New Features
- nixd: support hover by @inclyc in #318
- libnixf/Parse: parse expr_select by @inclyc in #329
- libnixf: introduce dots vector by @inclyc in #442
Bug Fixes
- libnixf: fix node range of
Binding
&ExprAttrs
by @inclyc in #319 - libnixf/Parse: fix range for AttrName (String/Expr) by @inclyc in #332
- libnixf/Sema: fix misplaced nested liveness diagnostic by @inclyc in #382
- lspserver: stop connection while the client process died. by @inclyc in #437
- libnixf/Sema: dfs formal default arg if it exists by @inclyc in #439
- nixd/attrs-eval: set offset from zero by @inclyc in #441
- libnixf: fix out-of-bounds access in
Lexer::consumeManyOf
by @xokdvium in #443 - libnixf: fix crash for large integers by @inclyc in #445
Documentation
- docs/editor-setup: extend Emacs setup to include Eglot by @cmacrae in #341
- docs: update for nixd-next by @inclyc in #435
Other Changes
- vendor: update default.nix for new architecure by @inclyc in #313
- libnixf: parse ExprAttrs (basic, without
inherit
support) by @inclyc in #314 - libnixf: parse variable by @inclyc in #315
- libnixf: use sync tokens for creating unknown nodes (error recovery) by @inclyc in #316
- libnixf: add
descend()
, with boost's small_vector by @inclyc in #320 - libnixf: parse
inherit
binding by @inclyc in #321 - ci: enable -Werror by @inclyc in #324
- libnixf: use unique_ptr by @inclyc in #326
- libnixf: add semantic analysis for
AttrSet
s by @inclyc in #323 - libnixf/Parse: create a class for Parser, expose testing API by @inclyc in #328
- libnixf: parse expr_app by @inclyc in #330
- libnixf: parse list_expr by @inclyc in #331
- libnixf/Parse: create dedicated interpolation by @inclyc in #334
- nixd: add relatedInformation to Diagnostics by @inclyc in #335
- libnixf/Sema: lowering inherit by @inclyc in #333
- nixd: support diagnostic tags by @inclyc in #337
- libnixf: parse lambda_arg by @inclyc in #338
- libnixf: parse lambda_expr by @inclyc in #339
- libnixf/Sema: semantic lowering for lambda formals by @inclyc in #340
- libnixf/test/Parse: refactor parser tests by @inclyc in #343
- libnixf/Parse: remove unexpected for binds by @inclyc in #344
- libnixf/Parse: exit early if missing
=
for binding by @inclyc in #345 - libnixf/Parse: split parsers by @inclyc in #346
- libnixf/Parse: parse expr_op by @inclyc in #347
- libnixf/Basic: split basic nodes headers by @inclyc in #348
- libnixf/Parse: parse expr_if by @inclyc in #349
- libnixf/Parse: parse expr_assert by @inclyc in #350
- libnixf/Parse: parse expr_let by @inclyc in #351
- libnixf/Parse: fix nullptr while parsing expr_op by @inclyc in #352
- libnixf/Parse: parse
expr ? attrpath
by @inclyc in #353 - libnixf/Parse: parse expr_with by @inclyc in #354
- nixd-next: switch to nixd-next by @inclyc in #327
- nixd: refactor files of nixd implementation by @inclyc in #355
- flake: update the lock by @inclyc in #359
- nixd/eval: init by @inclyc in #356
- libbc: install by @inclyc in #363
- lspserver: add close() for actively close the connection by @inclyc in #364
- libnixf: towards immutable lowering by @inclyc in #368
- nixd/librpc: use lspserver framework by @inclyc in #365
- nixd: threaded RPC by @inclyc in #367
- libnixf: return non-owned references for
Attribute
by @inclyc in #371 - libnixf: lowering
let .. in ...
binds by @inclyc in #370 - libnixf: fix various missing child node cases by @inclyc in #373
- libnixf: variable lookups by @inclyc in #372
- libnixf/Sema: fix crashing on null dynamic binding by @inclyc in #375
- libnixf: fix various #include misuses by @inclyc in #376
- nixd: fix various misuses of #includes by @inclyc in #377
- libnixf: add AST serialization by @inclyc in #379
- libnixt: eval dirty flake (by flake-compat) by @inclyc in #381
- nixd: publish variable lookup diagnostics by @inclyc in #383
- libnixt: hack eval cache instead of parse cache by @inclyc in #384
- libnixt: add AST deserialization by @inclyc in #380
- ci: enable ASAN for gcc by @inclyc in #385
- libnixf/{Parse,Sema}: deduplicate lambda arg with it's formals by @inclyc in #386
- libnixt: allow eval decoded expression by @inclyc in #388
- libnixt: add Value library by @inclyc in #389
- libnixf: add parent map by @inclyc in #391
- libnixf: support SPath () by @inclyc in #392
- nixd: install nix-node-eval into libexec by @inclyc in #393
- libnixf/Sema: set attrrange to it's key for var lookup by @inclyc in #396
- libnixf/Sema: fix const correctness for VLA by @inclyc in #399
- libnixf/Sema: fix builtin asserts by @inclyc in #398
- libnixf/Sema: reduce range of with def by @inclyc in #397
- nixd: add basic goto-def support via libnixf (no eval) by @inclyc in #400
- nixd: support find references by @inclyc in #402
- libnixf/Sema: record AST node -> Definition map by @inclyc in #401
- nixd: support goto def for inherit-ed attrs by @inclyc in #404
- nixd: support
textDocument/documentHighlight
by @inclyc in #403 - nixd: support
textDocument/rename
,textDocument/prepareRename
by @inclyc in #405 - libnixf: add Default node to ExprSelect by @inclyc in #407
- nixd: support
textDocument/documentSymbol
by @inclyc in #406 - nixd: support
textDocument/semanticTokens/full
by @inclyc in #408 - libnixf/Sema: record env for later references by @inclyc in #395
- nixd: support
textDocument/completion
(static) by @inclyc in #410 - libnixt: add attr selecting library by @inclyc in #412
- nixd: introduce attrset provider by @inclyc in #394
- nixd: complete nixpkgs by @inclyc in #411
- nixd: support
textDocument/inlayHint
by @inclyc in #414 - nixd: basic work-done progress support by @inclyc in #416
- nixd: options completion by @inclyc in #415
- nixd: support workspace configuration by @inclyc in #424
- nixd: support formatting by @inclyc in #425
- nixd: dis...
2.0.0
First Version of the new frontend.
Please test it with your daily workloads. It is expected to be buggy in this version.
What's Changed
New Features
Bug Fixes
- libnixf: fix node range of
Binding
&ExprAttrs
by @inclyc in #319 - libnixf/Parse: fix range for AttrName (String/Expr) by @inclyc in #332
- libnixf/Sema: fix misplaced nested liveness diagnostic by @inclyc in #382
Documentation
Other Changes
- vendor: update default.nix for new architecure by @inclyc in #313
- libnixf: parse ExprAttrs (basic, without
inherit
support) by @inclyc in #314 - libnixf: parse variable by @inclyc in #315
- libnixf: use sync tokens for creating unknown nodes (error recovery) by @inclyc in #316
- libnixf: add
descend()
, with boost's small_vector by @inclyc in #320 - libnixf: parse
inherit
binding by @inclyc in #321 - ci: enable -Werror by @inclyc in #324
- libnixf: use unique_ptr by @inclyc in #326
- libnixf: add semantic analysis for
AttrSet
s by @inclyc in #323 - libnixf/Parse: create a class for Parser, expose testing API by @inclyc in #328
- libnixf: parse expr_app by @inclyc in #330
- libnixf: parse list_expr by @inclyc in #331
- libnixf/Parse: create dedicated interpolation by @inclyc in #334
- nixd: add relatedInformation to Diagnostics by @inclyc in #335
- libnixf/Sema: lowering inherit by @inclyc in #333
- nixd: support diagnostic tags by @inclyc in #337
- libnixf: parse lambda_arg by @inclyc in #338
- libnixf: parse lambda_expr by @inclyc in #339
- libnixf/Sema: semantic lowering for lambda formals by @inclyc in #340
- libnixf/test/Parse: refactor parser tests by @inclyc in #343
- libnixf/Parse: remove unexpected for binds by @inclyc in #344
- libnixf/Parse: exit early if missing
=
for binding by @inclyc in #345 - libnixf/Parse: split parsers by @inclyc in #346
- libnixf/Parse: parse expr_op by @inclyc in #347
- libnixf/Basic: split basic nodes headers by @inclyc in #348
- libnixf/Parse: parse expr_if by @inclyc in #349
- libnixf/Parse: parse expr_assert by @inclyc in #350
- libnixf/Parse: parse expr_let by @inclyc in #351
- libnixf/Parse: fix nullptr while parsing expr_op by @inclyc in #352
- libnixf/Parse: parse
expr ? attrpath
by @inclyc in #353 - libnixf/Parse: parse expr_with by @inclyc in #354
- nixd-next: switch to nixd-next by @inclyc in #327
- nixd: refactor files of nixd implementation by @inclyc in #355
- flake: update the lock by @inclyc in #359
- nixd/eval: init by @inclyc in #356
- libbc: install by @inclyc in #363
- lspserver: add close() for actively close the connection by @inclyc in #364
- libnixf: towards immutable lowering by @inclyc in #368
- nixd/librpc: use lspserver framework by @inclyc in #365
- nixd: threaded RPC by @inclyc in #367
- libnixf: return non-owned references for
Attribute
by @inclyc in #371 - libnixf: lowering
let .. in ...
binds by @inclyc in #370 - libnixf: fix various missing child node cases by @inclyc in #373
- libnixf: variable lookups by @inclyc in #372
- libnixf/Sema: fix crashing on null dynamic binding by @inclyc in #375
- libnixf: fix various #include misuses by @inclyc in #376
- nixd: fix various misuses of #includes by @inclyc in #377
- libnixf: add AST serialization by @inclyc in #379
- libnixt: eval dirty flake (by flake-compat) by @inclyc in #381
- nixd: publish variable lookup diagnostics by @inclyc in #383
- libnixt: hack eval cache instead of parse cache by @inclyc in #384
- libnixt: add AST deserialization by @inclyc in #380
- ci: enable ASAN for gcc by @inclyc in #385
- libnixf/{Parse,Sema}: deduplicate lambda arg with it's formals by @inclyc in #386
- libnixt: allow eval decoded expression by @inclyc in #388
- libnixt: add Value library by @inclyc in #389
- libnixf: add parent map by @inclyc in #391
- libnixf: support SPath () by @inclyc in #392
- nixd: install nix-node-eval into libexec by @inclyc in #393
- libnixf/Sema: set attrrange to it's key for var lookup by @inclyc in #396
- libnixf/Sema: fix const correctness for VLA by @inclyc in #399
- libnixf/Sema: fix builtin asserts by @inclyc in #398
- libnixf/Sema: reduce range of with def by @inclyc in #397
- nixd: add basic goto-def support via libnixf (no eval) by @inclyc in #400
- nixd: support find references by @inclyc in #402
- libnixf/Sema: record AST node -> Definition map by @inclyc in #401
- nixd: support goto def for inherit-ed attrs by @inclyc in #404
- nixd: support
textDocument/documentHighlight
by @inclyc in #403 - nixd: support
textDocument/rename
,textDocument/prepareRename
by @inclyc in #405 - libnixf: add Default node to ExprSelect by @inclyc in #407
- nixd: support
textDocument/documentSymbol
by @inclyc in #406 - nixd: support
textDocument/semanticTokens/full
by @inclyc in #408 - libnixf/Sema: record env for later references by @inclyc in #395
- nixd: support
textDocument/completion
(static) by @inclyc in #410 - libnixt: add attr selecting library by @inclyc in #412
- nixd: introduce attrset provider by @inclyc in #394
- nixd: complete nixpkgs by @inclyc in #411
- nixd: support
textDocument/inlayHint
by @inclyc in #414 - nixd: basic work-done progress support by @inclyc in #416
- nixd: options completion by @inclyc in #415
- nixd: support workspace configuration by @inclyc in #424
- nixd: support formatting by @inclyc in #425
- nixd: disable some definition features by libnixf definition context by @inclyc in #426
- docs: link toward official wiki by @a-kenji in #427
- nixd: provide trigger character "." by @inclyc in #428
- nixd: support
textDocument/documentLink
by @inclyc in #429 - nixd: use orphan nixpkgs, nixos default in lit-test mode by @inclyc in #431
- nixd: provide package information on hover request by @inclyc in https://gi...
1.2.3
Last Release of Legacy nixd
We are migrating to a new frontend, this is release is the last version of legacy codes. The next a few (pre-)releases will be nixd-next.
This generally fixes some workspace issues (e.g. for emacs users), by @jonathanjameswatson(Special thanks!). Other parser/lexer updates are not visible by end-users.
What's Changed
New Features
- nixd/Sema: add CompletionBuilder by @inclyc in #239
- nixd/Server: construct names of nested attr set by @inclyc in #249
- libnixt: add Kinds.h and Kinds.cpp, to descriminate
nix::Expr
s by @inclyc in #285 - libnixt: add Serialize by @inclyc in #276
- libnixf: parse ExprString by @inclyc in #292
- libnixf: parse string interpolation by @inclyc in #294
- libnixf: parse indented string by @inclyc in #295
- libnixf: line column range by @inclyc in #296
- libnixf: parse ExprPath by @inclyc in #297
- nixd-next: init, without any capabilities by @inclyc in #301
- nixd-next: text document synchronization by @inclyc in #303
- libnixf: support multiple fixes by @inclyc in #309
- nixd-next: add diagnostic quick fix (code action) by @inclyc in #310
Bug Fixes
- nixd/Server: fix dead semaphore in
Controller::onCompletion
by @inclyc in #241 - nixd/Sema: filter item prefix for completion builder by @inclyc in #242
- nixd: fix output of --version by @hellodword in #259
- libnixf: fix lexer float trailing
e
args by @inclyc in #306 - libnixf: fix Lexer location indexes by @inclyc in #305
Documentation
- docs: split editors.md from docs/editor-setup by @inclyc in #253
- docs/README: add "Get Started" by @inclyc in #254
- docs: remove surplus code fence by @katexochen in #256
- docs/editor-setup: add Emacs setup information by @jonathanjameswatson in #268
- docs: move docs into nixd/ subfolder by @inclyc in #281
- docs: add nixd worker model by @inclyc in #282
- docs: generate doxygen to gh-pages by @inclyc in #286
- libnixt: fix various doc-comments for doxygen by @inclyc in #287
- docs: remove
$
from installation Markdown code snippets by @peterbecich in #288 - nixd: add a json schema by @Freed-Wu in #304
Other Changes
- nixd: general cleanups by @inclyc in #240
- nixd/AST: static factory method for ASTs by @inclyc in #250
- nixd/Server/configuration: use
.nixd.json
forworkspace/configuration
defaults by @jonathanjameswatson in #261 - nixd/Server/configuration: Log when
workspace/configuration
is[null]
by @jonathanjameswatson in #267 - nixd/Server/format: suppress error popups by @inclyc in #252
- flake: update the lock by @inclyc in #280
- libnixf: add to top-level build by @inclyc in #278
- github/workflows: add update-flake-lock action to bump deps by @inclyc in #284
- libnixf: remove green node design by @inclyc in #291
- libnixf: rename getter for
Token
,getXxx()
->xxx()
by @inclyc in #293 - libnixf: remove fmt dependency by @inclyc in #298
- libnixf: flatten libnixf/lib/meson.build, to a single library by @inclyc in #300
- libnixf: remove
DiagnosticEngine
by @inclyc in #302 - libnixf: parse ExprParen
( expr )
by @inclyc in #308 - libnixf: format diagnostic message by @inclyc in #312
- nixd-next: basic diagnostics support in the Controller by @inclyc in #307
New Contributors
- @katexochen made their first contribution in #256
- @hellodword made their first contribution in #259
- @jonathanjameswatson made their first contribution in #261
- @peterbecich made their first contribution in #288
Full Changelog: 1.2.2...1.2.3
v1.2.2
This is a minor release including:
- Improved laziness evaluation on completion: #239 (e.g. nixd v1.2.2 will give you good completion list for
with pkgs; [ ]
) - Fixes potential dead semaphore (which will block our main controller process): #241
Full Changelog: 1.2.1...1.2.2
v1.2.1
What's Changed
New Features
- nixd/Server: semantic completion by @inclyc in #225
- nixd/Server/Hover: truncate the string to improve IPC performance by @inclyc in #236
Bug Fixes
- docs/readme: fix typo: Proejct -> Project by @yvan-sraka in #228
- nixd/Parser: fix trailing-slash causing infinite loop in the Lexer by @inclyc in #232
- nixd/Server: split worker in a dedicated class by @inclyc in #230
- nixd/Server/Controller: fix potential data race while reading config by @inclyc in #234
Other Changes
- docs/editor: update editor setup for vscode by @Ruixi-rebirth in #227
- nixd/Server: use #included ReplyRAII by @inclyc in #235
- vendor: disable checks on darwin, for Ventura users by @inclyc in #238
New Contributors
- @yvan-sraka made their first contribution in #228
Full Changelog: 1.2.0...1.2.1
v1.2.0
What's Changed
New Features
- nixd/Expr: support static variable binding by @inclyc in #191
- nixd/Parser: basic error handling by @inclyc in #206
- nixd/Server: add ASTManager for AST caches & builds by @inclyc in #209
Bug Fixes
- nixd/option: fix crash on invalid option set by @inclyc in #175
- nixd/driver: don't write stack dump file by @inclyc in #177
- nixd/documentLinkProvider: conform closer to spec by @happysalada in #189
- nixd/Parser: ensure the symbol table & pos table lifetime by @inclyc in #199
- lspserver: unlock the PendingCallsLock before calling callback by @inclyc in #201
- nixd/Support: avoid ODR violation: fromJSON(lspserver::Diagnostic) by @inclyc in #210
- nixd/Server: fix outdated draft version for static analysis by @inclyc in #211
Documentation
- docs/examples: examples about how to use nixd by @inclyc in #162
- docs/user-guide: update the user-guide for flakes by @inclyc in #163
- editors/vscodium: add test env for vscod{e,ium} + Nix IDE by @Ruixi-rebirth in #168
- docs/editor: instructions for adding a vscod{e,ium} test environment by @Ruixi-rebirth in #170
- docs/user-guide: typo fix, “writting” -> “writing” by @szicari-streambit in #192
- docs/editor-setup: add coc.nvim by @Freed-Wu in #221
- docs/examples: talking about cwd by @inclyc in #220
- docs/readme: add project structure by @inclyc in #219
Other Changes
- vendor: fix nixd on darwin by @inclyc in #172
- nixd/diagnostic: improve for multiple errors on single file by @inclyc in #180
- nixd/parser: avoid using
nix::EvalState
in parser by @inclyc in #179 - nixd/parser: use a vector for error handling by @inclyc in #181
- nixd/parser: split the parser in header files & #includes by @inclyc in #182
- nixd/parser: make the parser memory-safe by @inclyc in #184
- refactor: re-arrange directories by @inclyc in #185
- nixd-ast-dump: init by @inclyc in #183
- nixd/Parser: make parsing memory-safe for errors, using RAII by @inclyc in #186
- nixd: kill child on linux by @inclyc in #188
- nixd/tools/nixd-ast-dump: add ranges support by @inclyc in #190
- nixd/AST: split AST.h -> EvalAST.h & ParseAST.h by @inclyc in #195
- nixd/AST: move static analysis to AST library by @inclyc in #196
- nixd: avoid namespace
nix
name pollution by @inclyc in #197 - nixd/Server: move rename to controller by @inclyc in #200
- nixd/Parser: add thread_local to lexer.l by @inclyc in #202
- nixd/Server: move documentLink & documentSymbol to controller process by @inclyc in #203
- nixd/Server: move static definition by @inclyc in #204
- nixd/completion: move static completion to controller by @inclyc in #205
- flake: export $NIX_SRC and $NIX_DEBUG_INFO_DIRS, for gdb by @inclyc in #207
- nixd/Expr: visit ExprError for RecursiveASTVisitor by @inclyc in #216
- nixd/Server: use mapOptional for workspace configuration by @inclyc in #217
- github: add release.yml by @inclyc in #224
New Contributors
- @szicari-streambit made their first contribution in #192
- @happysalada made their first contribution in #189
- @Freed-Wu made their first contribution in #221
Full Changelog: 1.1.0...1.2.0