Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort
<C-z>
mapping, as it is more useful in most terminal emulators for suspending Neovim process (to later resume with fg
command). To correct latest misspelled word, use mappings like this:vim.keymap.set('n', '<C-z>', '[s1z=', { desc = 'Correct latest misspelled word' })
vim.keymap.set('i', '<C-z>', '<C-g>u<Esc>[s1z=`]a<C-g>u', { desc = 'Correct latest misspelled word' })
tab:>
to 'listchars' option when options.extra_ui
is set. This prevents showing ^I
instead of a tab and actual value comes from Neovim's default.termguicolors
only on Neovim<0.10, as later versions should have it on by default (if terminal emulator supports it).Introduction of a new module.
:echo
to display messages and warnings in favor of vim.notify()
.write_post
hook to not display current time in success message.~
in generated section headings.go_in()
to have close_on_file
option.@text.literal
and @markup.raw
) color to be distinctive instead of dimmed.bench_time()
to use vim.loop.hrtime()
(as better designed for benchmarking) instead of vim.loop.gettimeofday()
.Introduction of a new module.
window.prompt_cursor
and window.prompt_prefix
config options.builtin.help()
to use tree-sitter highlighting (if there is any).read()
to first write()
current session (if there is any).sections.pick()
with 'mini.pick' pickers.search_count
section to default active content.Introduction of a new module.
delete()
and wipeout()
without force
in a modified buffer now asks for confirmation instead of declining and showing message.config.window.config
now can be callable returning window config.config.mappings.comment_visual
to configure mapped keys in Visual mode.C
flag to shortmess
option on Neovim>=0.9. By @yamin-shihab, PR #554.Introduction of a new module.
MiniFilesCursorLine
highlight group.pattern
in highlighter definitions to be an array to highlight several patterns under the same highlighter name.extmark_opts
in highlighter definitions for a more control over extmarks placed at matches.priority
in highlighter definitions is soft deprecated in favor of extmark_opts = { priority = <value> }
.compute_hex_color_group()
to allow style = 'fg'
.gen_highlighter.hex_color()
to allow style = 'inline'
(requires Neovim>=0.10 with support of inline extmarks).get_matches()
to get buffer matches.config.window.zindex
to configure z-index of map window.setup_auto_root()
and find_root()
now have fallback
argument to be applied when no root is found with vim.fn.find()
.Introduction of a new module.
show_path
in sections.recent_files()
can now be callable for more control on how full path is displayed.child.get_screenshot()
now by default calls :redraw
prior to computing screenshot. Can be disabled by new opts.redraw
argument.child.lua_func()
can execute simple functions inside child process and return the result (stasjok, #437).expect.reference_screenshot()
now has ignore_lines
option allowing to ignore specified lines during screenshot compare.vis_mode
field in custom texobject region to force Visual mode with which textobject is selected.MiniAnimateNormalFloat
highlight group to tweak highlighting of open
and close
animations.<C-w>
mapping in Terminal mode, as it is more useful inside terminal emulator itself.add_to_jumplist
option to relevant targets (which move cursor and don't already add to jumplist).Introduction of a new module.
Introduction of a new module.
gen_union_spotter()
to allow combining separate spotters into one.Introduction of a new module.
false
in config.mappings
to not map the key.add
(sa
) with ability to replicate left and right parts by respecting [count]
. In Normal mode two kinds of [count]
is respected: one for operator (replicates left and right parts) and one for textobject/motion. In Visual mode [count]
replicates parts.vim.keymap
to deal with mappings. Stop exporting functions only related to mappings.go
and gO
mappings).Introduction of a new module.
options.custom_commentstring
option for a more granular customization of comment structure.get_commentstring()
function representing built-in logic of computing relevant 'commentstring'.Introduction of a new module.
Introduction of a new module.
config.silent = true
. It is now present in modules capable of showing non-error feedback:
Introduction of a new module.
options.start_of_line
option which controls whether to recognize as comment only lines without indent.options.ignore_blank_line
option which controls whether to ignore blank lines.options.pad_comment_parts
option which controls whether to ensure single space pad for comment leaders.config.hooks.write_pre
hook to be executed before writing to a file.MiniIndentscopeSymbolOff
highlight group to be used if scope's indent is not multiple of 'shiftwidth'.draw.priority
option to control priority of scope line draw.view.n_steps_ahead
option which controls how many steps ahead to show. Appearance is controlled by new MiniJump2dSpotAhead
highlight group.view.dim
option which controls whether to dim lines with at least one jump spot. Appearance is controlled by new MiniJump2dDim
highlight group.MiniJump2dSpotUnique
highlight group to be used for spots with unique label for next step.MiniPairs.br()
and MiniPairs.cr()
can now take a key which will be used instead of default <BS>
and <CR>
.setup()
now creates global directory at path config.directory
if it doesn't exist.Introduction of a new module.
respect_selection_type
option which, when enabled, makes adding and deleting surrounding respect selection type:
MiniAi.gen_spec.argument()
option separators
(plural; array of characters) is soft deprecated in favor of separator
(singular; Lua pattern) option.Introduction of new module.
Introduction of a new module.
MiniCompletion.config.window_dimensions
is renamed to MiniCompletion.config.window
to be able to handle more general configuration.MiniCompletion.config.window.info.border
and MiniCompletion.config.window.signature.border
which can be used to define border of info and signature floating windows respectively.MiniIndentscopePrefix
is now not used (deprecated). It was initially introduced as a way to properly show scope indicator on empty lines. It had a drawback of overshadowing 'listchars' symbols (see #125) and vertical guides from 'lukas-reineke/indent-blankline.nvim'. As the other implementation approach was found by @mivort (see #161), MiniIndentscopePrefix
is no longer needed and no overshadowing is done.MiniIndentscope.gen_animation
is now a table (for consistency with other gen_*
functions in 'mini.nvim'). See "Migrate from function type" section of :h MiniIndentscope.gen_animation
. Calling it as function will be available until next release.MiniMisc.setup_auto_root()
and MiniMisc.find_root()
for root finding functionality. NOTE: requires Neovim>=0.8.MiniMisc.setup_restore_cursor()
for automatically restoring latest cursor position on file reopen. By @cryptomilk, PR #198.Introduction of new module.
Introduction of new module.
MiniBase16.config.plugins
for configuring plugin integrations.MiniCompletionActiveParameter
now highlights with background instead of underline.MiniJump2dSpot
now explicitly defined to use plugin's palette.MiniStarterItemPrefix
and MiniStarterQuery
are now bold for better visibility.Introduction of new module.
(content, buf_id)
signature allowing them properly use current window layout.{ find = <string>, extract = <string> }
it is now { <function or composed pattern> }
. Previous format will work until the next release. See more in help file.v:count
.(
, [
, {
, <
) now include whitespace in surrounding: input surrounding selects all inner edge whitespace, output surrounding is padded with single space.i
("interactive") is soft deprecated in favor of ?
("user prompt").b
for "brackets". Input - any of balanced ()
, []
{}
. Output - ()
.q
for "quotes". Input - any of "
, '
, `
. Output - ""
.'prev'
, 'next'
, and 'nearest'
for finding non-covering previous and next surrounding.'prev'
or 'next'
search method. Controlled with config.mappings.suffix_last
and config.mappings.suffix_next
respectively. This also means that custom surroundings with identifier equal to "last"/"next" mappings suffixes (defaults to 'l' and 'n') will work only with long enough delay after typing action mapping.MiniSurround.gen_spec
with generators of common surrounding specifications (like MiniSurround.gen_spec.input.treesitter
for tree-sitter based input surrounding).vim.b.mini*_config
buffer variables.minicyan
color scheme.Introduction of new module.
false
(#108).vim.b.miniindentscope_options
in favor of using options
field of miniindentscope_config
.MiniStarter.content
is deprecated. Use MiniStarter.get_content()
.buf_id
as argument (no breaking behavior).config.use_icons
which controls whether to use icons by default.Introduction of new module.
MiniTrailspace.trim_last_lines()
.config.hooks
with pre
and post
hooks (executed before and after successful commenting). Fixes #50, #59.additionalTextEdits
(issue #61).MiniJump.state
: table with useful model-related information.config.highlight_delay
in favor of config.delay.highlight
.<C-c>
to stop selecting target.Introduction of new module.
<BS>
and <CR>
in certain mode only after some pair is registered in that mode.MiniSessions.select()
to select session interactively and perform action on it.config.hooks
to execute hook functions before and after successful action.config.header
and config.footer
be any value, which will be converted to string via tostring()
.<C-n>
and <C-p>
to default mappings.MiniStatusline.section_diagnostics()
from ﯭ to due to former having issues in some terminal emulators.config.search_method
.config.custom_surroundings
.MiniSurround.user_input()
.config.funname_pattern
option in favor of manually modifying f
surrounding.add()
, delete()
, and replace()
(instead of moving only if it was on the same line as left surrounding).<C-c>
to cancel and make empty string a valid input.config.tabpage_section
.*quickfix*
label.Introduction of new module.
Introduction of new module.
MiniStarter.set_query()
and make <Esc>
mapping for resetting query.