Skip to content

Releases: mrcjkb/rustaceanvim

4.22.1

14 Apr 19:43
553a319
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.22.1] - 2024-04-14

Fixed

  • Neotest/DAP: multiple --no-run flags added to command when debugging
    multiple times [#357].

[4.22.0] - 2024-04-14

Added

  • Config: Customise group action icon with tools.code_actions.group_icon.
    Thanks @ColdMacaroni!

[4.21.2] - 2024-04-13

Fixed

  • Health: Report error if version check fails for a required
    external dependency. This should help with false positives
    when detecting rust-analyzer if the rustup wrapper is installed,
    but rust-analyzer isn't.

[4.21.1] - 2024-04-11

Fixed

  • LSP: renderDiagnostic doesn't move cursor if it falls back to the
    first diagnostic when searching forwards.

[4.21.0] - 2024-04-01

Added

  • LSP: Support structural search and replace (SSR)
    just for the selected range.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for `r...
Read more

4.22.0

14 Apr 14:48
555ba5e
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.22.0] - 2024-04-14

Added

  • Config: Customise group action icon with tools.code_actions.group_icon.
    Thanks @ColdMacaroni!

[4.21.2] - 2024-04-13

Fixed

  • Health: Report error if version check fails for a required
    external dependency. This should help with false positives
    when detecting rust-analyzer if the rustup wrapper is installed,
    but rust-analyzer isn't.

[4.21.1] - 2024-04-11

Fixed

  • LSP: renderDiagnostic doesn't move cursor if it falls back to the
    first diagnostic when searching forwards.

[4.21.0] - 2024-04-01

Added

  • LSP: Support structural search and replace (SSR)
    just for the selected range.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP ...
Read more

4.21.2

13 Apr 20:57
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.21.2] - 2024-04-13

Fixed

  • Health: Report error if version check fails for a required
    external dependency. This should help with false positives
    when detecting rust-analyzer if the rustup wrapper is installed,
    but rust-analyzer isn't.

[4.21.1] - 2024-04-11

Fixed

  • LSP: renderDiagnostic doesn't move cursor if it falls back to the
    first diagnostic when searching forwards.

[4.21.0] - 2024-04-01

Added

  • LSP: Support structural search and replace (SSR)
    just for the selected range.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query...
Read more

4.21.1

11 Apr 16:57
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.21.1] - 2024-04-11

Fixed

  • LSP: renderDiagnostic doesn't move cursor if it falls back to the
    first diagnostic when searching forwards.

[4.21.0] - 2024-04-01

Added

  • LSP: Support structural search and replace (SSR)
    just for the selected range.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tes...
Read more

4.21.0

01 Apr 21:42
e2dbf91
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.21.0] - 2024-04-01

Added

  • LSP: Support structural search and replace (SSR)
    just for the selected range.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP str...
Read more

4.20.0

01 Apr 21:18
0db93dc
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.20.0] - 2024-04-01

Added

  • DAP/LSP: tools.cargo_override option to
    override the cargo command for runnables/debuggables/testables.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP strategy. No extra configuration needed!
  • :RustLsp testables: Prettier selection options.

Fixes

  • DAP(codelldb):...
Read more

4.19.0

01 Apr 18:20
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.19.0] - 2024-04-01

Added

  • DAP/LSP: RustLsp [run|debug] commands for running/debugging targets
    at the current cursor position.
  • LSP: Join multiple visually selected lines with :RustLsp joinLines.

Fixed

  • LSP: Escape character inserted before } when applying code action
    with SnippetTextEdit [#303].

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP strategy. No extra configuration needed!
  • :RustLsp testables: Prettier selection options.

Fixes

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.3.0] - 2024-01-31

Changed

  • LSP: Improved parsing of test result failure messages.

[4.2....

Read more

4.18.2

28 Mar 15:55
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.18.2] - 2024-03-28

Changed

  • DAP: Output command that was run if debug build
    compilation fails.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP strategy. No extra configuration needed!
  • :RustLsp testables: Prettier selection options.

Fixes

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.3.0] - 2024-01-31

Changed

  • LSP: Improved parsing of test result failure messages.

[4.2.1] - 2024-01-30

Fixed

  • LSP: Only advertise rust-analyzer.debugSingle command capability
    if nvim-dap is installed.
  • LSP: nil error if running :RustLsp! testables and there is no
    previous testable.
  • LSP: Update previous testables cache if executing a rust-analyzer.runSingle
    command that is a test.

[4.2.0] - 2024-01-30

Added

  • Config: Separate `tools.e...
Read more

4.18.1

28 Mar 15:47
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.18.1] - 2024-03-28

