v0.14.0
版本发布时间: 2024-09-26 21:56:43
echasnovski/mini.nvim最新发布版本:v0.14.0(2024-09-26 21:56:43)
- Stop official support of Neovim 0.7.
- Update help files to use code blocks with language annotation, as it results in a better code highlighting. Implies enabled tree-sitter highlighting in 'help' filetype:
- It is default in Neovim>=0.10.
- Tree-sitter parser is built-in in Neovim 0.9.x, needs manual enabling via
vim.treesitter.start()
. - Has visual regressions on Neovim 0.8.0 and 0.8.1 without enabled tree-sitter (code blocks are highlighted as normal text). Use 0.8.2 or newer.
- Universally prefer 'mini.icons' module over 'nvim-tree/nvim-web-devicons'.
- Start automated testing on Windows and MacOS.
- Universally ensure that all plugin's highlight groups are defined after any color scheme takes effect.
mini.base16
- FEATURE: add 'kevinhwang91/nvim-bqf' plugin integration.
mini.completion
- FEATURE: add highlighting of LSP kind (like "Function", "Keyword", etc.). Works only on Neovim>=0.11. Requires enabled 'mini.icons' to work out of the box.
mini.doc
- BREAKING FEATURE: update
afterlines_to_code()
to result into Lua code block in help file by using>lua
at the start instead of>
. NOTE: users need enabledhelp
tree-sitter parser (which is default on Neovim>=0.9) for code blocks to have proper highlighting.
mini.extra
- FEATURE: update
oldfiles
picker to havecurrent_dir
option which iftrue
shows files only from picker's working directory. By @abeldekat, PR #997. - FEATURE: make
git_hunks
,list
, andlsp
pickers show icons. Scopesdocument_symbol
andworkspace_symbol
inlsp
picker show icon based on LSP kind (requires set up 'mini.icons'), others - based on path data. - FEATURE: update
buf_lines
andoldfiles
pickers to havepreserve_order
local option, similar tovisit_paths
picker. Other possible candidates for this option are intentionally not updated to not increase maintenance (manually overridematch
source method to callMiniPick.default_match()
with{ preserve_order = true }
options). - FEATURE: update
buf_lines
picker to pad line numbers to achieve more aligned look. - BREAKING FEATURE: use "│" as line/position separator instead of ":". This aligns with changes in 'mini.pick' and makes line/position more easily visible.
mini.git
- FEATURE: update
show_at_cursor()
to include commit's statistics when showing commit. - FEATURE: update
show_at_cursor()
to show relevant at cursor commit data inside 'mini.deps' confirmation buffer.
mini.hipatterns
- BREAKING FEATURE: update
compute_hex_color_group()
to compute based on combination ofhex_color
andstyle
, opposed to justhex_color
. This allows simultaneous usage of several styles in user's custom highlighters.
mini.hues
- FEATURE: implement
apply_palette()
(to complimentmake_palette()
) providing a way to tweak applied palette before applying it. - FEATURE: add 'kevinhwang91/nvim-bqf' plugin integration.
mini.files
- FEATURE: prefer using 'mini.icons' as icon provider.
- FEATURE: implement bookmarks. With default config:
- Type
m
followed by a single character<char>
to set directory path of focused window as a bookmark with id<char>
. - Type
'
followed by a bookmark id to make bookmark's path focused in explorer. - Use
MiniFiles.set_bookmark()
insideMiniFilesExplorerOpen
event to set custom bookmarks.
- Type
- FEATURE: make data for
MiniFilesActionDelete
containto
field in case of not permanent delete. - FEATURE: make file manipulation work better for special complex/overlapping cases (like delete 'file-a' and copy 'file-b' as 'file-a'). It is still a better idea to split overlapping manipulations into smaller and not related steps, as there are cases which won't work.
- FEATURE: add
get_explorer_state()
to allow more reliable user customizations. - FEATURE: add
set_branch()
to allow to set what paths should be displayed and focused. - BREAKING: soft deprecate
get_target_window()
in favor ofget_explorer_state().target_window
. Will be completely removed after the next release. - BREAKING: update how confirmation lines are computed:
- Show create actions in the group directory where text manipulation took place. This matters during creating nested entries and is usually a more intuitive representation.
- For delete show its type after the file name ("permanently" or "to trash") as an additional visual indication of delete type.
- For create, copy and move prefer showing its "to" path relative to group directory.
- Separate action name and paths with "│" (instead of ":") for better visual separation.
- Don't enclose paths in quotes. Initially it was done to reliably show possible whitespace in paths, but inferring it from overall line structure should be good enough.
mini.icons
- Introduction of a new module.
mini.misc
- FEATURE: implement
setup_termbg_sync()
to set up terminal background synchronization (removes possible "frame" around current Neovim instance). Works only on Neovim>=0.10.
mini.pick
- FEATURE: prefer using 'mini.icons' as icon provider.
- BREAKING: update
default_match()
to have tableopts
as fourth argument (instead of booleando_sync
). Use{ sync = true }
to run synchronously. The new design is more aligned with other functions and is more forward compatible. - FEATURE: add
preserve_order
option todefault_match()
to allow asynchronous matching which preserves order (i.e. doesn't do sort step of fuzzy matching). - BREAKING: encoding line or position in string items has changed:
- Use "\0" (null character; use "\000" form if it is in a string before digit) instead of ":" as delimiter. This makes it work with files similar to ":" position encoding (like "time_12:34:56"). This only matters for custom sources which provide line or position in string items.
- Update
default_show()
to display "│" character instead of "\0" in item's string representation (previously was ":"). In particular, this changes how line/position is displayed ingrep
andgrep_live
built-in pickers. This change was done because "│" is more visible as separator.
- FEATURE: explicitly hide cursor when picker is active (instead of putting it in command line).
mini.starter
- BREAKING: change filetype of Starter buffer from 'starter' to 'ministarter'. This is a more robust value and more aligned with other modules.
mini.statusline
- BREAKING FEATURE: update
section_fileinfo()
to show non-empty filetype even in not normal buffers (like plugin's scratch buffers, help, quickfix, etc.). Previously it showed nothing, which was a mistake as filetype can be a valuable information. - BREAKING FEATURE: the default
set_vim_settings
config value now does not affectlaststatus = 3
(aka global statusline). - FEATURE: prefer using 'mini.icons' as icon provider for
section_fileinfo()
.
mini.surround
- BREAKING FEATURE: adding surrounding in linewise mode now also ignores trailing whitespace on the last line (same as it ignores indent on the first line).
mini.tabline
- FEATURE: prefer using 'mini.icons' as icon provider.
mini.test
- FEATURE: make it work on Windows. By @cameronr, PR #1101.