diff --git a/lazy-lock.json b/lazy-lock.json index 86d0239..092109f 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,14 +1,8 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" }, "alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, "barbecue.nvim": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "blink.cmp": { "branch": "main", "commit": "ae5a4ce8f7e519e49de7ae6fcadd74547f820a52" }, "conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dracula": { "branch": "main", "commit": "e6128ec3923b92bb2b16e81b4a0f04ed0308038e" }, @@ -18,7 +12,6 @@ "harpoon": { "branch": "harpoon2", "commit": "a84ab829eaf3678b586609888ef52f7779102263" }, "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, "lsp-zero.nvim": { "branch": "v2.x", "commit": "9a686513eaaa13d737d0fec8956a18268ead8b29" }, - "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, @@ -27,12 +20,11 @@ "neogen": { "branch": "main", "commit": "37dd095892e3f846418c465852f7b21f81d0f46c" }, "noice.nvim": { "branch": "main", "commit": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f" }, "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, - "nvim-cmp": { "branch": "main", "commit": "3403e2e9391ed0a28c3afddd8612701b647c8e26" }, "nvim-lspconfig": { "branch": "master", "commit": "9f2c279cf9abe584f03bfeb37c6658d68e3ff49d" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-spectre": { "branch": "master", "commit": "08be31c104df3b4b049607694ebb2b6ced4f928b" }, "nvim-tree-docs": { "branch": "master", "commit": "5db023d783da1e55339e5e25caaf72a59597e626" }, - "nvim-treesitter": { "branch": "master", "commit": "981ca7e353da6ea69eaafe4348fda5e800f9e1d8" }, + "nvim-treesitter": { "branch": "master", "commit": "102bc74e093ef54aab57a368db15befeb9ba9d58" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, "nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, diff --git a/lua/409/plugins/completion.lua b/lua/409/plugins/completion.lua index c00f5b6..84486c2 100644 --- a/lua/409/plugins/completion.lua +++ b/lua/409/plugins/completion.lua @@ -1,10 +1,151 @@ return { - --[[ { - "windwp/nvim-autopairs", - event = "InsertEnter", - config = true, - }, ]] { + "saghen/blink.cmp", + lazy = false, + version = "v0.*", + opts = { + keymap = { + [""] = { "select_and_accept" }, + [""] = { "show", "hide" }, + + [""] = { "show", "select_next", "fallback" }, + [""] = { "show", "select_prev", "fallback" }, + + [""] = { "scroll_documentation_up", "fallback" }, + [""] = { "scroll_documentation_down", "fallback" }, + }, + appearance = { + nerd_font_variant = "mono", + kind_icons = { + Text = "󰉿", + Method = "󰆧", + Function = "󰊕", + Constructor = "", + + Field = "󰜢", + Variable = "󰀫", + Property = "󰜢", + + Class = "󰠱", + Interface = "", + Struct = "󰙅", + Module = "", + + Unit = "󰑭", + Value = "󰎠", + Enum = "", + EnumMember = "", + + Keyword = "󰌋", + Constant = "󰏿", + + Snippet = "", + Color = "󰏘", + File = "󰈙", + Reference = "󰈇", + Folder = "󰉋", + Event = "", + Operator = "󰆕", + TypeParameter = "󰬛", + }, + }, + sources = { + default = { "lsp", "path", "buffer" }, + -- optionally disable cmdline completions + -- cmdline = {}, + }, + completion = { + menu = { + enabled = true, + max_width = 100, + border = "single", + draw = { + padding = 2, + columns = { { "kind_icon" }, { "label" }, { "kind" } }, + + components = { + kind = { + text = function(ctx) + return "(" .. ctx.kind .. ")" + end, + }, + label = { + text = function(ctx) + return ctx.label + end, + }, + }, + }, + }, + documentation = { + auto_show = true, + window = { + border = "single", + max_width = 100, + }, + }, + list = { + selection = "manual", + }, + ghost_text = { + enabled = false, + }, + }, + signature = { + enabled = false, + trigger = { + show_on_insert_on_trigger_character = true, + }, + window = { + border = "single", + }, + }, + }, + opts_extend = { "sources.default" }, + config = function(_, opts) + require("blink.cmp").setup(opts) + + vim.api.nvim_set_hl(0, "BlinkCmpMenu", { fg = "#abb2bf", bg = "none" }) + + vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { link = "FloatBorder" }) + vim.api.nvim_set_hl(0, "BlinkCmpDocBorder", { link = "FloatBorder" }) + vim.api.nvim_set_hl(0, "BlinkCmpSignatureHelpBorder", { link = "FloatBorder" }) + + vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { fg = "#50fa7b", bg = "none" }) + vim.api.nvim_set_hl(0, "BlinkCmpLabel", { bg = "none" }) + vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { bg = "none" }) + vim.api.nvim_set_hl(0, "BlinkCmpKind", { link = "BlinkCmpLabel" }) + + vim.api.nvim_set_hl(0, "BlinkCmpGhostText", { fg = "#abb2bf" }) + + vim.api.nvim_set_hl(0, "BlinkCmpKindTypeParameter", { link = "@variable.parameter" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindConstructor", { link = "@type" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindEnumMember", { link = "@variable.member" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindReference", { link = "@variable.parameter.reference" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindInterface", { link = "@type" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindVariable", { link = "@variable" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindProperty", { link = "@property" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindOperator", { link = "@operator" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindFunction", { link = "@function" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindConstant", { link = "@constant" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindSnippet", { link = "@markup" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindKeyword", { link = "@keyword" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindStruct", { link = "@structure" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindModule", { link = "@module" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindMethod", { link = "@function.method" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindFolder", { link = "TSURI" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindValue", { link = "@variable.member" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindField", { link = "@variable.member" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindEvent", { link = "@constant" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindColor", { link = "DevIconCss" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindClass", { link = "@type" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindUnit", { link = "@variable.member" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindText", { link = "@markup" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindFile", { link = "TSURI" }) + vim.api.nvim_set_hl(0, "BlinkCmpKindEnum", { link = "@variable.member" }) + end, + }, + --[[ { "hrsh7th/nvim-cmp", dependencies = { "onsails/lspkind.nvim", @@ -112,5 +253,5 @@ return { }, } end, - }, + }, ]] } diff --git a/lua/409/plugins/lsp.lua b/lua/409/plugins/lsp.lua index 19aec56..886b250 100644 --- a/lua/409/plugins/lsp.lua +++ b/lua/409/plugins/lsp.lua @@ -75,6 +75,7 @@ return { dependencies = { "williamboman/mason.nvim", "williamboman/mason-lspconfig.nvim", + "saghen/blink.cmp", }, opts = { diagnostics = { @@ -162,6 +163,7 @@ return { }, }, config = function(_, opts) + local lspconfig = require("lspconfig") local lsp = require("lsp-zero") vim.api.nvim_create_autocmd("LspAttach", { @@ -207,8 +209,6 @@ return { border = "single", } - local lspconfig = require("lspconfig") - require("mason-lspconfig").setup({ ensure_installed = { "vtsls", @@ -226,11 +226,17 @@ return { handlers = { function(server_name) if lspconfig[server_name] ~= nil then - lspconfig[server_name].setup(opts.servers[server_name] or {}) + local config = opts.servers[server_name] or {} + config.capabilities = require("blink.cmp").get_lsp_capabilities(config.capabilities) + + lspconfig[server_name].setup(config) end end, lua_ls = function() - require("lspconfig").lua_ls.setup(lsp.nvim_lua_ls()) + local config = lsp.nvim_lua_ls() + config.capabilities = require("blink.cmp").get_lsp_capabilities(config.capabilities) + + require("lspconfig").lua_ls.setup(config) end, }, }) diff --git a/lua/409/plugins/noice.lua b/lua/409/plugins/noice.lua index a39423f..4db3222 100644 --- a/lua/409/plugins/noice.lua +++ b/lua/409/plugins/noice.lua @@ -13,6 +13,11 @@ return { hover = { silent = true, }, + signature = { + auto_open = { + enabled = false + }, + }, }, presets = { bottom_search = false, diff --git a/lua/409/plugins/theme.lua b/lua/409/plugins/theme.lua index 64b884e..2ba721f 100644 --- a/lua/409/plugins/theme.lua +++ b/lua/409/plugins/theme.lua @@ -22,8 +22,6 @@ return { vim.api.nvim_set_hl(0, "TabLineSel", { fg = "#282a36", bg = "#50fa7b", bold = true }) vim.api.nvim_set_hl(0, "DashboardHeader", { fg = "#50fa7b" }) vim.api.nvim_set_hl(0, "DashboardShortCut", { fg = "#bd93f9" }) - vim.api.nvim_set_hl(0, "CmpItemAbbr", { bg = "none" }) - vim.api.nvim_set_hl(0, "CmpItemAbbrMatch", { fg = "#50fa7b", bg = "none" }) end, }, }