mini.align
- FEATURE: add built-in modifier for "|" character with aligning Markdown-like tables in mind.
mini.animate
- BREAKING FEATURE: add
max_output_steps
option togen_path.line()
andgen_path.angle()
to limit the number of steps the return. Default is 1000 to improve performance on large cursor jumps which also is set forconfig.cursor.path
.
mini.files
- FEATURE: closing and refreshing explorer now requires confirmation only if there are pending file system actions (and not in case of at least one modified buffer present).
- FEATURE: confirming file system actions in
synchronize()
now can cancel synchronization (by pressingc
) while keeping buffer contents the same.synchronize()
also returns a boolean representing whether synchronization was done.
mini.git
- FEATURE: Git data is computed after resolving symlinks. This allows working with files symlinked into outside of Git repo. This behavior is the same as in 'mini.diff'.
mini.hipatterns
- BREAKING FEATURE: make
MiniHipatterns{Fixme,Hack,Todo,Note}
highlight groups by default be reverse and bold variant ofDiagnostic{Error,Warn,Info,Hint}
group instead of directly link to them. This ensures better visibility for color schemes which don't have explicit 'mini.hipatterns' support.
mini.hues
- FEATURE: add
'lowmedium'
and'mediumhigh'
saturation levels.
mini.icons
- FEATURE: add distinctive glyphs and highlighting for special Neovim directories (from
:h 'runtimepath'
).
mini.indentscope
- BREAKING FEATURE: add
options.n_lines
option to limit the scope computation (for better performance). It is breaking because the default value is 10000 while previous behavior had no restriction (as withn_lines = math.huge
) which should matter only in very big scopes. - BREAKING FEATURE: add
draw.predicate
configuration to customize whether the scope should be autodrawn. It is breaking because the default value does not draw scope with incomplete computation (i.e. interrupted due tooptions.n_lines
value), which should matter only in very big scopes.
mini.notify
- FEATURE:
setup()
now also can be used to clean history (for example, likeMiniNotify.setup(MiniNotify.config)
).
mini.pick
- BREAKING FEATURE: picker window now has local current directory set to source's
cwd
. This allows easier code for "in window" functions (callable items, choose, preview, etc.) as relative paths will be properly resolved. It also results in some changes:- Calling
set_picker_items_from_cli()
with active picker now resolves explicitly set to relative pathspawn_opts.cwd
against picker'scwd
(and not against global current directory as was done previously).
- Calling
- FEATURE: update
grep
andgrep_live
pickers to allowglobs
local option which restricts search to files that match any of its glob patterns (for example,{ '*.lua', 'lua/**' }
will only search in Lua files and files in 'lua' directory). Thegrep_live
picker also has custom<C-o>
mapping to add globs interactively after picker is opened. - FEATURE: update
help
picker to havedefault_split
local option which customizes split direction ofchoose
action (<CR>
by default). - FEATURE: update
ui_select()
to allow fourth argumentstart_opts
to customizeMiniPick.start()
call. - FEATURE: add
MiniPickMatch
event triggered after updating query matches or setting items. Can be used, for example, to adjust window height based on current matches.
mini.snippets
- Introduction of a new module.
mini.surround
- BREAKING: created mappings for
find
,find_left
, andhighlight
are now not dot-repeatable. Dot-repeat should repeat last text change but neither of those actions change text. Having them dot-repeatable breaks the common "move cursor -> press dot" workflow. Initially making them dot-repeatable was a "you can but you should not" type of mistake.
mini.test
- FEATURE: add
n_retry
test set property. When set, each case will be tried that at most that many times until first success (if any). - FEATURE: add
hooks.pre_source
andhooks.post_source
fields to collected cases. They can be either'once'
or'case'
and allow a more granular control over case execution. - FEATURE:
finally()
now can be called several times inside a single function with callbacks executed in order of how they were registered. - BREAKING FEATURE: now calling
skip()
in set'spre_case
hook results in skipping all test cases in a set. Calling in other hooks has no effect. This enables a more structured skipping of all test cases inside a set. To skip inside hooks, useadd_note()
followed byreturn
. - FEATURE: update
expect.reference_screenshot()
to allowdirectory
option pointing to a directory where automatically constructed reference path is located.