Skip to content

Releases: Saghen/blink.cmp

v0.13.1

27 Feb 17:53
v0.13.1
dcda20d
Compare
Choose a tag to compare

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 and implementationn = "rust" (#1334) (2c8e4c7)
  • lua fuzzy implementation off by 1 and suffix matching (2c1524f), closes #1335
  • mini snippets validation (c412578), closes #1332 #1342

New Contributors

Full Changelog: v0.13.0...v0.13.1

v0.13.0

26 Feb 19:53
v0.13.0
705f20f
Compare
Choose a tag to compare

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
  • Prebuilt binaries should now work on systems as old as Ubuntu 14.04
  • Slow completions with multiple LSPs (especially tailwind and emmet) has been resolved
  • Sources may now define kind_icon, kind_hl and kind_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 to PmenuExtra (#1284)
  • disable accidentally enabled exact sorter
  • set BlinkCmpLabel(Deprecated|Description|Detail) to PmenuExtra
  • revert cmdline draw config to default

Features

  • kind_icon and kind_name on completion items (010d939), closes #984
  • add get_selected_item_idx and get_items API (dc267e0), closes #242
  • add show_with_menu and show_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) to PmenuExtra (3a97722)
  • set BlinkCmpSource highlight to PmenuExtra (#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...
Read more

v0.12.4

16 Feb 21:20
v0.12.4
18b352d
Compare
Choose a tag to compare

Minor hot fix for the v0.12.0 release

Bug Fixes

Full Changelog: v0.12.3...v0.12.4

v0.12.3

16 Feb 02:07
v0.12.3
cc2f10e
Compare
Choose a tag to compare

Minor hot fix for the v0.12.0 release

Bug Fixes

  • move cursor for auto brackets in dot repeat (5007e54), closes #1233

Full Changelog: v0.12.2...v0.12.3

v0.12.2

15 Feb 23:03
v0.12.2
4780af2
Compare
Choose a tag to compare

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

15 Feb 22:58
v0.12.1
0c83fb1
Compare
Choose a tag to compare

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

Full Changelog: v0.12.0...v0.12.1

v0.12.0

15 Feb 21:23
v0.12.0
426a605
Compare
Choose a tag to compare

Highlights

  • Dot repeat (.) has been added! Special thanks to @mikavilpas and @xzbdmw
  • 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 and term) 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 to PmenuKind

Features

  • add accept_and_enter and select_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 to PmenuKind (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

Read more

v0.11.0

25 Jan 18:09
v0.11.0
b6f11a0
Compare
Choose a tag to compare

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 to show_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

Read more

v0.10.0

08 Jan 00:28
v0.10.0
1cc3b1a
Compare
Choose a tag to compare

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 with auto_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 with auto_insert, set as default (8126d0e), closes #668

Bug Fixes

  • get_char_at_cursor attempting to get char on empty line (7d6bf9a), closes #926
  • within_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 in on_char_added handler (#935) (275d407), closes #909

New Contributors

Full Changelog: v0.9.3...v0.10.0

v0.9.3

06 Jan 16:49
v0.9.3
5b0f52d
Compare
Choose a tag to compare

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