Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Version 0.16.0

Latest

Choose a tag to compare

@echasnovskiechasnovski released this 20 May 13:06
· 196 commits to main since this release
94cae46
This commit was signed with the committer’sverified signature.
echasnovski Evgeni Chasnovski
GPG key ID:BB32E27DDF942DFB
Verified
Learn about vigilant mode.

There are following change types:

  • Evolve - change in previously intended functionalitywhile adding a new one.
  • Refine - change in previously intended functionalitywithout adding new one. This is usually described as a "breaking change", but used here in a sense that it might break user's expectations about existing functionality.
  • Expand - adding new functionality without affecting existing ones. This is essentially new features.

All

Evolve

  • Unify behavior of floating windows:

    • Truncate title/footer from left if it is too wide.
    • Set default title if window is allowed to have border.
    • Use single space padding for default title/footer.
    • Use 'single' as default window border in modules where it can be configured. On Neovim>=0.11 also respect non-empty 'winborder' option with lower precedence than explicitly configured value for the module.
  • Unify how module-related buffers are named:mini<module-name>://<buffer-number>/<useful-info>. This structure allows creating identifiable, reasonably unique, and useful buffer names. This is a user facing change because in some cases the shown buffer's name will change (like in statusline of opened 'mini.starter' buffer or output of:buffers!).

  • Stop forcing recommended option values behindset_vim_settings config setting. Instead set them automatically insetup(). If it is not essential, do so only if it was not set by user/plugin beforehand (no matter the value). Document this as a new general principle to be followed in the future. Affected modules:

    • 'mini.bufremove' (do nothing as recommended 'hidden' is on by default)
    • 'mini.completion' (conditionally set 'completeopt=menuone,noselect' and flags "c" in 'shortmess')
    • 'mini.statusline' (do nothing as recommended 'laststatus=2' is default)
    • 'mini.tabline' (unconditionally set 'showtabline=2', as it is essential to module's functinonality)

Refine

  • Soft deprecate support for Neovim 0.8. It will be fully stopped in next release.

mini.ai

Refine

  • Visual textobject selection now puts the cursor on the right edge instead of left. This better aligns with the (undocumented) behavior of how built-ina /i textobjects work in Visual mode, as opposed to the (documented in:h operator-resulting-pos) behavior of how it is done after applying the operator.

Expand

  • Textobject identifier can now be any single character supported by:h getcharstr(). This also makes it possible to use characters outside of Latin alphanumeric and punctuation sets ascustom_textobjects keys. Default textobject is extended to be anything but Latin letters (to fall back to:h text-objects).

  • Updategen_spec.treesitter() to respect capture ranges specified by query directives (like(#offset! @table.inner 0 1 0 -1)).

mini.base16

Refine

  • Update 'mini.pick' highlight groups to show prompt text with same colors as match ranges, as they are connected.

Expand

  • Add support for colored markdown headings.

  • Add new plugin integrations:

    • 'ibhagwan/fzf-lua'
    • 'MeanderingProgrammer/render-markdown.nvim'
    • 'OXY2DEV/helpview.nvim'
    • 'OXY2DEV/markview.nvim'

mini.colors

Expand

  • Updateconvert() to haveadjust_lightness option which can be used to disable lightness adjustment (which is enabled by default for a more uniform progression from 0 to 100). This can be useful for output to be more consistent with other Oklab/Oklch implementations.

mini.comment

Expand

  • Update textobject to respectignore_blank_line option. Blank lines between commented lines are treated as part of a textobject.

mini.completion

Evolve

  • Add snippet support. By default uses 'mini.snippets' to manage snippet session (if enabled, **highly recommended), falls back tovim.snippet on Neovim>=0.10. See "Snippets" section in:h MiniCompletion for more details.

    This affect existing functionality because items withSnippet kind are no longer filtered out by default.

  • Rework how LSP completion items are converted to Neovim's completion items:

    • Showdetail highlighted as buffer's language at the start of info window, but only ifdetail provides information not already present indocumentation. It was previously used as extra text in the popup menu (viamenu field), but this doesn't quite follow LSP specification:detail anddocumentation fields can be delayed up untilcompletionItem/resolve request which implies they should be treated similarly.
    • ShowlabelDetails as a part of the popup menu viamenu completion item field.
  • Rework how information window is shown with the goal to reduce flickering during fast up/down navigation through completion candidates:

    • Do not close the window immediately after the move. Instead highlight border withMiniCompletionInfoBorderOutdated immediately while update window when its content is ready. Close the window only if no candidate is selected.
    • Show content of already visited/resolved candidate without delay.
    • Show default-No-info- text if there is no extra information about the candidate.
  • Update behavior and capabilities ofdefault_process_items():

    • Addfiltersort option to control how items are filtered and/or sorted. Its new default value has changed behavior: do fuzzy matching if 'completeopt' option contains "fuzzy" entry; same as before otherwise.
    • Addkind_priority option to allow arranging items by completion item kind (like "Variable", "Snippet", "Text", etc.) after applyingfiltersort. This allows finer filter and/or sort based on kind, like "put Variable on top, Snippet on bottom, remove Text".
    • UsefilterText andlabel item fields during matching (instead oftextEdit.newText,insertText, andlabel as before). This is more aligned with LSP specification.

Refine

  • Prefer in some cases to usenil as default config value with explicit fallback. This should not have any user facing effects and marked as breaking only because a structure of a default config has changed. Affected fields:

    • lsp_completion.process_items (usedefault_process_items as fallback) andfallback_action (use'<C-n>' as fallback). This makes it more aligned with other modules that usually avoid using function values in default config.
    • window.info.border andwindow.signature.border (use non-empty 'winborder' and'single' as fallback).
  • Change default value ofMiniCompletionActiveParameter highlight group to link toLspSignatureActiveParameter (instead of forcing underline).

  • Calllsp_completion.process_items with an array of items from all buffer servers at once (and not for each server separately). This can be used for more elaborate filter/sort strategies.

Expand

  • Add scrolling in info and signature window. By default can be done with<C-f> /<C-b> when target window is shown. Can be configured viamappings.scroll_down andmappings.scroll_up config options.

  • RespectisIncomplete in LSP completion response and immediately force new completion request on the next key press.

  • Add support for context in 'textDocument/completion' request.

  • Both info and signature help windows now use tree-sitter highlighting:

    • Info window uses "markdown" parser (works best on Neovim>=0.10 as its parser is built-in). Special markdown characters are concealed (i.e. hidden) which might result into seemingly unnecessary whitespace as dimensions are computed not accounting for that.
    • Signature help uses same parser as in current filetype.
  • Update signature help without delay if it is already shown. This helps to keep signature help up to date after cursor jumps in Insert mode (like during snippet session).

  • Add support for item defaults inCompletionList response.

  • Addget_lsp_capabilities() that returns data about which part of LSP specification is supported in 'mini.completion'.

  • Input items forlsp_completion.process_items now haveclient_id field with the identifier of the server that item came from. Usevim.lsp.get_client_by_id() to get an actual data about the server.

mini.diff

Expand

  • Theconfig.source can now be array of sources, which will be attempted to attach in order. Important for source'sattach to either returnfalse or callMiniDiff.fail_attach() (even not immediately) to signal that source has failed to attach to a particular buffer.

  • Overlay virtual lines now scroll horizontally along with buffer lines. Requires Neovim>=0.11 and disabled 'wrap' option.

  • Highlighting of buffer parts of change hunks can now be customized with these new highlight groups:

    • MiniDiffOverChangeBuf - changed buffer text. Previously usedMiniDiffOverChange (for changed reference text); links to it by default.
    • MiniDiffOverContextBuf - context of a change shown in buffer overlay. Previously not highlighted, default highlight group is not created.

mini.doc

Expand

  • FEATURE: improve detection and formatting for types in@param,@return, and similar.

mini.fuzzy

Refine

  • Updateprocess_lsp_items() to only usefilterText andlabel item fields during fuzzy matching (instead oftextEdit.newText,insertText, andlabel as before). This is more aligned with LSP specification.

  • Treat emptyword as matching any candidate (matched positions is empty array and score is -1). This behavior is usually more useful in practice.

mini.hues

Evolve

Refine

  • Update 'mini.pick' highlight groups to show prompt text with same colors as match ranges, as they are connected.

Expand

  • Add support for colored markdown headings.

  • Add new plugin integrations:

    • 'ibhagwan/fzf-lua'
    • 'MeanderingProgrammer/render-markdown.nvim'
    • 'OXY2DEV/helpview.nvim'
    • 'OXY2DEV/markview.nvim'

mini.keymap

Expand

  • Introduction of a new module.

mini.notify

Expand

  • Addlsp_progress.level option to control level of LSP progress notifications.

  • AddMiniNotifyLspProgress highlight group to be used for LSP progress notifications.

  • Adddata field to notification specification and as a new argument toMiniNotify.add(). It can be used to store any data relevant to the notification. For example, notifications frommake_notify() output setsource field to'vim.notify', while notifications from LSP progress setsource to'lsp_progress'.

mini.operators

Expand

  • Updatesetup() to remap built-ingx Normal/Visual mode mappings (for opening an URI under cursor) togX (if that is not already taken).

mini.pairs

Expand

  • Update all actions to work with pairs containing multibyte characters (like "¿?", "「」", and similar).

mini.pick

Refine

  • Renameprompt_cursor inconfig.window toprompt_caret for better naming consistency. It works for now, but will stop in the next release. Sorry for the inconvenience.

Expand

  • AddMiniPickPromptCaret andMiniPickPromptPrefix highlight groups to allow finer customization of picker's prompt.

  • Updateget_picker_matches() to return data (items and indexes) about currently shown items.

  • Updateset_picker_match_inds() to be able to set current match and marked items indexes.

mini.snippets

Expand

  • Addstart_lsp_server() to start specialized in-process LSP server to show loaded snippets inside (auto)completion engines (like 'mini.completion').

mini.statusline

Refine

  • Functionsection_fileinfo() got several updates:
    • File size is now computed based on the current buffer text and not for file's saved version.
    • File info is now shown even for buffers with empty 'filetype'. It previously was treated as a sign of a "temporary buffer", but it might be a result of an unsuccessful filetype matching.

mini.surround

Expand

  • Surrounding identifier can now be any single character supported by:h getcharstr(). This also makes it possible to use characters outside of Latin alphanumeric and punctuation sets ascustom_surroundings keys.

  • Updategen_spec.input.treesitter() to respect capture ranges specified by query directives (like(#offset! @table.inner 0 1 0 -1)).

mini.tabline

Expand

  • Add support for showing special (truncation) characters at left and/or right if there are more tabs to the left and/or right. They are shown with the newMiniTablineTrunc highlight group in case 'list' option is enabled (i.e. user deliberately enabled similar functionality for windows). Exact characters are taken from 'listchars' option:precedes andextends fields.

  • Labels for quickfix and location lists are now different.

Assets2
Loading
metalinspired and redyf reacted with thumbs up emojiloichyan and redyf reacted with heart emoji616b2f, rynoV, phrmendes, DamascenoV, helio-frota, sbulav, Bvngee, farias-hecdin, slavamak, haoming-li-ling, and 8 more reacted with rocket emoji
20 people reacted

[8]ページ先頭

©2009-2025 Movatter.jp