zbirenbaum / copilot-cmp

Lua plugin to turn github copilot into a cmp source
MIT License
1.11k stars 40 forks source link

Snippet only on one line #10

Closed Ganitzsh closed 1 year ago

Ganitzsh commented 2 years ago

Hello again!

First a little follow-up on #3, it seems it's working much better now, I'm now using 0.7 and I have the latest version of your plugins.

I'm now facing another issue, but I'm not certain it's related to your plugin specifically. What happens is that the snippets suggested only cover one line: Screenshot 2022-04-21 at 15 35 13

This suggestion from copilot is not displaying more than one line, and I'm sure it's not supposed to be that short, and it doesn't matter if I select it, it remains short.

In comparison, here is a snippet related to typescript in this case: Screenshot 2022-04-21 at 15 36 29

This one generates the expected snippet on multiple lines.

My config is the following:

Packer:

      {
         "zbirenbaum/copilot.lua",
         event = { "VimEnter" },
         config = function()
            vim.defer_fn(function()
               require("copilot").setup()
            end, 100)
         end,
      },
      {
         "zbirenbaum/copilot-cmp",
         after = { "copilot.lua", "nvim-cmp" },
      },

nvim-cmp:

   snippet = {
      expand = function(args)
         require("luasnip").lsp_expand(args.body)
      end,
   },
   formatting = {
      format = function(entry, vim_item)
         local icons = require "plugins.configs.lspkind_icons"
         vim_item.kind = string.format("%s %s", icons[vim_item.kind], vim_item.kind)

         vim_item.menu = ({
            nvim_lsp = "[LSP]",
            nvim_lua = "[Lua]",
            buffer = "[BUF]",
         })[entry.source.name]

         return vim_item
      end,
   },
   mapping = {
      ["<C-p>"] = cmp.mapping.select_prev_item(),
      ["<C-n>"] = cmp.mapping.select_next_item(),
      ["<C-d>"] = cmp.mapping.scroll_docs(-4),
      ["<C-f>"] = cmp.mapping.scroll_docs(4),
      ["<C-Space>"] = cmp.mapping.complete(),
      ["<C-e>"] = cmp.mapping.close(),
      ["<CR>"] = cmp.mapping.confirm {
         behavior = cmp.ConfirmBehavior.Replace,
         select = true,
      },
      ["<Tab>"] = cmp.mapping(function(fallback)
         if cmp.visible() then
            cmp.select_next_item()
         elseif require("luasnip").expand_or_jumpable() then
            vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "")
         else
            fallback()
         end
      end, { "i", "s" }),
      ["<S-Tab>"] = cmp.mapping(function(fallback)
         if cmp.visible() then
            cmp.select_prev_item()
         elseif require("luasnip").jumpable(-1) then
            vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "")
         else
            fallback()
         end
      end, { "i", "s" }),
   },
   sources = {
      { name = "copilot" },
      { name = "nvim_lsp" },
      { name = "luasnip" },
      { name = "buffer" },
      { name = "nvim_lua" },
      { name = "path" },
   },
lukebarton commented 5 months ago

I'm still having this issue w/ golang via LazyVim's copilot extra w/ default settings.