Skip to content

Releases: mrcjkb/rustaceanvim

2.1.1

22 Oct 16:58
c487815
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.

[2.1.1] - 2023-10-22

Fixed

  • Open external docs: Use xdg-open or open (MacOS) by default
    and fall back to netrw.
    Remove redundant URL encoding.

[2.1.0] - 2023-10-22

Added

  • Add a vim.g.ferris.server.auto_attach option, which
    can be a boolean or a fun():boolean that determines
    whether or not to auto-attach the LSP client when opening
    a Rust file.

Fixed

  • [Internal] Type safety in RustLsp command construction.
    This fixes a type error in the hover command validation.
  • Failure to start on standalone files if cargo is not installed.

[2.0.0] - 2023-10-21

Breaking changes

  • Don't pollute the command space:
    Use a single command with subcommands and completions.
    • RustAnalyzer [start|stop]
      (always available in Rust projects)
    • RustLsp [subcommand]
      (available when the LSP client is running)
      e.g. RustLsp moveItem [up|down]

[1.0.1] - 2023-10-21

Fixed

  • Hover actions + command cache: module requires.

[1.0.0] - 2023-10-21

Added

  • Initial release of ferris.nvim.
  • :RustSyntaxTree and :RustFlyCheck commands.
  • :RustAnalyzerStart and :RustAnalyzerStop commands.
  • Config validation.
  • Health checks (:checkhealth ferris).
  • Vimdocs (auto-generated from Lua docs - :help ferris).
  • Nix flake.
  • Allow tools.executor to be a string.
  • LuaRocks releases.
  • Minimal config for troubleshooting.

Internal

  • Added type annotations.
  • Nix CI and linting infrastructure and static type checking.
  • Lazy load command modules.

Fixed

  • Numerous potential bugs encountered during rewrite.
  • Erroneous semantic token highlights.
  • Make sure we only send LSP requests to the correct client.

Breaking changes compared to rust-tools.nvim

  • Removed the setup function and revamped the architecture
    to be less prone to type errors.
    This plugin is a filetype plugin and works out of the box.
    The default configuration should work for most people,
    but it can be configured with a vim.g.ferris table.
  • Removed the lspconfig dependency.
    This plugin now uses the built-in LSP client API.
    You can use :RustAnalyzerStart and :RustAnalyzerStop
    to manually start/stop the LSP client.
    This plugin auto-starts the client when opening a rust file,
    if the rust-analyzer binary is found.
  • Removed rt = require('rust-tools') table.
    You can access the commands using Neovim's vim.cmd Lua bridge,
    for example :lua vim.cmd.RustSSR() or :RustSSR.
  • Bumped minimum Neovim version to 0.9.
  • Removed inlay hints, as this feature will be built into Neovim 0.10.

2.1.0

22 Oct 16:17
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.

[2.1.0] - 2023-10-22

Added

  • Add a vim.g.ferris.server.auto_attach option, which
    can be a boolean or a fun():boolean that determines
    whether or not to auto-attach the LSP client when opening
    a Rust file.

Fixed

  • [Internal] Type safety in RustLsp command construction.
    This fixes a type error in the hover command validation.
  • Failure to start on standalone files if cargo is not installed.

[2.0.0] - 2023-10-21

Breaking changes

  • Don't pollute the command space:
    Use a single command with subcommands and completions.
    • RustAnalyzer [start|stop]
      (always available in Rust projects)
    • RustLsp [subcommand]
      (available when the LSP client is running)
      e.g. RustLsp moveItem [up|down]

[1.0.1] - 2023-10-21

Fixed

  • Hover actions + command cache: module requires.

[1.0.0] - 2023-10-21

Added

  • Initial release of ferris.nvim.
  • :RustSyntaxTree and :RustFlyCheck commands.
  • :RustAnalyzerStart and :RustAnalyzerStop commands.
  • Config validation.
  • Health checks (:checkhealth ferris).
  • Vimdocs (auto-generated from Lua docs - :help ferris).
  • Nix flake.
  • Allow tools.executor to be a string.
  • LuaRocks releases.
  • Minimal config for troubleshooting.

Internal

  • Added type annotations.
  • Nix CI and linting infrastructure and static type checking.
  • Lazy load command modules.

Fixed

  • Numerous potential bugs encountered during rewrite.
  • Erroneous semantic token highlights.
  • Make sure we only send LSP requests to the correct client.

Breaking changes compared to rust-tools.nvim

  • Removed the setup function and revamped the architecture
    to be less prone to type errors.
    This plugin is a filetype plugin and works out of the box.
    The default configuration should work for most people,
    but it can be configured with a vim.g.ferris table.
  • Removed the lspconfig dependency.
    This plugin now uses the built-in LSP client API.
    You can use :RustAnalyzerStart and :RustAnalyzerStop
    to manually start/stop the LSP client.
    This plugin auto-starts the client when opening a rust file,
    if the rust-analyzer binary is found.
  • Removed rt = require('rust-tools') table.
    You can access the commands using Neovim's vim.cmd Lua bridge,
    for example :lua vim.cmd.RustSSR() or :RustSSR.
  • Bumped minimum Neovim version to 0.9.
  • Removed inlay hints, as this feature will be built into Neovim 0.10.

2.0.0

21 Oct 11:43
a622c62
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.

[2.0.0] - 2023-11-21

