aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/completition
diff options
context:
space:
mode:
authorElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
committerElvis Claros Castro <elvis@claros.ar>2024-07-12 11:18:14 -0300
commitea0f4bf8ffade657b1d45152dbc183d4679e75c4 (patch)
treecc1fb023bc308e019ddce33a4b0aed39f56805dc /lua/alpha/completition
parent1fd0af14d592d612c2aaab7717c04c8806ba3daa (diff)
downloadnvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.tar.gz
nvim-conf-ea0f4bf8ffade657b1d45152dbc183d4679e75c4.zip
Feat: PI
Diffstat (limited to 'lua/alpha/completition')
-rw-r--r--lua/alpha/completition/init.lua205
1 files changed, 0 insertions, 205 deletions
diff --git a/lua/alpha/completition/init.lua b/lua/alpha/completition/init.lua
deleted file mode 100644
index 667e30b..0000000
--- a/lua/alpha/completition/init.lua
+++ /dev/null
@@ -1,205 +0,0 @@
-local cmp = require "cmp"
-local lspkind = require "lspkind"
-local luasnip = require "luasnip"
-local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-local compare = require "cmp.config.compare"
-
-cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })
-
-cmp.setup {
- window = {
- completion = {
- border = "rounded",
- -- winhighlight = 'Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None',
- -- winblend = vim.o.pumblend,
- -- scrolloff = 0,
- -- col_offset = 0,
- -- side_padding = 1,
- -- scrollbar = true,
- },
- documentation = {
- -- max_height = math.floor(WIDE_HEIGHT * (WIDE_HEIGHT / vim.o.lines)),
- -- max_width = math.floor((WIDE_HEIGHT * 2) * (vim.o.columns / (WIDE_HEIGHT * 2 * 16 / 9))),
- border = "rounded",
- -- winhighlight = 'FloatBorder:NormalFloat',
- -- winblend = vim.o.pumblend,
- },
- },
- mapping = {
- ["<C-d>"] = cmp.mapping.scroll_docs(-4),
- ["<C-f>"] = cmp.mapping.scroll_docs(4),
- ["<C-e>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.close()
- elseif luasnip.expand_or_jumpable() then
- luasnip.expand_or_jump()
- else
- fallback()
- end
- end, { "i", "s" }),
- ["<C-n>"] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- elseif luasnip.choice_active() then
- luasnip.change_choice(1)
- else
- fallback()
- end
- end, { "i", "s" }),
- ["<C-p>"] = cmp.mapping.select_prev_item(),
- ["<C-l>"] = cmp.mapping.select_next_item(),
- ["<C-y>"] = cmp.mapping.confirm {
- behavior = cmp.ConfirmBehavior.Insert,
- select = true,
- },
- ["<c-space>"] = cmp.mapping.complete(),
- },
- sources = {
- { name = "dictionary" },
- { name = "nvim_lua" },
- { name = "nvim_lsp" },
- { name = "path" },
- { name = "luasnip" },
- { name = "copilot" },
- {
- name = "buffer",
- keyword_length = 4,
- option = {
- get_bufnrs = function()
- local bufs = {}
- for _, win in ipairs(vim.api.nvim_list_wins()) do
- local bufnr = vim.api.nvim_win_get_buf(win)
- if vim.api.nvim_buf_get_option(bufnr, "buftype") ~= "terminal" then
- bufs[bufnr] = true
- end
- end
- return vim.tbl_keys(bufs)
- end,
- },
- },
- },
-
- snippet = {
- expand = function(args)
- require("luasnip").lsp_expand(args.body)
- end,
- },
-
- formatting = {
- format = function (entry, vim_item)
- lspkind.cmp_format {
- with_text = true,
- menu = {
- buffer = "[buf]",
- nvim_lsp = "[ ]",
- nvim_lua = "[api]",
- path = "[path]",
- luasnip = "[snip]",
- copilot = "[ﮧ ]",
- ["vim-dadbod-completion"] = "[DB]",
- },
- }
- local KIND_ICONS = {
- Tailwind = '󰹞󰹞󰹞󰹞󰹞󰹞󰹞󰹞',
- Color = ' ',
- -- Class = 7,
- -- Constant = '󰚞',
- -- Constructor = 4,
- -- Enum = 13,
- -- EnumMember = 20,
- -- Event = 23,
- -- Field = 5,
- -- File = 17,
- -- Folder = 19,
- -- Function = 3,
- -- Interface = 8,
- -- Keyword = 14,
- -- Method = 2,
- -- Module = 9,
- -- Operator = 24,
- -- Property = 10,
- -- Reference = 18,
- Snippet = " ",
- -- Struct = 22,
- -- Text = "",
- -- TypeParameter = 25,
- -- Unit = 11,
- -- Value = 12,
- -- Variable = 6
- }
- if vim_item.kind == 'Color' and entry.completion_item.documentation then
- local _, _, r, g, b =
- ---@diagnostic disable-next-line: param-type-mismatch
- string.find(entry.completion_item.documentation, '^rgb%((%d+), (%d+), (%d+)')
-
- if r and g and b then
- local color = string.format('%02x', r) .. string.format('%02x', g) .. string.format('%02x', b)
- local group = 'Tw_' .. color
-
- if vim.api.nvim_call_function('hlID', { group }) < 1 then
- vim.api.nvim_command('highlight' .. ' ' .. group .. ' ' .. 'guifg=#' .. color)
- end
-
- vim_item.kind = KIND_ICONS.Tailwind
- vim_item.kind_hl_group = group
-
- return vim_item
- end
- end
-
- vim_item.kind = KIND_ICONS[vim_item.kind] or vim_item.kind
- return vim_item
- end
- },
-
- sorting = {
- priority_weight = 2,
- comparators = {
- compare.kind,
- compare.sort_text,
- },
- },
-
- experimental = {
- native_menu = false,
-
- ghost_text = false,
- },
-}
-
-vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#6CC644" })
-
--- Set configuration for specific filetype.
-cmp.setup.filetype("gitcommit", {
- sources = cmp.config.sources({
- { name = "cmp_git" }, -- You can specify the `cmp_git` source if you were installed it.
- }, {
- { name = "buffer" },
- }),
-})
-
--- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
-cmp.setup.cmdline("/", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = {
- { name = "buffer" },
- },
-})
-
--- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
-cmp.setup.cmdline(":", {
- mapping = cmp.mapping.preset.cmdline(),
- sources = cmp.config.sources({
- { name = "path" },
- }, {
- { name = "cmdline" },
- }),
-})
-
-cmp.setup.filetype({ "sql", "mysql", "plsql" }, {
- sources = cmp.config.sources({
- { name = "vim-dadbod-completion" },
- }, {
- { name = "buffer" },
- }),
-})