From 2b88ac6e5d02877401b516b509047401c3e62aef Mon Sep 17 00:00:00 2001 From: jc <46619361+juancwu@users.noreply.github.com> Date: Tue, 19 Dec 2023 00:09:46 -0500 Subject: [PATCH] move lsp config into a folder --- nvim/lua/juancwu/plugins/lsp-zero.lua | 141 ------------------------- nvim/lua/juancwu/plugins/lsp/init.lua | 144 ++++++++++++++++++++++++++ 2 files changed, 144 insertions(+), 141 deletions(-) delete mode 100644 nvim/lua/juancwu/plugins/lsp-zero.lua create mode 100644 nvim/lua/juancwu/plugins/lsp/init.lua diff --git a/nvim/lua/juancwu/plugins/lsp-zero.lua b/nvim/lua/juancwu/plugins/lsp-zero.lua deleted file mode 100644 index a14d41a..0000000 --- a/nvim/lua/juancwu/plugins/lsp-zero.lua +++ /dev/null @@ -1,141 +0,0 @@ -return { - 'VonHeikemen/lsp-zero.nvim', - branch = 'v2.x', - dependencies = { - -- LSP Support - { 'neovim/nvim-lspconfig' }, -- Required - { - -- Optional - 'williamboman/mason.nvim', - build = function() - pcall(vim.cmd, 'MasonUpdate') - end, - }, - { 'williamboman/mason-lspconfig.nvim' }, -- Optional - - -- Autocompletion - { 'hrsh7th/nvim-cmp' }, -- Required - { 'hrsh7th/cmp-nvim-lsp' }, -- Required - { 'L3MON4D3/LuaSnip' }, -- Required - - -- Neovim Plugin Development Completions - { - 'folke/neodev.nvim', - opts = {}, - }, - }, - config = function() - -- required to setup neodev before lspconfig - require('neodev').setup({}) - - local lspzero = require("lsp-zero") - - lspzero.preset({}) - - lspzero.on_attach(function(client, bufnr) - lspzero.default_keymaps({ - buffer = bufnr, - omit = { - 'gr' - }, - }) - - function nmap(key, action, desc) - vim.keymap.set( - "n", - key, - action, - { - desc = "LSP: " .. desc, - } - ) - end - - nmap("[d", "lua vim.diagnostic.goto_prev()", "Goto Prev Diagnostic"); - nmap("]d", "lua vim.diagnostic.goto_next()", "Goto Next Diagnostic") - - local current_dir = vim.fn.expand("%:p:h") - - -- vim.keymap.set('n', 'gr', 'Telescope lsp_references', { buffer = true }) - - -- format with space + f - -- vim.keymap.set("n", "fb", "lua vim.lsp.buf.format()", - -- { desc = "[F]ormat [B]uffer" }) - nmap("fb", "lua vim.lsp.buf.format()", "[F]ormat [B]uffer") - end) - - lspzero.ensure_installed({ - "tsserver", - "eslint", - "tailwindcss", - }) - - lspzero.format_on_save({ - format_ops = { - async = true, - timeout_ms = 10000, - }, - servers = { - ["lua_ls"] = { "lua" }, - ["null-ls"] = { - "javascript", - "typescript", - "javascriptreact", - "typescriptreact", - "html", - "css", - }, - }, - }) - - local status, lspconfig = pcall(require, "lspconfig") - - if status then - lspconfig.tsserver.setup({}) - lspconfig.tailwindcss.setup({ - filetypes = { - 'templ', - 'html', - 'javascript', - 'typescript', - 'javascriptreact', - 'typescriptreact', - }, - init_options = { - userLanguages = { - templ = "html" - } - } - }) - lspconfig.zls.setup({}) - lspconfig.rust_analyzer.setup({}) - lspconfig.gopls.setup({}) - lspconfig.html.setup({}) - vim.filetype.add({ - extension = { - templ = "templ" - }, - }) - lspconfig.templ.setup({ - filetypes = { - "templ", - }, - }) - end - - lspzero.setup() - - local cmp - status, cmp = pcall(require, "cmp") - - if not status then return end - - cmp.setup({ - mapping = { - -- press 'enter' to confirm completion/suggestion - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.abort(), - }, - }) - end -} diff --git a/nvim/lua/juancwu/plugins/lsp/init.lua b/nvim/lua/juancwu/plugins/lsp/init.lua new file mode 100644 index 0000000..1ed8ce8 --- /dev/null +++ b/nvim/lua/juancwu/plugins/lsp/init.lua @@ -0,0 +1,144 @@ +return { + -- lspconfig + { + 'VonHeikemen/lsp-zero.nvim', + branch = 'v2.x', + dependencies = { + -- LSP Support + { 'neovim/nvim-lspconfig' }, -- Required + { + -- Optional + 'williamboman/mason.nvim', + build = function() + pcall(vim.cmd, 'MasonUpdate') + end, + }, + { 'williamboman/mason-lspconfig.nvim' }, -- Optional + + -- Autocompletion + { 'hrsh7th/nvim-cmp' }, -- Required + { 'hrsh7th/cmp-nvim-lsp' }, -- Required + { 'L3MON4D3/LuaSnip' }, -- Required + + -- Neovim Plugin Development Completions + { + 'folke/neodev.nvim', + opts = {}, + }, + }, + config = function() + -- required to setup neodev before lspconfig + require('neodev').setup({}) + + local lspzero = require("lsp-zero") + + lspzero.preset({}) + + lspzero.on_attach(function(client, bufnr) + lspzero.default_keymaps({ + buffer = bufnr, + omit = { + 'gr' + }, + }) + + function nmap(key, action, desc) + vim.keymap.set( + "n", + key, + action, + { + desc = "LSP: " .. desc, + } + ) + end + + nmap("[d", "lua vim.diagnostic.goto_prev()", "Goto Prev Diagnostic"); + nmap("]d", "lua vim.diagnostic.goto_next()", "Goto Next Diagnostic") + + local current_dir = vim.fn.expand("%:p:h") + + -- vim.keymap.set('n', 'gr', 'Telescope lsp_references', { buffer = true }) + + -- format with space + f + -- vim.keymap.set("n", "fb", "lua vim.lsp.buf.format()", + -- { desc = "[F]ormat [B]uffer" }) + nmap("fb", "lua vim.lsp.buf.format()", "[F]ormat [B]uffer") + end) + + lspzero.ensure_installed({ + "tsserver", + "eslint", + "tailwindcss", + }) + + lspzero.format_on_save({ + format_ops = { + async = true, + timeout_ms = 10000, + }, + servers = { + ["lua_ls"] = { "lua" }, + ["null-ls"] = { + "javascript", + "typescript", + "javascriptreact", + "typescriptreact", + "html", + "css", + }, + }, + }) + + local status, lspconfig = pcall(require, "lspconfig") + + if status then + lspconfig.tsserver.setup({}) + lspconfig.tailwindcss.setup({ + filetypes = { + 'templ', + 'html', + 'javascript', + 'typescript', + 'javascriptreact', + 'typescriptreact', + }, + init_options = { + userLanguages = { + templ = "html" + } + } + }) + lspconfig.zls.setup({}) + lspconfig.rust_analyzer.setup({}) + lspconfig.gopls.setup({}) + lspconfig.html.setup({}) + vim.filetype.add({ + extension = { + templ = "templ" + }, + }) + lspconfig.templ.setup({ + filetypes = { + "templ", + }, + }) + end + + lspzero.setup() + + local cmp + status, cmp = pcall(require, "cmp") + + if not status then return end + + cmp.setup({ + mapping = { + -- press 'enter' to confirm completion/suggestion + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.abort(), + }, + }) + end + } +}