From d2324d14e166a17b2573006485fd3e4e8c971100 Mon Sep 17 00:00:00 2001 From: maxime50 <51096534+maxime50@users.noreply.github.com> Date: Sun, 4 Jul 2021 18:22:10 -0400 Subject: Better JS/TS Development Experience (#667) Co-authored-by: Maxime --- lua/lsp/init.lua | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'lua/lsp/init.lua') diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 8bc8984f..7c78d054 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -106,8 +106,48 @@ if O.document_highlight then end function lsp_config.tsserver_on_attach(client, bufnr) - lsp_config.common_on_attach(client, bufnr) + -- lsp_config.common_on_attach(client, bufnr) client.resolved_capabilities.document_formatting = false + + local ts_utils = require("nvim-lsp-ts-utils") + + -- defaults + ts_utils.setup { + debug = false, + disable_commands = false, + enable_import_on_completion = false, + import_all_timeout = 5000, -- ms + + -- eslint + eslint_enable_code_actions = true, + eslint_enable_disable_comments = true, + eslint_bin = O.lang.tsserver.linter, + eslint_config_fallback = nil, + eslint_enable_diagnostics = true, + + -- formatting + enable_formatting = O.lang.tsserver.autoformat, + formatter = O.lang.tsserver.formatter, + formatter_config_fallback = nil, + + -- parentheses completion + complete_parens = false, + signature_help_in_parens = false, + + -- update imports on file move + update_imports_on_move = false, + require_confirmation_on_move = false, + watch_dir = nil, + } + + -- required to fix code action ranges + ts_utils.setup_client(client) + + -- TODO: keymap these? + -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize", {silent = true}) + -- vim.api.nvim_buf_set_keymap(bufnr, "n", "qq", ":TSLspFixCurrent", {silent = true}) + -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", ":TSLspRenameFile", {silent = true}) + -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll", {silent = true}) end -- cgit v1.2.3 From b4a9023c9e531ad021cf9da7e701350f489aba45 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 5 Jul 2021 02:57:06 -0400 Subject: remove lspsaga --- lua/lsp/init.lua | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'lua/lsp/init.lua') diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 7c78d054..ad8985d8 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -20,14 +20,12 @@ vim.cmd("nnoremap gd lua vim.lsp.buf.definition()") vim.cmd("nnoremap gD lua vim.lsp.buf.declaration()") vim.cmd("nnoremap gr lua vim.lsp.buf.references()") vim.cmd("nnoremap gi lua vim.lsp.buf.implementation()") -vim.cmd("nnoremap K :Lspsaga hover_doc") +vim.cmd("nnoremap K :lua vim.lsp.buf.hover()") -- vim.cmd('nnoremap lua vim.lsp.buf.signature_help()') -vim.cmd("nnoremap :Lspsaga diagnostic_jump_prev") -vim.cmd("nnoremap :Lspsaga diagnostic_jump_next") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev()") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next()") -- scroll down hover doc or scroll in definition preview -vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll_with_saga(1)") -- scroll up hover doc -vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll_with_saga(-1)") vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') -- Set Default Prefix. -- cgit v1.2.3 From 5eed5cf3ec13de0ce2a82ff032a1967e759d6a26 Mon Sep 17 00:00:00 2001 From: kjssad Date: Mon, 5 Jul 2021 14:43:37 +0000 Subject: Add borders to lsp popups (#686) * feat(lsp): add single type border to hover popup * feat(lsp): add single type border to signatureHelp * feat(lsp): add border to line diagnostic popup * feat(lsp): use global option to configure borders --- lua/lsp/init.lua | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lua/lsp/init.lua') diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index ad8985d8..0292064a 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -22,8 +22,8 @@ vim.cmd("nnoremap gr lua vim.lsp.buf.references()") vim.cmd("nnoremap gi lua vim.lsp.buf.implementation()") vim.cmd("nnoremap K :lua vim.lsp.buf.hover()") -- vim.cmd('nnoremap lua vim.lsp.buf.signature_help()') -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev()") -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next()") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})") -- scroll down hover doc or scroll in definition preview -- scroll up hover doc vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') @@ -41,6 +41,18 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( } ) +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( + vim.lsp.handlers.hover, { + border = O.lsp.popup_border + } +) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with( + vim.lsp.handlers.signature_help, { + border = O.lsp.popup_border + } +) + -- symbols for autocomplete vim.lsp.protocol.CompletionItemKind = { "  (Text) ", -- cgit v1.2.3