98 lines
2.4 KiB
Lua
98 lines
2.4 KiB
Lua
|
local kind_icons = {
|
|||
|
NONE = "",
|
|||
|
Array = "",
|
|||
|
Boolean = "⊨",
|
|||
|
Class = "",
|
|||
|
Constructor = "",
|
|||
|
Key = "",
|
|||
|
Namespace = "",
|
|||
|
Null = "NULL",
|
|||
|
Number = "#",
|
|||
|
Object = "⦿",
|
|||
|
Package = "",
|
|||
|
Property = "",
|
|||
|
Reference = "",
|
|||
|
Snippet = "",
|
|||
|
String = "𝓐",
|
|||
|
TypeParameter = "",
|
|||
|
Unit = "",
|
|||
|
|
|||
|
Text = "",
|
|||
|
Method = "",
|
|||
|
Function = "",
|
|||
|
Field = "ﰠ",
|
|||
|
Variable = "",
|
|||
|
Interface = "",
|
|||
|
Module = "",
|
|||
|
Value = "",
|
|||
|
Enum = "",
|
|||
|
Keyword = "",
|
|||
|
Color = "",
|
|||
|
File = "",
|
|||
|
Folder = "",
|
|||
|
EnumMember = "",
|
|||
|
Constant = "",
|
|||
|
Struct = "פּ",
|
|||
|
Event = "",
|
|||
|
Operator = "",
|
|||
|
Copilot = "",
|
|||
|
}
|
|||
|
local cmp = require("cmp")
|
|||
|
-- local has_words_before = function()
|
|||
|
-- if vim.api.nvim_buf_get_option(0, "buftype") == "prompt" then return false end
|
|||
|
-- local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
|||
|
-- return col ~= 0 and vim.api.nvim_buf_get_text(0, line - 1, 0, line - 1, col, {})[1]:match("^%s*$") == nil
|
|||
|
-- end
|
|||
|
return {
|
|||
|
formatting = {
|
|||
|
fields = { "kind", "abbr", "menu" },
|
|||
|
format = function(_, vim_item)
|
|||
|
vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
|
|||
|
return vim_item
|
|||
|
end,
|
|||
|
},
|
|||
|
-- completion = {
|
|||
|
-- keyword_length = 0,
|
|||
|
-- },
|
|||
|
-- mapping = {
|
|||
|
-- ["<Tab>"] = vim.schedule_wrap(function(fallback)
|
|||
|
-- if cmp.visible() and has_words_before() then
|
|||
|
-- cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
|
|||
|
-- else
|
|||
|
-- fallback()
|
|||
|
-- end
|
|||
|
-- end),
|
|||
|
-- ['<Tab>'] = cmp.mapping(function(fallback)
|
|||
|
-- if vim.fn['vsnip#jumpable'](1) == 1 then
|
|||
|
-- feedkey('<Plug>(vsnip-jump-next)', '')
|
|||
|
-- else
|
|||
|
-- local copilot_keys = vim.fn['copilot#Accept']()
|
|||
|
-- if copilot_keys ~= '' then
|
|||
|
-- vim.api.nvim_feedkeys(copilot_keys, 'i', true)
|
|||
|
-- else
|
|||
|
-- fallback()
|
|||
|
-- end
|
|||
|
-- end
|
|||
|
-- end, { 'i', 's' }),
|
|||
|
-- },
|
|||
|
}
|
|||
|
-- local cmp = require "cmp"
|
|||
|
-- local luasnip = require "luasnip"
|
|||
|
-- return {
|
|||
|
-- preselect = cmp.PreselectMode.None,
|
|||
|
-- mapping = {
|
|||
|
-- ["<CR>"] = cmp.mapping.confirm { select = false },
|
|||
|
-- ["<Tab>"] = cmp.mapping(function(fallback)
|
|||
|
-- if luasnip.expandable() then
|
|||
|
-- luasnip.expand()
|
|||
|
-- elseif luasnip.expand_or_jumpable() then
|
|||
|
-- luasnip.expand_or_jump()
|
|||
|
-- fallback()
|
|||
|
-- end
|
|||
|
-- end, {
|
|||
|
-- "i",
|
|||
|
-- "s",
|
|||
|
-- }),
|
|||
|
-- },
|
|||
|
-- }
|