Skip to content

2022-12-01

Compare
Choose a tag to compare
@oxalica oxalica released this 01 Dec 01:40
· 288 commits to main since this release
2022-12-01

Snapshot release 2022-12-01

Features

  • Code actions.

    • foo = foo; => inherit foo;
    • foo.bar = 1; foo.bux = 2; => foo = { bar = 1; bux = 2; };
    • foo = { bar = 1; bux = 2; }; => foo.bar = 1; foo.bux = 2;

    Currently comments and whitespaces (including indentations) are preserved.

  • Highlight related texts.

    Highlight texts related to the one under the cursor.
    Don't be confused with semantic highlighting.

    • Highlight definitions and references when cursor's on identifiers.
    • Highlight all (attribute) references when cursor's on with.
    • Highlight all effective withs when cursor's on attributes from with.
  • Add configuration nil.diagnostics.excludedFiles to disable diagnostics for
    some file paths, like generated ones.

  • Configurations are now fully documented in docs/configuration.md.

Fixes

  • Don't emit debuginfo for the default release profile. This is somehow
    introduced accidentally. Nix builds are not affected due to strip.

  • Semantic highlighting is optimized and should work fluently with big files.

  • Semantic highlighting now ignores string literal inners, to integrate better
    with language injections (eg. nvim-treesitter). They would still be
    rendered as default string color if there is no injection.

Internal changes

  • More syntax desugaring code are moved into syntax crate and are made more
    portable.

  • More tests and optimizations for syntax.