From c5d4e4a23a397ae1dc68682734f2fe26d3adf0f0 Mon Sep 17 00:00:00 2001 From: "David T. Sadler" Date: Sat, 11 Feb 2023 12:51:08 +0000 Subject: Switched to lua and install various plugins --- .config/nvim/after/plugin/lsp.lua | 72 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .config/nvim/after/plugin/lsp.lua (limited to '.config/nvim/after/plugin/lsp.lua') diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua new file mode 100644 index 0000000..c4117f5 --- /dev/null +++ b/.config/nvim/after/plugin/lsp.lua @@ -0,0 +1,72 @@ +local lsp = require("lsp-zero") + +lsp.preset("recommended") + +lsp.ensure_installed({ + "cssls", + "dockerls", + "html", + "jsonls", + "phpactor", + "sumneko_lua", + "tailwindcss", +}) + +-- Fix Undefined global "vim" +lsp.configure("sumneko_lua", { + settings = { + Lua = { + diagnostics = { + globals = { "vim" } + } + } + } +}) + + +local cmp = require("cmp") +local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_mappings = lsp.defaults.cmp_mappings({ + [""] = cmp.mapping.select_prev_item(cmp_select), + [""] = cmp.mapping.select_next_item(cmp_select), + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.complete(), +}) + +cmp_mappings[""] = nil +cmp_mappings[""] = nil + +lsp.setup_nvim_cmp({ + mapping = cmp_mappings +}) + +lsp.set_preferences({ + suggest_lsp_servers = false, + sign_icons = { + error = "E", + warn = "W", + hint = "H", + info = "I" + } +}) + +lsp.on_attach(function(client, bufnr) + local opts = {buffer = bufnr, remap = false} + + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) + vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) +end) + +lsp.setup() + +vim.diagnostic.config({ + virtual_text = true +}) -- cgit v1.2.3-13-gbd6f