5.3 KiB
Release 0.7
Release notes for release 0.7
Breaking Changes and Migration Guide
In v0.7 we are removing vim.configRC
in favor of making vim.luaConfigRC
the top-level DAG, and thereby making the entire configuration lua based.
Why? because Neovim is supposed to be mainly lua based. Also, vimscript is slow.
This comes with a few breaking changes:
vim.configRC
has been removed, which means that you have to convert all of your custom vimscript-based configuration to lua. As for how to do that, you will have to consult the Neovim documentation and your search engine.- After doing that, you might not be able to use the same entry names in
vim.luaConfigRC
, because those have also slightly changed. See the new DAG entries in nvf manual page for more details.
Changelog
- Add support for typst under
vim.languages.typst
This will enable thetypst-lsp
language server, and thetypstfmt
formatter
-
Modified type for vim.visuals.fidget-nvim.setupOpts.progress.display.overrides from
anything
to asubmodule
for better type checking. -
Fix null
vim.lsp.mappings
generating an error and not being filtered out. -
Add basic transparency support for
oxocarbon
theme by setting the highlight group forNormal
,NormalFloat
,LineNr
,SignColumn
and optionallyNvimTreeNormal
tonone
. -
Fix vim.ui.smartcolumn.setupOpts.custom_colorcolumn using the wrong type
int
instead of the expected typestring
. -
Fix unused src and version attributes in
buildPlug
.
- Fix broken treesitter-context keybinds in visual mode
- Deprecate use of
__empty
to define empty tables in lua. Empty attrset are no longer filtered and thus should be used instead. - Add dap-go for better dap configurations
- Make noice.nvim customizable
- Switch from rust-tools.nvim to the more feature-packed [rustacean.nvim](https://github.com/mrcjkb/rustaceanvim. This switch entails a whole bunch of new features and options, so you are recommended to go through rustacean.nvim's README to take a closer look at its features and usage.
-
Add ocaml-lsp support.
-
Fix Emac typo
-
Move the
theme
dag entry to beforeluaScript
. -
Add rustfmt as the default formatter for Rust.
-
Enabled the terminal integration of catppuccin for theming Neovim's built-in terminal (this also affects toggleterm).
-
Migrate bufferline to setupOpts for more customizability
-
Use
clangd
as the default language server for C languages -
Expose
lib.nvim.types.pluginType
, which for example allows the user to create abstractions for adding plugins -
Migrate indent-blankline to setupOpts for more customizability. While the plugin's options can now be found under
indentBlankline.setupOpts
, the previous iteration of the module also included out of place/broken options, which have been removed for the time being. These are:listChar
- this was already unusedfillChar
- this had nothing to do with the plugin, please configure it yourself by addingvim.opt.listchars:append({ space = '<char>' })
to your lua configurationeolChar
- this also had nothing to do with the plugin, please configure it yourself by addingvim.opt.listchars:append({ eol = '<char>' })
to your lua configuration
-
Make the entire configuration lua based. This comes with a few breaking changes:
vim.configRC
has been removed, migrate your entries to lua code, and add them tovim.luaConfigRC
insteadvim.luaScriptRC
is now the top-level DAG, and the internalvim.pluginRC
has been introduced for setting up internal plugins. See the "DAG entries in nvf" manual page for more information.
-
Add
deno fmt
as the default Markdown formatter. This will be enabled automatically if you have autoformatting enabled, but can be disabled manually if you choose to. -
Add
vim.extraLuaFiles
for optionally sourcing additional lua files in your configuration. -
Refactor
programs.languages.elixir
to use lspconfig and none-ls for LSP and formatter setups respectively. Diagnostics support is considered, and may be added once the credo linter has been added to nixpkgs. A pull request is currently open. -
Remove vim-tidal and friends.
-
Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed blending issues in component separators.
-
Add [ts-ereror-translator.nvim] extension of the TS language module, under
vim.languages.ts.extensions.ts-error-translator
to aid with Typescript development. -
Add [neo-tree.nvim] as an alternative file-tree plugin. It will be available under
vim.filetree.neo-tree
, similar to nvimtree.