luozhiya/fittencode.nvim

c++ 补全换行问题。

cxwx opened this issue · 7 comments

cxwx commented

\n
无法正确使用,

配置使用 nvim-cmp

截屏2024-05-24 17 31 24 截屏2024-05-24 17 32 30

@cxwx

多行补全需要设置一下cmp

mapping = { ['<cr>'] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = false }), }
cxwx commented

应该是我的 tab 配置出现问题,
当仅有1个fittencode补全的时候会自动填充,

          ["<Tab>"] = cmp.mapping(function(fallback)
            if cmp.visible() then
              cmp.select_next_item()
            elseif luasnip.expand_or_jumpable() then
              luasnip.expand_or_jump()
            else
              fallback()
            end
          end, { "i", "s" }),

这个 select_next_item 该如何改?

@cxwx

您找到解决方法了吗

cxwx commented

我同时开Codeium Tabnine 和 fittencode,补全不止一行,就不会出问题😆😆😆

@cxwx

这个问题挺奇怪的,按 cmp 设计,多行要正确展开要调用 conform,用 Tab (select_next_item) 的话,只能插入第一行。
在只有一个补全的情况下,也需要用 conform 来展开。

#102 中改进了一下 cmp,支持 多行 ghost_text
另外去掉了首行是空行的补全,因为 cmp 会剪裁掉空行,使得结果不一致。

cxwx commented

我感觉cmp只是个过度方案,插件太混乱,迟早要被替代,只是目前没有