From 49cf726ce069e8be161ea0913b07d36d416fef38 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Sat, 27 Nov 2021 11:37:11 +0530 Subject: [PATCH] nvim: plugins/lsp: Drop null-ls See the below issue https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/issues/87 We went with null-ls because we wanted formatting with prettier. Also null-ls was recommended by nvim-lsp-ts-utils. The advantage of null-ls is it provides formatting and diagnostics together in one package. However, we will get prettier by another means and for linting switch to nvim-lint. --- nvim/.config/nvim/lua/lsp.lua | 30 +++++------------------------- nvim/.config/nvim/lua/plugins.lua | 5 +---- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/nvim/.config/nvim/lua/lsp.lua b/nvim/.config/nvim/lua/lsp.lua index d7f587e..951f974 100644 --- a/nvim/.config/nvim/lua/lsp.lua +++ b/nvim/.config/nvim/lua/lsp.lua @@ -1,7 +1,6 @@ local nvim_lsp = require 'lspconfig' local protocol = require 'vim.lsp.protocol' local ts_utils = require 'nvim-lsp-ts-utils' -local null_ls = require 'null-ls' local util = require 'lspconfig/util' local cmp = require 'cmp_nvim_lsp' @@ -31,19 +30,9 @@ function PeekDefinition() return vim.lsp.buf_request(0, 'textDocument/definition', params, preview_location_callback) end --- This should be called only once, so cannot be in on_attach as earlier. --- See https://github.com/jose-elias-alvarez/null-ls.nvim/issues/38 --- Required by nvim-lsp-ts-utils to provide ESLint code actions, diagnostics --- and formatting. -local null_ls_sources = { - null_ls.builtins.diagnostics.shellcheck, -} -null_ls.config({ sources = null_ls_sources }) -nvim_lsp["null-ls"].setup {} - local ts_utils_setup = function(client, bufnr, opts) if client.name == 'tsserver' then - -- Disable tsserver formatting as we plan on formatting via null-ls + -- Disable tsserver formatting, we want formatting via prettier client.resolved_capabilities.document_formatting = false client.resolved_capabilities.document_range_formatting = false @@ -62,17 +51,6 @@ local ts_utils_setup = function(client, bufnr, opts) same_file = 1, -- add to existing import statement }, - eslint_enable_code_actions = true, - eslint_bin = "eslint", - eslint_enable_disable_comments = true, - eslint_enable_diagnostics = true, - eslint_config_fallback = nil, - eslint_show_rule_id = false, - - enable_formatting = true, - formatter = "prettier", - formatter_config_fallback = nil, - update_imports_on_move = false, require_confirmation_on_move = false, watch_dir = nil, @@ -103,6 +81,10 @@ local on_attach = function(client, bufnr) local opts = { noremap=true, silent=true } + -- This needs to be here, so we disable formatting with tsserver before + -- actually checking it below. + ts_utils_setup(client, bufnr, opts) + vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd' , 'lua vim.lsp.buf.definition()' , opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD' , 'lua vim.lsp.buf.declaration()' , opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr' , 'lua vim.lsp.buf.references()' , opts) @@ -163,8 +145,6 @@ local on_attach = function(client, bufnr) ' '; -- type parameter } - ts_utils_setup(client, bufnr, opts) - vim.cmd [[autocmd CursorHold,CursorHoldI lua require'nvim-lightbulb'.update_lightbulb()]] end diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index 003ae3e..cced8f4 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -82,10 +82,7 @@ local init = function () -- Alignment use 'junegunn/vim-easy-align' use 'nvim-lua/plenary.nvim' - use { - 'jose-elias-alvarez/nvim-lsp-ts-utils', - requires = { 'jose-elias-alvarez/null-ls.nvim' } - } + use 'jose-elias-alvarez/nvim-lsp-ts-utils' -- LSP use { 'neovim/nvim-lspconfig',