You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -102,8 +118,6 @@ TODO: `nvim-cmp` sources are supported out of the box but migration to the `blin
102
118
-- which directions to show the window,
103
119
-- falling back to the next direction when there's not enough space
104
120
direction_priority= { 'n', 's' },
105
-
-- whether to preselect the first item in the window
106
-
preselect=true,
107
121
},
108
122
documentation= {
109
123
min_width=10,
@@ -117,15 +131,19 @@ TODO: `nvim-cmp` sources are supported out of the box but migration to the `blin
117
131
autocomplete_south= { 'e', 'w', 's', 'n' },
118
132
},
119
133
auto_show=true,
120
-
delay_ms=0,
121
-
debounce_ms=100,
134
+
auto_show_delay_ms=0,
135
+
update_delay_ms=100,
122
136
},
123
137
},
124
138
125
139
highlight= {
126
140
ns=vim.api.nvim_create_namespace('blink_cmp'),
141
+
-- sets the fallback highlight groups to nvim-cmp's highlight groups
142
+
-- useful for when your theme doesn't support blink.cmp
127
143
use_nvim_cmp_as_default=false,
128
144
},
145
+
146
+
nerd_font_variant='mono',
129
147
kind_icons= {
130
148
Text='',
131
149
Method='',
@@ -171,15 +189,15 @@ The plugin use a 4 stage pipeline: trigger -> sources -> fuzzy -> render
171
189
172
190
**Trigger:** Controls when to request completion items from the sources and provides a context downstream with the current query (i.e. `hello.wo|`, the query would be `wo`) and the treesitter object under the cursor (i.e. for intelligently enabling/disabling sources). It respects trigger characters passed by the LSP (or any other source) and includes it in the context for sending to the LSP.
173
191
174
-
**Sources:** Provides a common interface for and merges the results of completion, trigger character, resolution of additional information and cancellation. It also provides a compatibility layer to `nvim-cmp`'s sources. Many sources are builtin: `LSP`, `buffer`, `treesitter`, `path`, `snippets`
192
+
**Sources:** Provides a common interface for and merges the results of completion, trigger character, resolution of additional information and cancellation. It also provides a compatibility layer to `nvim-cmp`'s sources. Some sources are builtin: `LSP`, `buffer`, `path`, `snippets`
175
193
176
194
**Fuzzy:** Rust <-> Lua FFI which performs both filtering and sorting of the items
177
195
178
196
**Filtering:** The fuzzy matching uses smith-waterman, same as FZF, but implemented in SIMD for ~6x the performance of FZF (todo: add benchmarks). Due to the SIMD's performance, the prefiltering phase on FZF was dropped to allow for typos. Similar to fzy/fzf, additional points are given to prefix matches, characters with capitals (to promote camelCase/PascalCase first char matching) and matches after delimiters (to promote snake_case first char matching)
179
197
180
-
**Sorting:** Combines fuzzy matching score with frecency and proximity bonus. Each completion item may also include a `score_offset` which will be added to this score to demote certain sources. The `buffer` and `snippets`sources take advantage of this to avoid taking presedence over the LSP source. The paramaters here still need to be tuned and have been exposed, so please let me know if you find some magical parameters!
198
+
**Sorting:** Combines fuzzy matching score with frecency and proximity bonus. Each completion item may also include a `score_offset` which will be added to this score to demote certain sources. The `snippets`source takes advantage of this to avoid taking presedence over the LSP source. The paramaters here still need to be tuned, so please let me know if you find some magical parameters!
181
199
182
-
**Render:** Responsible for placing the autocomplete, documentation and function parameters windows. All of the rendering can be overriden following a syntax similar to incline.nvim. It uses the neovim window decoration provider to provide next to no overhead from highlighting.
200
+
**Windows:** Responsible for placing the autocomplete, documentation and function parameters windows. All of the rendering can be overriden following a syntax similar to incline.nvim. It uses the neovim window decoration provider to provide next to no overhead from highlighting.
183
201
184
202
## Compared to nvim-cmp
185
203
@@ -190,7 +208,7 @@ The plugin use a 4 stage pipeline: trigger -> sources -> fuzzy -> render
190
208
- Setting nvim-cmp's debounce to 0ms leads to visible stuttering. If you'd like to stick with nvim-cmp, try [yioneko's fork](https://github.com/yioneko/nvim-cmp)
191
209
- Boosts completion item score via frecency *and* proximity bonus. nvim-cmp only boosts score via proximity bonus
0 commit comments