Breaking changes

  • Don't pollute the command space:
    Use a single command with subcommands and completions.
    • RustAnalyzer [start|stop]
      (always available in Rust projects)
    • RustLsp [subcommand]
      (available when the LSP client is running)
      e.g. RustLsp moveItem [up|down]

[1.0.1] - 2023-11-21

Fixed

  • Hover actions + command cache: module requires.

[1.0.0] - 2023-11-21

Added

  • Initial release of ferris.nvim.
  • :RustSyntaxTree and :RustFlyCheck commands.
  • :RustAnalyzerStart and :RustAnalyzerStop commands.
  • Config validation.
  • Health checks (:checkhealth ferris).
  • Vimdocs (auto-generated from Lua docs - :help ferris).
  • Nix flake.
  • Allow tools.executor to be a string.
  • LuaRocks releases.
  • Minimal config for troubleshooting.

Internal

  • Added type annotations.
  • Nix CI and linting infrastructure and static type checking.
  • Lazy load command modules.

Fixed

  • Numerous potential bugs encountered during rewrite.
  • Erroneous semantic token highlights.
  • Make sure we only send LSP requests to the correct client.

Breaking changes compared to rust-tools.nvim

  • Removed the setup function and revamped the architecture
    to be less prone to type errors.
    This plugin is a filetype plugin and works out of the box.
    The default configuration should work for most people,
    but it can be configured with a vim.g.ferris table.
  • Removed the lspconfig dependency.
    This plugin now uses the built-in LSP client API.
    You can use :RustAnalyzerStart and :RustAnalyzerStop
    to manually start/stop the LSP client.
    This plugin auto-starts the client when opening a rust file,
    if the rust-analyzer binary is found.
  • Removed rt = require('rust-tools') table.
    You can access the commands using Neovim's vim.cmd Lua bridge,
    for example :lua vim.cmd.RustSSR() or :RustSSR.
  • Bumped minimum Neovim version to 0.9.
  • Removed inlay hints, as this feature will be built into Neovim 0.10.

1.0.1

21 Oct 10:28
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.

[1.0.1] - 2023-11-21

Fixed

  • Hover actions + command cache: module requires.

[1.0.0] - 2023-11-21

Added

  • Initial release of ferris.nvim.
  • :RustSyntaxTree and :RustFlyCheck commands.
  • :RustAnalyzerStart and :RustAnalyzerStop commands.
  • Config validation.
  • Health checks (:checkhealth ferris).
  • Vimdocs (auto-generated from Lua docs - :help ferris).
  • Nix flake.
  • Allow tools.executor to be a string.
  • LuaRocks releases.
  • Minimal config for troubleshooting.

Internal

  • Added type annotations.
  • Nix CI and linting infrastructure and static type checking.
  • Lazy load command modules.

Fixed

  • Numerous potential bugs encountered during rewrite.
  • Erroneous semantic token highlights.
  • Make sure we only send LSP requests to the correct client.

Breaking changes compared to rust-tools.nvim

  • Removed the setup function and revamped the architecture
    to be less prone to type errors.
    This plugin is a filetype plugin and works out of the box.
    The default configuration should work for most people,
    but it can be configured with a vim.g.ferris table.
  • Removed the lspconfig dependency.
    This plugin now uses the built-in LSP client API.
    You can use :RustAnalyzerStart and :RustAnalyzerStop
    to manually start/stop the LSP client.
    This plugin auto-starts the client when opening a rust file,
    if the rust-analyzer binary is found.
  • Removed rt = require('rust-tools') table.
    You can access the commands using Neovim's vim.cmd Lua bridge,
    for example :lua vim.cmd.RustSSR() or :RustSSR.
  • Bumped minimum Neovim version to 0.9.
  • Removed inlay hints, as this feature will be built into Neovim 0.10.

1.0.0

20 Oct 23:31
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.

[1.0.0] - 2023-11-21

Added

  • Initial release of ferris.nvim.
  • :RustSyntaxTree and :RustFlyCheck commands.
  • :RustAnalyzerStart and :RustAnalyzerStop commands.
  • Config validation.
  • Health checks (:checkhealth ferris).
  • Vimdocs (auto-generated from Lua docs - :help ferris).
  • Nix flake.
  • Allow tools.executor to be a string.
  • LuaRocks releases.
  • Minimal config for troubleshooting.

Internal

  • Added type annotations.
  • Nix CI and linting infrastructure and static type checking.
  • Lazy load command modules.

Fixed

  • Numerous potential bugs encountered during rewrite.
  • Erroneous semantic token highlights.
  • Make sure we only send LSP requests to the correct client.

Breaking changes compared to rust-tools.nvim

  • Removed the setup function and revamped the architecture
    to be less prone to type errors.
    This plugin is a filetype plugin and works out of the box.
    The default configuration should work for most people,
    but it can be configured with a vim.g.ferris table.
  • Removed the lspconfig dependency.
    This plugin now uses the built-in LSP client API.
    You can use :RustAnalyzerStart and :RustAnalyzerStop
    to manually start/stop the LSP client.
    This plugin auto-starts the client when opening a rust file,
    if the rust-analyzer binary is found.
  • Removed rt = require('rust-tools') table.
    You can access the commands using Neovim's vim.cmd Lua bridge,
    for example :lua vim.cmd.RustSSR() or :RustSSR.
  • Bumped minimum Neovim version to 0.9.
  • Removed inlay hints, as this feature will be built into Neovim 0.10.