Fixed

  • DAP: Add both stderr and stdout to error message
    if debug build compilation fails.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP strategy. No extra configuration needed!
  • :RustLsp testables: Prettier selection options.

Fixes

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.3.0] - 2024-01-31

Changed

  • LSP: Improved parsing of test result failure messages.

[4.2.1] - 2024-01-30

Fixed

  • LSP: Only advertise rust-analyzer.debugSingle command capability
    if nvim-dap is installed.
  • LSP: nil error if running :RustLsp! testables and there is no
    previous testable.
  • LSP: Update previous testables cache if executing a rust-analyzer.runSingle
    command that is a test.

[4.2.0] - 2024-01-30

Added

  • Config: Separate tools.executor and tools.test_executor options.
    The test_executor is used for test runnables (e.g. cargo test...
Read more

4.18.0

27 Mar 11:33
c2cdbec
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[4.18.0] - 2024-03-27

Added

  • :RustLsp openDocs command [#325].

[4.17.0] - 2024-03-26

Added

Fixed

  • Neotest: Correctly mark passed and skipped tests when running a
    whole test file or module [#321].
  • DAP: Only load .vscode/launch.json configurations that don't conflict
    with the configured adapter type.

[4.16.0] - 2024-03-24

Added

  • Initialization: Warn if nvim-lspconfig.rust-analyzer setup is detected.

[4.15.0] - 2024-03-24

Added

  • LSP: RustAnalyzer reloadSettings command to reload settings without restarting
    [#309].
    Thanks @GuillaumeLagrange!

Fixed

  • DAP: Defer automatic registration of nvim-dap configurations on LSP client init,
    to improve reliability.

[4.14.1] - 2024-03-17

Fixed

  • Health: rust-analyzer reported as not found in neovim 0.9 [#302].

[4.14.0] - 2024-03-17

Added

  • [Experimental] Load rust-analyzer settings from .vscode/settings.json.
    Can be enabled by setting vim.g.rustaceanvim.server.load_vscode_settings
    to true [#286].
  • Health: Detect rust-analyzer wrapper without rust-analyzer (Neovim >= 0.10).

Fixed

  • Config: Don't validate configs whose types are defined in external APIs
    such as nvim-dap [#294].
  • DAP: Don't error if adding source/library information fails (warn instead).
  • LSP/DAP: Fail silently if adding DAP configurations
    on LSP client attach fails [#295].

[4.13.0] - 2024-03-15

Added

  • LSP: More flexibility when overriding default rust-analyzer settings.
    The server.settings function can now take a default_settings tabe
    to be merged.

Fixed

  • Loading settings from rust-analyzer.json:
    Potential for duplicate lua config keys if json keys are of the format:
    "rust-analyzer.foo.bar"

[4.12.2] - 2024-03-11

Fixed

  • LSP/Windows: path normalisation preventing lsp from working
    textDocument/definition to std library [#285].
    Thanks @tangtang95!

[4.12.1] - 2024-03-09

Fixed

  • UI: Buggy concealing of elements in rendered diagnostics [#280].
  • LSP: Use file directory name as cwd when getting cargo metadata.
    This prevents rustaceanvim from detecting the wrong project root
    in standalone files if the current cwd is a cargo project.

[4.12.0] - 2024-03-08

Fixed

  • DAP: :RustLsp! debuggables not falling back to UI select
    when no debuggable is found.

Added

  • LSP: Support falling back to UI select for :RustLsp! runnables
    and :RustLsp! testables.

[4.11.1] - 2024-03-04

Fixed

  • LSP/Windows: Windows path normalisation preventing LSP client
    from working [#273].

[4.11.0] - 2024-03-03

Added

  • LSP: By default, don't auto-attach to buffers that aren't files [#268].

Fixed

  • LSP: Bug preventing reload workspace on save Cargo.toml
    when opening another Rust buffer [#270].
  • LSP: Don't try to delete RustLsp command on client exit
    if it doesn't exist, and fail silently.

[4.10.2] - 2024-03-01

Fixed

  • LSP: Schedule Neovim API calls on on_exit [#267].
    Thanks @tomtomjhj!

[4.10.1] - 2024-02-27

Fixed

  • UI: Explicitly disable signcolumn for grouped code action
    and hover action windows [#262].

[4.10.0] - 2024-02-23

Added

  • LSP/Grouped code actions: Add <ESC> keymap to close buffer.
    This is consistent with the behaviour of the hover actions buffer.

[4.9.0] - 2024-02-23

Added

  • Nix: codelldb adapter package (without the vscode extension)
    as a nixpkgs overlay and a flake output.

Reverted

  • Don't run ftplugin/rust.lua more than once on the same
    buffer.
    This prevented the client from reattaching when running
    :e on a buffer [#250].

[4.8.0] - 2024-02-20

Added

  • Neotest: Expose doctests in :Neotest summary window [#247].
    Thanks @bltavares!

Fixed

  • Testables: Run doctests when cargo-nextest is present [#246]
    Thanks @bltavares!
  • Windows: Normalize file actions when comparing to root dir [#245].
    Thanks @bltavares!

[4.7.5] - 2024-02-20

Fixed

  • DAP: Use deep copies of dap configs.
  • DAP: Bad config validation: dap.configuration.env should be
    a table, not a string.

[4.7.4] - 2024-02-19

Fixed

  • LSP: Support both top-level rust-analyzer object and object with
    "rust-analyzer": key when importing settings from rust-analyzer.json.
    The fix introduced in version 4.6.0 had accidentally broken
    backward compatibility. The new implementation is backward compatible again.

[4.7.3] - 2024-02-15

Fixed

  • LSP: Error when running reloadWorkspace,
    rebuildMacros or workspaceSymbol from a non-rust buffer [#234].
  • Internal: Don't pass client not found error to handler.

[4.7.2] - 2024-02-13

Revert

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.7.1] - 2024-02-12

Fixed

  • LSP: checkOnSave = false not respected when clippy is installed
    (introduced with clippy auto-detection in version 4.6.0).

[4.7.0] - 2024-02-11

Added

  • Testables: Add tools.crate_test_executor option for running
    crate test suites (--all-targets).
  • Rustc: Do not require a main function,
    and support the 2024 edition
    via unstable-options.
    Thanks @saying121!

Fixed

  • Neotest: Nested modules + position updates when switching buffers [#223].
    Thanks @jameshurst!
  • Testables: Support neotest executor when using nextest.
  • Testables: Support aliases for test_executor and crate_test_executor.

[4.6.0] - 2024-02-07

Added

  • LSP: New tools.enable_clippy option (defaults to true).
    Enable clippy lints on save if a cargo-clippy installation
    is detected.

Fixed

  • testables/neotest: Don't use nextest if disabled in the config.
  • LSP: load project-local rust-analyzer.json configs into
    server['rust-analyzer'], instead of replacing the server config.

[4.5.2] - 2024-02-06

Fixed

  • runnables/debuggables/testables: cd into directory with spaces [#212].

Fixed

[4.5.1] - 2024-02-03

Fixed

  • LSP: Notify if an LSP request was made but no rust-analyzer client is attached.
  • Neotest: Only the current buffer was queried for test positions.

[4.5.0] - 2024-02-02

Added

  • Filtered workspace symbol searches with
    :RustLsp[!] workspaceSymbol [onlyTypes?|allSymbols?] [query?].
    Will include dependencies if called with a bang !.
  • Neotest: Basic support for require('neotest').run.run { suite = true }.
    This will run the current crate's test suite, if detected.
    Note that positions are still only discovered for buffers with an attached
    LSP client.

[4.4.0] - 2024-02-01

Added

  • You can now register a rustaceanvim.neotest adapter with neotest.
    It will query rust-analyzer for test positions and test commands in any
    buffer to which the LSP client is attached.
    If you do so, tools.test_executor will default to a new 'neotest'
    executor, which will use neotest to run testables or runnables that are tests.
  • Support for require('neotest').run.run { strategy = 'dap' }.
    This will use the same logic as :RustLsp debuggables to set neotest's
    DAP strategy. No extra configuration needed!
  • :RustLsp testables: Prettier selection options.

Fixes

  • DAP(codelldb): Redirect stdio (stdout) to a temp file.

[4.3.0] - 2024-01-31

Changed

  • LSP: Improved parsing of test result failure messages.

[4.2.1] - 2024-01-30

Fixed

  • LSP: Only advertise rust-analyzer.debugSingle command capability
    if nvim-dap is installed.
  • LSP: nil error if running :RustLsp! testables and there is no
    previous testable.
  • LSP: Update previous testables cache if executing a rust-analyzer.runSingle
    command that is a test.

[4.2.0] - 2024-01-30

Added

  • Config: Separate tools.executor and tools.test_executor options.
    The test_executor is used for test runnables (e.g. cargo test).
  • LSP: New test executor, 'background' that runs tests in the background
    and provides diagnostics for failed tests when co...
Read more