Releases: Saghen/blink.cmp
v0.13.1
BREAKING CHANGES
- add
<Left>
,<Right>
and<C-space>
to cmdline preset - fallback to next keymap when menu not shown for select_next/prev
Features
- add
<Left>
,<Right>
and<C-space>
to cmdline preset (8f7c23d), closes #1328 - fallback to next keymap when menu not shown for select_next/prev (ffebcd2), closes #1336
Bug Fixes
- download: correctly handle
download = false
andimplementationn = "rust"
(#1334) (2c8e4c7) - lua fuzzy implementation off by 1 and suffix matching (2c1524f), closes #1335
- mini snippets validation (c412578), closes #1332 #1342
New Contributors
- @leokang94 made their first contribution in #1331
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Highlights
- Optional pure Lua mode! (no Rust dependency)
- By default, if the Rust implementation is not available, Blink will emit a warning and fallback to the Lua implementation
- See the documentation
- Cmdline configuration matches built-in cmdline behavior by default
- Ghost text has been enabled by default with
noice.nvim
- See the documentation
- Ghost text has been enabled by default with
- Prebuilt binaries should now work on systems as old as Ubuntu 14.04
- Slow completions with multiple LSPs (especially
tailwind
andemmet
) has been resolved - Sources may now define
kind_icon
,kind_hl
andkind_name
- Guide on writing your own sources
BREAKING CHANGES
- disable auto-brackets for
rust
- fallback to mappings only for
<C-n>
and<C-p>
by default - match built-in cmdline behavior by default (#1314)
- set
BlinkCmpSource
highlight toPmenuExtra
(#1284) - disable accidentally enabled
exact
sorter - set
BlinkCmpLabel(Deprecated|Description|Detail)
toPmenuExtra
- revert cmdline draw config to default
Features
kind_icon
andkind_name
on completion items (010d939), closes #984- add
get_selected_item_idx
andget_items
API (dc267e0), closes #242 - add
show_with_menu
andshow_without_menu
to ghost text config (132e362), closes #1256 - apply emmet-ls hack to emmet-language-server (6abb8ab)
- cache dot repeat buffer (fb6a268)
- disable accidentally enabled
exact
sorter (c3a87dd) - disable auto-brackets for
rust
(54fd294), closes #359 - download implementation with lua matcher (2868fbd)
- fallback to mappings only for
<C-n>
and<C-p>
by default (1953baa), closes #1286 - ignore
A-z
trigger characters (a283be6) - isolate tailwind hack, support changing icon (7eee42b), closes #1011
- lua fuzzy matching implementation (87c88de)
- match built-in cmdline behavior by default (#1314) (54091b6)
- multi LSP isIncomplete caching (ceb9f91), closes #1115 #921
- nix: remove unneeded fetchGit (#1315) (82d0720)
- re-enable neovim 0.11 vim.validate (22e6351), closes #1275
- revert cmdline draw config to default (a472b3e), closes #1243
- set
BlinkCmpLabel(Deprecated|Description|Detail)
toPmenuExtra
(3a97722) - set
BlinkCmpSource
highlight toPmenuExtra
(#1284) (6894225) - set glibc to 2.21 for linux builds (f1877a0), closes #160
- show loading indicator on long running fetch (3d38eb4), closes #81
- support ghost text with noice (#1269) (9cbbcc0)
- use
source_id
when tracking item across lists (78ef9e1) - use published
frizbee
crate (2dbc1b7), closes #839 - use zig for glibc 2.27 builds (323e480), closes #160
Bug Fixes
- add missing
source_id
component to completion menu draw (558c2a4), closes #1321 - cached LSP items wrong cursor column (3b768bb), closes #1281
- cmdline arg_number on border with another argument (79aa4e5), closes #1288
- completions not showing on manual trigger immediately after prefetch (5a6f8d8)
- context/items not pass to
completion.menu.auto_show
(#1290) (2f208a7) - cross zig configuration (1004e71)
- docs creating tags breaking panvimdoc (af2f4ec), closes #1278
- ignore empty completion type in input mode (d2551d6), closes #1309
- ignore failing
cc -dumpmachine
(a4bb082), closes #1297 #1299 - incsearch flickering when typing characters during search (#1305) (d2fbc41), closes #1061
- insert text edit after additional text edits (6ada545), closes #1270
- lua expr cmdline completion clears prior input (#1282) (30d9081), closes #1240
- pcall dot repeat for
q:
window (3c0115c), closes #1260 - pick documentation direction via desired min width only (2fb514b), closes #1181
- pick menu direction based on max height (9446f50)
- remove accidental backslash in keyword regex (5b7915b), closes #1125
- respect
vim.fn.input
completion type (12d035e), closes #1079 - skip snippet and fallback commands in term/cmdline keymaps (df46f6f), closes #1253
- trigger custom client LSP commands (#1255) (69fe0ed)
New Contributors
- @drzbida made their first contributio...
v0.12.4
Minor hot fix for the v0.12.0 release
Bug Fixes
- add noremap to dot repeat hack (93052a8), closes #1239
- deduplicate enabled providers (505257b), closes #1241
Full Changelog: v0.12.3...v0.12.4
v0.12.3
v0.12.2
Minor hot fix for the v0.12.0 release
Bug Fixes
- use gnu when alpine-release does not exist (1952303)
Full Changelog: v0.12.1...v0.12.2
v0.12.1
Minor hot fix for the v0.12.0 release
Bug Fixes
- always create event listeners for cmdline/term (8a2356a)
- check
cmdline/term.enabled
before listening to events (d24d446) - check if mode-specific configs are enabled before adding sources (#1231) (19f60a6)
New Contributors
- @MariaSolOs made their first contribution in #1231
Full Changelog: v0.12.0...v0.12.1
v0.12.0
Highlights
- Dot repeat (
.
) has been added! Special thanks to @mikavilpas and @xzbdmw- You may disable it with
completion.accept.dot_repeat = false
if you run into issues - Implementation for those curious
- You may disable it with
- Terminal completion (
term
) has been added but there's no sources taking advantage of it at the moment. Contributions welcome! Thanks @wurli! - Mode specific configuration (
cmdline
andterm
) have been moved to their own top-level tables. The most notable moves are:keymap.cmdline
->cmdline.keymap
sources.cmdline
->cmdline.sources
- During scoring, items with exact matches receive a bonus of 4, however if you always want exact matches at the top, you may use the new
exact
sorter:fuzzy.sorts = { 'exact', 'score', 'sort_text' }
- LSP commands are now supported
- Vim documentation has been added via panvimdoc, see limitations
BREAKING CHANGES
- mode-specific config (#1203)
- explicit
snippets.score_offset
option - add
exact
match comparator (#1099) - default
BlinkCmpKind
hl toPmenuKind
Features
- add
accept_and_enter
andselect_accept_and_enter
command (#957) (507d0d7) - add
exact
match comparator (#1099) (d6169f0), closes #1085 - add
omnifunc
completion source (9c1286f) - add asynchronous cc -dumpmachine for libc detection (4ac2c27)
- add client_name to completion item from lsp (6d1d503), closes #1162
- add hints for mode-specific config (035e1ba)
- add lsp command cancellation (62d6ffe)
- add workflow for vimdocs via panvimdoc (a290e35)
- apply lsp commands (#1130) (2de57ce)
- automatic runtime linux libc detection (#1144) (beffa19), closes #160
- bump deps and frizbee with bitmask prefiltering (b078c6e), closes #1105
- default
BlinkCmpKind
hl toPmenuKind
(7ae6d9d) - disable path source when current path segment contains space (0abe117), closes #1126
- efficient LSP item concatenation (f8fd448)
- explicit
snippets.score_offset
option (cf57b2a) - format lua files using stylua (#1179) (567980d)
- ignore range in cmdline completions (f0aeac2), closes #1155 #1092
- include
_
at beginning of buffer words (846a044), closes #1091 - mark command and data as resolvable (ebb2e22)
- mode-specific config (#1203) (93215d8)
- omni: infer completion kind where possible (ce35af0)
- omni: use
complete-functions
info as documentation when available (59c3e21) - only load providers enabled for context (aaad7db), closes #1070
- simplify dot repeat hack (9e95af4), closes #1206
- support custom
draw
function for documentation (b88ba59), closes #1113 - support dot-repeat via
vim.fn.complete
(#1033) (4673d79) - support multi-line dot repeat (a776a09)
- terminal-mode completions (#665) (7b4e546)
Bug Fixes
- add elm to blocked filetypes for auto brackets (844b97a), closes #1226
- avoid exiting completion mode when expanding snippets (0bd150a)
- buffer: add back missing brackets in regex (9f32ef5), closes #964
- cancellation not bubbling to sources (b2485c7), closes #1116 #1115
- close completion window only if open (779afa4), closes #1206
- cmdline incorrect edit range (d832ace), closes #1117 #1161
- don't show signature help when trigger is disabled (#1180) (3b770b0)
- dot repeat no autocmds in win, buf opts, close compl window in insert mode (6431adb)
- dot repeat sending to background (1e7c433), closes #1206
- ensure
TextChangedI
runs last withmini.snippets
(#1035) (7f3d982) - execute requiring cancellation function (d683d8f)
- luadoc: KeymapCommand alias broken (#1153) (03db0dd)
- luasnip duplicate items (f0f34c3), closes #1081
- move cursor correctly with multi-line text edits (ac2ecd6), closes #1123
- outdated Cargo.lock (cdd52ac), closes #1150
- pass resolved item to execute (f22ca35), closes #1219
- path completion in Windows using backward slash (#1152) (575784f)
- revert scheduling feedkeys to close completion menu ([2b7fbe9](https://github.com/Saghen/blink.cm...
v0.11.0
Important
Blink.cmp now fetches the completion items immediately upon entering insert mode by default. More ideas for prefetching are being explored! #706
The fuzzy matcher now explicitly understands typos which should result in more predictable fuzziness on longer strings
BREAKING CHANGES
- set prefetch on insert to true by default
- keymap: add Up/Down keymaps to default preset (#1031)
Features
show_and_select
keymap command (373535e), closes #1004- add
add_filetype_source
API (40d0ce0) - add
BlinkCmp status
command (#809) (86c9676) - add
is_(menu|documentation|ghost_text)_visible
functions (8d29e0e), closes #995 - auto bracket exceptions (e121ec2), closes #1008
- fill in snippet detail if missing in LSP resolve (8f27db5), closes #976
- ghost_text: show_on_unselected (#965) (4a380c1)
- keymap: add Up/Down keymaps to default preset (#1031) (44a67b3)
- menu.draw.columns can be function (#1049) (18b4f1a)
- rename
show_and_select
toshow_and_insert
(595a6a1) - resolve cache by context (4759c4b)
- resolve timeout (f91558e), closes #627
- set prefetch on insert to true by default (c4eafc1)
- signature commands and more events (6da1023), closes #816 #89
- signature: add
window.show_documentation
option (#954) (59982a5), closes #879 - spellchecking with typos-cli (#990) (64cb887)
- support
should_show_items
from sources (fc9276d), closes #972 - support proxy for downloading prebuilt binaries (#1030) (6c296e7)
- use health check for status command (fe9b851)
- use lossy string for lua -> rust conversion (3b4fa80), closes #1000 #1051
Bug Fixes
- add exclusion for
custom,v:lua
completions (#1024) (cee556e) - add signature commands to types (c9b52a7)
- apply detail extraction to lua_ls only (6c87840), closes #896
- auto_insert undo out of date after cursor movement (d0cb8e8), closes #810
- call completion handler directly in input mode only (b19436e), closes #1052
- ci: don't persist credentials in actions/checkout (#991) (1ddd01b)
- cmdline: make completion work for and s: viml function (#925) (fd8859e)
- cmdline: parse for command name if possible (#993) (29c9cf3)
- don't highlight deprecated items with treesitter (c32eca4), closes #1019
- fuzzy: typo introduced in commit
93541e4
(#1027) (55eeffa) - get original cursor before applying text edit in preview (cc490bf), closes #1013
- ghost_text: ensure multiline indent is correct (#934) (b8dbec6)
- help detection triggering on first arg (0632884), closes #1050
- ignore invalid utf-8 vim.v.char (3f9b798), closes #989 #1000
- ignore prefix for non :lua commands (9854978), closes #1075
- lsp: early return on completionItem/resolve (#1055) (80dab4d), closes #1048
- make windows focusable (a5402a1), closes #1001
- memory leak in cached resolve tasks (ef9f85c), closes #1039
- mini.snippets: expand function should have body=snippet (#951) (a993bd8)
- only override if signature is enabled (ce0629f)
- prefix slicing using chars instead of bytes (93541e4), closes #936
- schedule cmdline item building (f74f249), closes #1038
- scrollbar gutter detection with border table (ecbac4b), closes #828
- separate insert/replace ranges for cmdline (a38c6d8), closes #994
- shallow copy luasnip items (712af9f), closes #1006
- stringify parsed snippet when ignoring snippet format (80945db), closes #944
New Contributors
- @xzbdmw made their first contribution in #934
- @bydlw98 made their first contribution in #809
- @joshzcold made their first contribution in https://github.com/Saghen/blink.cmp/pu...
v0.10.0
Important
The luasnip
source has been removed in favor of a snippets.preset = 'luasnip'
option with the snippets
source
completion.list.selection
has been replaced with completion.list.selection.preselect/auto_insert
BREAKING CHANGES
- mini.snippets and snippets presets (#877)
- support
preselect
withauto_insert
, set as default
Features
- add
get_selected_item
public function (9e1e7e6) - mini.snippets and snippets presets (#877) (854ab87)
- set default capabilities on 0.11 (#897) (af1febb)
- support
preselect
withauto_insert
, set as default (8126d0e), closes #668
Bug Fixes
get_char_at_cursor
attempting to get char on empty line (7d6bf9a), closes #926within_query_bounds
including 1 position after bounds (36ba8eb), closes #890 #875- assert vim.lsp.config fn exists before calling (#927) (47efef8)
- buildVimPlugin (#933) (3f5dcbc)
- clear context on ignored cursor moved when not on keyword (0f8de3a), closes #937
- ignore cursor moved when cursor equal before vs after (17eea33)
- signature: use
char_under_cursor
inon_char_added
handler (#935) (275d407), closes #909
New Contributors
- @antoineco made their first contribution in #927
- @ohogb made their first contribution in #935
Full Changelog: v0.9.3...v0.10.0
v0.9.3
Features
- add plaintex, tex and context brackets (9ffdb7b)
- path: replace
/
in front of cursor on directory (d2b411c)
Bug Fixes
- add .repro to gitignore (0d1e3c3)
- cmdline completion new text not including prefix (bc480aa), closes #883
- ignore buffer local treesitter option (d704244), closes #913
- ignore non-key char in cmdline completion (cc0e632), closes #893
- nix: use native gcc on macos (3ab6832), closes #652
- nix: use nix gcc and provide libiconv (#916) (5d2d601)
Full Changelog: v0.9.2...v0.9.3