-
Notifications
You must be signed in to change notification settings - Fork 458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: cmp snippets source selecting issue #1309
Conversation
cmp-nvim-lsp
sources sometime doesn't works
Can repro and can address this issue, but current solution will disable |
I changed the keymaps definition a bit, now only I think this is the only way to guarantee functionality of each keymaps. |
@CharlesChiuGit @ayamir Can u guys still reproduce this after explicitly specifying the argument for the diff --git a/lua/modules/configs/completion/cmp.lua b/lua/modules/configs/completion/cmp.lua
index c0c7f57..06d1d95 100644
--- a/lua/modules/configs/completion/cmp.lua
+++ b/lua/modules/configs/completion/cmp.lua
@@ -110,7 +109,7 @@ return function()
["<C-w>"] = cmp.mapping.close(),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
- cmp.select_next_item()
+ cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
elseif require("luasnip").expand_or_locally_jumpable() then
require("luasnip").expand_or_jump()
else EDIT: Another reason I dislike |
ys, i think the reason why if cmp.visible() then
cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select, count = 1 }),
.... will still have problem is b/c
TBH, i just disable the ghost text in my personal config since it's super annoying loool |
this will fix it. |
i tested again and tried few variations, but the only one that can guarantee "cmp item selection" and "in-snippit jumpping" it current pr. |
2024-06-29-00-10-03.mp4 |
Yeah this function has had its fair share of bugs lol but it might not be the root cause here...?
Here are my observations regarding this:
-- This PR
L130 | ["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select, count = 1 }),
-- Change #1
L130 | ["<C-n>"] = cmp.mapping.select_next_item(),
-- Change #2
L130 | ["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }),
lmao that's fair, and the default select behavior is like adding insult to injury looool |
TBH I don't want to change the behavior of |
Agreed, I will open a new minimal pull request for this and see how far we could get. |
ok, i'll revert |
82d6258
to
5c793ef
Compare
Seems we can merge #1315 and close it? |
i had remove the overlapping part of both prs, we should merge both. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* feat: implement inlay virtual text for rust and go (#759) * feat: implement inlay virtual text for rust and go Signed-off-by: 蔡略 <[email protected]> * fix: go-nvim use lsp-inlayhints.nvim only Signed-off-by: 蔡略 <[email protected]> * refactor: move inlay-hints to `completion` Signed-off-by: 蔡略 <[email protected]> * feat: lua support Signed-off-by: 蔡略 <[email protected]> * chore(inlay-hints): remove `sumneko_lua` * fix: set inlay-hints debug mode off Signed-off-by: 蔡略 <[email protected]> --------- Signed-off-by: 蔡略 <[email protected]> Co-authored-by: Charles Chiu <[email protected]> * workaroud for watchfile problem (#871) * workaroud for watchfile problem * fix CI * Merge branch 'main' * chore(neodim): remove pin commit (#1142) Signed-off-by: Charles Chiu <[email protected]> * fix: remove `specs.nvim` due to long time no update. Signed-off-by: ayamir <[email protected]> * Merge branch 'main' into 0.10 Signed-off-by: ayamir <[email protected]> * refactor: use neovim native inlay-hint. Signed-off-by: ayamir <[email protected]> * fix(lsp): adapt to upstream API, eliminate warning. Signed-off-by: ayamir <[email protected]> * fix(plugins): add nvim-bqf. * fix(go.nvim): adapt upstream api. * feat(plugins): add dropbar.nvim for winbar. Signed-off-by: ayamir <[email protected]> * feat(settings): make enable_inlayhint configurable. Signed-off-by: ayamir <[email protected]> * fixup: check user input, improve robustness. Signed-off-by: ayamir <[email protected]> * fix(clangd): disable clangd for proto. Signed-off-by: ayamir <[email protected]> * fixup: clean redundant config files. * fix(gopls): unify gopls config, allow user overrides. * fixup: clean code. * feat(clang_format): enable clang_format for cuda and protobuf. * fix: inlay_hint error (#1236) * Merge remote-tracking branch 'origin' into 0.10 * fix: lua_ls workspace settings. Signed-off-by: ayamir <[email protected]> * chore: upgrade to new api to judge if is a list. Signed-off-by: ayamir <[email protected]> * chore: use builtin grep_string to search selection. Signed-off-by: ayamir <[email protected]> * chore: general cleanup Signed-off-by: Jint-lzxy <[email protected]> * fix: `inlayhint` -> `inlayhints` Signed-off-by: Jint-lzxy <[email protected]> * fix(ts-autotag): update config format * chore: use vim.uv in place of vim.loop. Signed-off-by: ayamir <[email protected]> * chore: use vim.iter():flattern in place of vim.tbl_flattern. Signed-off-by: ayamir <[email protected]> * chore: update install scripts for nvim 0.10 stable. (#1271) Signed-off-by: ayamir <[email protected]> * chore: replace deprecated apis (#1266) * chore: use vim.lsp.get_clients in place of vim.lsp.get_active_clients. Signed-off-by: ayamir <[email protected]> * chore: use vim.lsp.get_clients in place of vim.lsp.buf_get_clients. Signed-off-by: ayamir <[email protected]> --------- Signed-off-by: ayamir <[email protected]> * fix(toggleterm): use `""` instead of `nil` to fix auto-exit on Windows (#1267) * fix: utilize `ts-context` in `glance` preview window (#1265) * set ts-context floatterm zindex to 50 which greater than 45. default zindex of glance [dnlhc/glance.nvim] floatterm is 45. It can display on glance. Signed-off-by: mjkx <[email protected]> * set trim_scope to inner Signed-off-by: mjkx <[email protected]> * perf: add discription --------- Signed-off-by: mjkx <[email protected]> Co-authored-by: CharlesChiuGit <[email protected]> * chore: use vim.o in place of vim.api.nvim_get_option_value. (#1269) Signed-off-by: ayamir <[email protected]> * fix(0.10): minor cleanup (#1276) Signed-off-by: Jint-lzxy <[email protected]> * feat(scripts): update frequently used functions (#1277) I recently refactored my frequently used commands and thought it would be great to also port that here lol Signed-off-by: Jint-lzxy <[email protected]> * feat(docs): support v0.10 (#1278) * feat(docs): support v0.10 Signed-off-by: Jint-lzxy <[email protected]> * fix instructions Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: Jint-lzxy <[email protected]> * fix(scripts): typo Signed-off-by: Jint-lzxy <[email protected]> * fixup! fix(scripts): typo * feat(README): supports `0.9` -> `0.10` Signed-off-by: Jint-lzxy <[email protected]> * chore: cleanup Signed-off-by: Jint-lzxy <[email protected]> * fix(lualine): ensure all components are properly aligned Signed-off-by: Jint-lzxy <[email protected]> * unlock rustaceanvim Signed-off-by: Jint-lzxy <[email protected]> * feat(lsp): be protective Signed-off-by: Jint-lzxy <[email protected]> * fix: `neovim` -> `Neovim` Signed-off-by: Jint-lzxy <[email protected]> * Revert "fix(lualine): ensure all components are properly aligned" This reverts commit 9be7ffe. * feat: support new options (#1279) Signed-off-by: Jint-lzxy <[email protected]> * feat(trouble)!: v3 support (#1281) * feat(trouble)!: v3 support This PR includes the following changes: - *REMOVED* all features unrelated to the original purpose of trouble.nvim, such as LSP References (Glance.nvim covers this) and qf-list preview (bqf handles this). - Added a custom mapping for searching project diagnostics. This is slightly different from workspace diagnostics: one is defined by the language server itself (e.g., see LuaLS's documentation on workspace diagnostics), while the other is determined with assistance from Project.nvim. - General cleanup: I deliberately excluded LspKind support from our config this time bc imho it's a feature we likely won't use and supporting it is a real hassle. Signed-off-by: Jint-lzxy <[email protected]> * fixup! Missing one option * fix: invoke `utils.load_plugin` Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: Jint-lzxy <[email protected]> * refactor: overhaul the icon library (#1282) This PR significantly updates the icon library by expanding its content, removing duplicates, and organizing icons into more cohesive groups. I've also created a custom Dropbar config that uses these icons and adds toggleterm support. * fix typo * Oops... Missing one icon * fix: invoke `utils.load_plugin` Signed-off-by: Jint-lzxy <[email protected]> * feat(lsp): correctly configure diagnostic-signs (#1280) Signed-off-by: Jint-lzxy <[email protected]> * feat: disable more plugins for RO (buf|file)types (#1284) Signed-off-by: Jint-lzxy <[email protected]> * fix(alpha): cannot cast `string` to `integer` for winheight (#1285) iirc this is deprecated Signed-off-by: Jint-lzxy <[email protected]> * feat(ibl): support per-language indent config (#1287) * feat(ibl): support per-language indent config Signed-off-by: Jint-lzxy <[email protected]> * fixup! feat(ibl): support per-language indent config --------- Signed-off-by: Jint-lzxy <[email protected]> * feat(ibl): more language nodes (#1288) * feat(ibl): more language nodes Signed-off-by: Jint-lzxy <[email protected]> * feat(ibl): even more language nodes Signed-off-by: Charles Chiu <[email protected]> * chore(ibl): sorting Signed-off-by: Charles Chiu <[email protected]> --------- Signed-off-by: Jint-lzxy <[email protected]> Signed-off-by: Charles Chiu <[email protected]> Co-authored-by: Charles Chiu <[email protected]> * feat(luasnip): support ECMAScript regexes (#1291) As per `:h luasnip-lsp-snippets-transformations` Signed-off-by: Jint-lzxy <[email protected]> * feat(core): use the lua API to set options (#1292) Signed-off-by: Jint-lzxy <[email protected]> * feat: include several new plugins (#1235) * feat(cmp): more completion candidates from opened buffers. (#1219) * buffer completion config * opts -> option * chore(lockfile): auto update lazy-lock.json * chore(plugins): tidying up (#1221) This commit mainly tweaks the loading events of some plugins to align with upstream specifications. Additionally, there have been enhancements made to certain documentation. Signed-off-by: Jint-lzxy <[email protected]> * fix(plugins): remove duplicate specifications Signed-off-by: Jint-lzxy <[email protected]> * fix: use `init` for vim plugins (#1222) Signed-off-by: ayamir <[email protected]> * chore(lockfile): auto update lazy-lock.json * docs: mention the experimental nature of the 0.10 branch (#1215) * docs: add note for 0.10 nightly branch in readme. Signed-off-by: ayamir <[email protected]> * chore(issue_template): add nightly warning Signed-off-by: Charles Chiu <[email protected]> * chore(issue_tempate): linting Signed-off-by: Charles Chiu <[email protected]> * docs: update readme for 0.10 branch. Co-authored-by: Jint-lzxy <[email protected]> Signed-off-by: Mohu <[email protected]> * chore(issue_template): add nightly warning Signed-off-by: Charles Chiu <[email protected]> * chore(issue_template): add nightly warning Signed-off-by: Charles Chiu <[email protected]> --------- Signed-off-by: ayamir <[email protected]> Signed-off-by: Charles Chiu <[email protected]> Signed-off-by: Mohu <[email protected]> Signed-off-by: Jint-lzxy <[email protected]> Co-authored-by: Charles Chiu <[email protected]> Co-authored-by: Jint-lzxy <[email protected]> * fix(ISSUE_TEMPLATE): format code Signed-off-by: Jint-lzxy <[email protected]> * fix(README): misplaced content Signed-off-by: Jint-lzxy <[email protected]> * fix(todo-comment): add missing keywords (#1225) Signed-off-by: Charles Chiu <[email protected]> * chore(lockfile): auto update lazy-lock.json * fix(options): remove options managed by `vim-sleuth` (#1229) Since all tab-related stuff is now managed by `vim-sleuth`, I think it is better to remove the relevant options to avoid confusion. Signed-off-by: Jint-lzxy <[email protected]> * chore(lockfile): auto update lazy-lock.json * fix(rustaceanvim): use `init` for its config (#1231) Signed-off-by: Jint-lzxy <[email protected]> * chore(lockfile): auto update lazy-lock.json * feat!: improve go development experience (#1226) * chore(go): replace vim-go with go.nvim. Signed-off-by: ayamir <[email protected]> * fix: install gopls by mason by default. Signed-off-by: ayamir <[email protected]> * feat(keymap): set `n|gi` to goto implementation. Signed-off-by: ayamir <[email protected]> * chore(keymap): use `gm` to jump to lsp implementations Co-authored-by: 冷酔閑吟 <[email protected]> Signed-off-by: Mohu <[email protected]> * fixup: remove unused `map_cu`. * chore: use gopls instead of null-ls to format. Signed-off-by: ayamir <[email protected]> * chore: add notes for config options. Signed-off-by: ayamir <[email protected]> * fixup: tidy settings for go.nvim and gopls. * docs: update more notes for how to config go.nvim. * chore: cleanup Signed-off-by: Jint-lzxy <[email protected]> * fix: enable only the options that are truly necessary Signed-off-by: Jint-lzxy <[email protected]> * fixup! chore: cleanup * fix(gopls): invalid config entry Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: ayamir <[email protected]> Signed-off-by: Mohu <[email protected]> Signed-off-by: Jint-lzxy <[email protected]> Co-authored-by: 冷酔閑吟 <[email protected]> Co-authored-by: neogtliu <[email protected]> * feat!: add `advanced-git-search.nvim` * feat!: add `search.nvim` to enhance `telescope`. * feat: reorganize keymaps for telescope search collections. Signed-off-by: ayamir <[email protected]> * fixup: update descriptions for modified keymaps. * chore: remove single diagnostic disable for undefined-field. Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * chore: remove diagnostic disable for undefined-field. * feat!: replace `colorizer.lua` with `nvim-highlight-colors` * fix: invoke `utils.load_plugin` Signed-off-by: Jint-lzxy <[email protected]> * chore(advanced-git-search): remove unused options Signed-off-by: Jint-lzxy <[email protected]> * feat(telescope): add collection panel for `search.nvim` * chore: typo * feat: more documentation Signed-off-by: Jint-lzxy <[email protected]> * chore: clean up * feat: don't hard-code collection names * chore: use custom loader * fix: disable warning * fix: CI & cleanup Signed-off-by: Jint-lzxy <[email protected]> * Revert `lazy-lock.json` Signed-off-by: Jint-lzxy <[email protected]> * fix: make luaJIT happy Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: Jint-lzxy <[email protected]> Signed-off-by: ayamir <[email protected]> Signed-off-by: Charles Chiu <[email protected]> Signed-off-by: Mohu <[email protected]> Co-authored-by: mjkx <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: 冷酔閑吟 <[email protected]> Co-authored-by: Mohu <[email protected]> Co-authored-by: neogtliu <[email protected]> * feat: better way to check if the (T|G)UI is running (#1297) Signed-off-by: Jint-lzxy <[email protected]> * chore(global): cleanup legacy code (#1296) Signed-off-by: Jint-lzxy <[email protected]> * feat: reduce the use of direct syscalls (#1294) * feat: reduce the use of direct syscalls Signed-off-by: Jint-lzxy <[email protected]> * fix: typo Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: Jint-lzxy <[email protected]> * fix(events): avoid name clashes (#1295) Signed-off-by: Jint-lzxy <[email protected]> * Feat/telescope collections keymaps (#1299) * feat(telescope): add some new plugins for `search.nvim` * fixup: correct alpha-nvim config. * feat: more resonable keymap, add notify to misc. Signed-off-by: ayamir <[email protected]> --------- Signed-off-by: ayamir <[email protected]> Co-authored-by: ayamir <[email protected]> * fix(gitsigns): upstream breaking changes (#1300) See lewis6991/gitsigns.nvim@3d7e49c Signed-off-by: Jint-lzxy <[email protected]> * fix(core): missing leading path separator (#1301) Signed-off-by: Jint-lzxy <[email protected]> * Revert "Feat/telescope collections keymaps (#1299)" (#1302) This reverts commit 93c06cd. * Feat/telescope collections keymaps (#1303) * feat(telescope): add some new plugins for `search.nvim` * fixup: correct alpha-nvim config. * feat: more resonable keymap, add notify to misc. Signed-off-by: ayamir <[email protected]> * revert: local cmp changes. * fix: update alpha-nvim config. * chore: update doc strings Signed-off-by: Jint-lzxy <[email protected]> * Update lua/modules/configs/ui/alpha.lua Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * Update lua/modules/configs/ui/alpha.lua Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * Update lua/modules/configs/ui/alpha.lua Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * Update lua/modules/configs/ui/alpha.lua Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * Update lua/modules/configs/ui/alpha.lua Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * feat: update dotstutor. Signed-off-by: ayamir <[email protected]> * feat: correct several minor issues Signed-off-by: Jint-lzxy <[email protected]> * chore: cleanup Signed-off-by: Jint-lzxy <[email protected]> * feat!: mnemonic keymaps Signed-off-by: Jint-lzxy <[email protected]> --------- Signed-off-by: ayamir <[email protected]> Signed-off-by: Jint-lzxy <[email protected]> Signed-off-by: Mohu <[email protected]> Co-authored-by: CharlesChiuGit <[email protected]> Co-authored-by: Jint-lzxy <[email protected]> * feat(treesitter): lessened performance restrictions (#1305) * feat(treesitter): lessened performance restrictions This commit lifts some of the performance restrictions previously imposed on Treesitter when incremental parsing was not yet supported. Specifically: Treesitter will now only be disabled by default for files exceeding 7,500 lines or 2 MiB in size. Testing on an Intel i9-9880H with an APPLE SSD AP1024N shows noticeable lag at these thresholds. Signed-off-by: Jint-lzxy <[email protected]> * fixup: return correct value. --------- Signed-off-by: Jint-lzxy <[email protected]> Co-authored-by: ayamir <[email protected]> * chore: update plugin author's name Signed-off-by: Charles Chiu <[email protected]> * feat(nixos): add `mergeLazyLock` option (#1310) * feat(nixos): add copyLazyLock option * fix(nixos): fix code style accepted modification proposed by nixd see more nix's code style best practice below url https://nix.dev/guides/best-practices * fix(nixos): rename copyLazyLock to mergeLazyLock * fix(nixos): fix discription * fix: cmp snippets source selecting issue (#1309) * migrate(cmp): `cmp_nvim_lsp` capabilities API update * feat(cmp): make `<CR>` safer * fix(cmp): occasional inability to select completion items (#1315) Signed-off-by: Jint-lzxy <[email protected]> Signed-off-by: ayamir <[email protected]> Co-authored-by: ayamir <[email protected]> * feat: credit all collaborators as copyright holders (#1316) Signed-off-by: Jint-lzxy <[email protected]> * feat: make format timeout configurable (#1275) * feat&refactor: make format timeout configurable, refactor format-related options. * chore(settings): set `format_modifications_only` to `false` to prevent possible ci issues Signed-off-by: Charles Chiu <[email protected]> * fix: set timeout for null-ls considering range format capability. this commit also revert the settings structure b/c we can refactor it in another PR. * fixup: fix ci. * fix: remove redundant notification. * fixup: fix notify logic and CI. * fixup: merge judgements. Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: Mohu <[email protected]> * fixup: remove redundant judge. * docs: more accurate comment note. Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: ayamir <[email protected]> * fix: wrong require source. Co-authored-by: jint_lzxy_ <[email protected]> Signed-off-by: ayamir <[email protected]> --------- Signed-off-by: Charles Chiu <[email protected]> Signed-off-by: Mohu <[email protected]> Signed-off-by: ayamir <[email protected]> Co-authored-by: Charles Chiu <[email protected]> Co-authored-by: jint_lzxy_ <[email protected]> --------- Signed-off-by: 蔡略 <[email protected]> Signed-off-by: ayamir <[email protected]> Signed-off-by: Charles Chiu <[email protected]> Signed-off-by: Jint-lzxy <[email protected]> Signed-off-by: mjkx <[email protected]> Signed-off-by: Mohu <[email protected]> Signed-off-by: ayamir <[email protected]> Co-authored-by: ClSlaid <[email protected]> Co-authored-by: Charles Chiu <[email protected]> Co-authored-by: Xie Zejian <[email protected]> Co-authored-by: Jint-lzxy <[email protected]> Co-authored-by: Mythos_404 <[email protected]> Co-authored-by: mjkx <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: neogtliu <[email protected]> Co-authored-by: MiSumiSumi <[email protected]>
still trying to pin-point what's the cause.How to reproduce 2.
local fu
(or other keywords that can trigger snippets) and wait for the cmp windows to pop.<Tab>
to select the first cmp item.It will keep flashing but won't select any cmp item. However, it can somehow use
<Up>
and<Down>
to select the cmp item.This error doesn't limited to
cmp-nvim-lsp
, sometimesluasnip
has this issue too.I think this issue is mostly related to snippets.
recording.mov