diff options
| -rw-r--r-- | lua/lvim/core/cmp.lua | 63 | ||||
| -rw-r--r-- | lua/lvim/icons.lua | 9 | 
2 files changed, 72 insertions, 0 deletions
| diff --git a/lua/lvim/core/cmp.lua b/lua/lvim/core/cmp.lua index 319bdc64..d302ce5f 100644 --- a/lua/lvim/core/cmp.lua +++ b/lua/lvim/core/cmp.lua @@ -19,6 +19,7 @@ end  local function feedkeys(key, mode)    vim.api.nvim_feedkeys(T(key), mode, true)  end +  M.methods.feedkeys = feedkeys  ---when inside a snippet, seeks to the nearest luasnip field if possible, and checks if it is jumpable @@ -113,6 +114,7 @@ local function jumpable(dir)      return luasnip.in_snippet() and seek_luasnip_cursor_node() and luasnip.jumpable(1)    end  end +  M.methods.jumpable = jumpable  M.config = function() @@ -152,6 +154,7 @@ M.config = function()          luasnip = "(Snippet)",          buffer = "(Buffer)",          tmux = "(TMUX)", +        copilot = "(Copilot)",        },        duplicates = {          buffer = 1, @@ -167,6 +170,36 @@ M.config = function()          end          if lvim.use_icons then            vim_item.kind = lvim.builtin.cmp.formatting.kind_icons[vim_item.kind] + +          -- TODO: not sure why I can't put this anywhere else +          vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#6CC644" }) +          if entry.source.name == "copilot" then +            vim_item.kind = lvim.icons.git.Octoface +            vim_item.kind_hl_group = "CmpItemKindCopilot" +          end + +          vim.api.nvim_set_hl(0, "CmpItemKindTabnine", { fg = "#CA42F0" }) +          if entry.source.name == "cmp_tabnine" then +            vim_item.kind = lvim.icons.misc.Robot +            vim_item.kind_hl_group = "CmpItemKindTabnine" +          end + +          vim.api.nvim_set_hl(0, "CmpItemKindCrate", { fg = "#F64D00" }) +          if entry.source.name == "crates" then +            vim_item.kind = lvim.icons.misc.Package +            vim_item.kind_hl_group = "CmpItemKindCrate" +          end + +          if entry.source.name == "lab.quick_data" then +            vim_item.kind = lvim.icons.misc.CircuitBoard +            vim_item.kind_hl_group = "CmpItemKindConstant" +          end + +          vim.api.nvim_set_hl(0, "CmpItemKindEmoji", { fg = "#FDE030" }) +          if entry.source.name == "emoji" then +            vim_item.kind = lvim.icons.misc.Smiley +            vim_item.kind_hl_group = "CmpItemKindEmoji" +          end          end          vim_item.menu = lvim.builtin.cmp.formatting.source_names[entry.source.name]          vim_item.dup = lvim.builtin.cmp.formatting.duplicates[entry.source.name] @@ -184,6 +217,36 @@ M.config = function()        documentation = cmp.config.window.bordered(),      },      sources = { +      { +        name = "copilot", +        -- keyword_length = 0, +        max_item_count = 3, +        trigger_characters = { +          { +            ".", +            ":", +            "(", +            "'", +            '"', +            "[", +            ",", +            "#", +            "*", +            "@", +            "|", +            "=", +            "-", +            "{", +            "/", +            "\\", +            "+", +            "?", +            " ", +            -- "\t", +            -- "\n", +          }, +        }, +      },        { name = "nvim_lsp" },        { name = "path" },        { name = "luasnip" }, diff --git a/lua/lvim/icons.lua b/lua/lvim/icons.lua index 40a83ac9..d0f0cf69 100644 --- a/lua/lvim/icons.lua +++ b/lua/lvim/icons.lua @@ -142,4 +142,13 @@ return {      Debug = "",      Trace = "✎",    }, +  misc = { +    Robot = "ﮧ", +    Squirrel = "", +    Tag = "", +    Watch = "", +    Smiley = "ﲃ", +    Package = "", +    CircuitBoard = "", +  },  } | 
