summaryrefslogtreecommitdiff
path: root/nvim/lua/user/lsp
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/user/lsp')
-rw-r--r--nvim/lua/user/lsp/handlers.lua104
-rw-r--r--nvim/lua/user/lsp/init.lua7
-rw-r--r--nvim/lua/user/lsp/mason.lua47
-rw-r--r--nvim/lua/user/lsp/null-ls.lua19
4 files changed, 0 insertions, 177 deletions
diff --git a/nvim/lua/user/lsp/handlers.lua b/nvim/lua/user/lsp/handlers.lua
deleted file mode 100644
index 8de0abd..0000000
--- a/nvim/lua/user/lsp/handlers.lua
+++ /dev/null
@@ -1,104 +0,0 @@
-local M = {}
-
--- TODO: backfill this to template
-M.setup = function()
- local signs = {
- { name = "DiagnosticSignError", text = "" },
- { name = "DiagnosticSignWarn", text = "" },
- { name = "DiagnosticSignHint", text = "" },
- { name = "DiagnosticSignInfo", text = "" },
- }
-
- for _, sign in ipairs(signs) do
- vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
- end
-
- local config = {
- -- disable virtual text
- virtual_text = false,
- -- show signs
- signs = {
- active = signs,
- },
- update_in_insert = true,
- underline = true,
- severity_sort = true,
- float = {
- focusable = false,
- style = "minimal",
- border = "rounded",
- source = "always",
- header = "",
- prefix = "",
- },
- }
-
- vim.diagnostic.config(config)
-
- vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
- border = "rounded",
- })
-
- vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
- border = "rounded",
- })
-end
-
-local function lsp_highlight_document(client)
- -- Set autocommands conditional on server_capabilities
- if client.server_capabilities.documentHighlight then
- vim.api.nvim_exec(
- [[
- augroup lsp_document_highlight
- autocmd! * <buffer>
- autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
- autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
- augroup END
- ]],
- false
- )
- end
-end
-
-local function lsp_keymaps(bufnr)
- local opts = { noremap = true, silent = true }
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
- -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "[d", '<cmd>lua vim.diagnostic.goto_prev({ border = "rounded" })<CR>', opts)
- vim.api.nvim_buf_set_keymap(
- bufnr,
- "n",
- "gl",
- '<cmd>lua vim.diagnostic.open_float()<CR>',
- opts
- )
- vim.api.nvim_buf_set_keymap(bufnr, "n", "]d", '<cmd>lua vim.diagnostic.goto_next({ border = "rounded" })<CR>', opts)
- vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
- vim.cmd [[ command! Format execute 'lua vim.lsp.buf.formatting()' ]]
-end
-
-M.on_attach = function(client, bufnr)
- if client.name == "tsserver" then
- client.server_capabilities.documentFormattingProvider = false
- end
- lsp_keymaps(bufnr)
- lsp_highlight_document(client)
-end
-
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-
-local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
-if not status_ok then
- return
-end
-
-M.capabilities = cmp_nvim_lsp.default_capabilities(capabilities)
-
-return M
diff --git a/nvim/lua/user/lsp/init.lua b/nvim/lua/user/lsp/init.lua
deleted file mode 100644
index 8a84467..0000000
--- a/nvim/lua/user/lsp/init.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-local status_ok, _ = pcall(require, "lspconfig")
-if not status_ok then
- return
-end
-
-require "user.lsp.mason"
-require("user.lsp.handlers").setup()
diff --git a/nvim/lua/user/lsp/mason.lua b/nvim/lua/user/lsp/mason.lua
deleted file mode 100644
index a2e5384..0000000
--- a/nvim/lua/user/lsp/mason.lua
+++ /dev/null
@@ -1,47 +0,0 @@
-local servers = {
- "lua_ls",
- "pyright",
- "jsonls",
-}
-
-local settings = {
- ui = {
- border = "none",
- icons = {
- package_installed = "◍",
- package_pending = "◍",
- package_uninstalled = "◍",
- },
- },
- log_level = vim.log.levels.INFO,
- max_concurrent_installers = 4,
-}
-
-require("mason").setup(settings)
-require("mason-lspconfig").setup({
- ensure_installed = servers,
- automatic_installation = true,
-})
-
-local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
-if not lspconfig_status_ok then
- return
-end
-
-local opts = {}
-
-for _, server in pairs(servers) do
- opts = {
- on_attach = require("user.lsp.handlers").on_attach,
- capabilities = require("user.lsp.handlers").capabilities,
- }
-
- server = vim.split(server, "@")[1]
-
- local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server)
- if require_ok then
- opts = vim.tbl_deep_extend("force", conf_opts, opts)
- end
-
- lspconfig[server].setup(opts)
-end
diff --git a/nvim/lua/user/lsp/null-ls.lua b/nvim/lua/user/lsp/null-ls.lua
deleted file mode 100644
index 874e19c..0000000
--- a/nvim/lua/user/lsp/null-ls.lua
+++ /dev/null
@@ -1,19 +0,0 @@
-local null_ls_status_ok, null_ls = pcall(require, "null-ls")
-if not null_ls_status_ok then
- return
-end
-
--- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
-local formatting = null_ls.builtins.formatting
--- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
-local diagnostics = null_ls.builtins.diagnostics
-
-null_ls.setup({
- debug = false,
- sources = {
- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
- formatting.black.with({ extra_args = { "--fast" } }),
- formatting.stylua,
- -- diagnostics.flake8
- },
-})