From 9ef68a2a4012cf4059a8bc068158aaca31addbc4 Mon Sep 17 00:00:00 2001 From: Frodd Date: Sun, 31 Aug 2025 20:57:59 +0100 Subject: [PATCH] add blink complete for nvim --- nvim/.config/nvim/lazy-lock.json | 2 + nvim/.config/nvim/lua/plugins/blink.lua | 19 ++++++ nvim/.config/nvim/lua/plugins/lsp-config.lua | 61 ++++++++++---------- 3 files changed, 53 insertions(+), 29 deletions(-) create mode 100644 nvim/.config/nvim/lua/plugins/blink.lua diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index cfcde21..176f143 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,5 +1,7 @@ { + "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, "catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, diff --git a/nvim/.config/nvim/lua/plugins/blink.lua b/nvim/.config/nvim/lua/plugins/blink.lua new file mode 100644 index 0000000..88f53af --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/blink.lua @@ -0,0 +1,19 @@ +return { + 'saghen/blink.cmp', + dependencies = { 'rafamadriz/friendly-snippets' }, + version = '1.*', + ---@module 'blink.cmp' + ---@type blink.cmp.Config + opts = { + keymap = { preset = 'super-tab' }, + appearance = { + nerd_font_variant = 'mono' + }, + completion = { documentation = { auto_show = false } }, + sources = { + default = { 'lsp', 'path', 'snippets', 'buffer' }, + }, + fuzzy = { implementation = "prefer_rust_with_warning" } + }, + opts_extend = { "sources.default" } +} diff --git a/nvim/.config/nvim/lua/plugins/lsp-config.lua b/nvim/.config/nvim/lua/plugins/lsp-config.lua index 9ee4b41..569188d 100644 --- a/nvim/.config/nvim/lua/plugins/lsp-config.lua +++ b/nvim/.config/nvim/lua/plugins/lsp-config.lua @@ -1,32 +1,35 @@ return { - { - "mason-org/mason.nvim", - version = "^1.0.0", - config = function() - require('mason').setup() - end - }, - { - "mason-org/mason-lspconfig.nvim", - version = "^1.0.0", - opts = {}, - config = function() - require('mason-lspconfig').setup({ - ensure_installed = { "lua_ls", "ts_ls" } - }) - end - }, - { - "neovim/nvim-lspconfig", - version = "^1.0.0", - config = function() - local lspconfig = require('lspconfig') - lspconfig.lua_ls.setup({}) - lspconfig.ts_ls.setup({}) + { + "mason-org/mason.nvim", + version = "^1.0.0", + config = function() + require("mason").setup() + end, + }, + { + "mason-org/mason-lspconfig.nvim", + version = "^1.0.0", + opts = {}, + config = function() + require("mason-lspconfig").setup({ + ensure_installed = { "lua_ls", "ts_ls" }, + }) + end, + }, + { + "neovim/nvim-lspconfig", + dependencies = { "saghen/blink.cmp" }, + version = "^1.0.0", + config = function() + local lspconfig = require("lspconfig") + local capabilities = require("blink.cmp").get_lsp_capabilities() - vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {}) - vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, {}) - end - } + lspconfig.lua_ls.setup({ capabilities = capabilities }) + lspconfig.ts_ls.setup({ capabilities = capabilities }) + + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) + vim.keymap.set({ "n", "v" }, "ca", vim.lsp.buf.code_action, {}) + end, + }, }