diff --git a/lua/taken/plugins/lsp/lspconfig.lua b/lua/taken/plugins/lsp/lspconfig.lua index 5bcd6f3..6fb0b14 100644 --- a/lua/taken/plugins/lsp/lspconfig.lua +++ b/lua/taken/plugins/lsp/lspconfig.lua @@ -2,11 +2,17 @@ return { "neovim/nvim-lspconfig", dependencies = { + { "antosha417/nvim-lsp-file-operations", config = true }, "hrsh7th/cmp-nvim-lsp", + "nvim-lua/plenary.nvim", + "pmizio/typescript-tools.nvim", + "dmmulroy/ts-error-translator.nvim", }, event = { "BufReadPre", "BufNewFile" }, config = function() local lspconfig = require("lspconfig") + local typescript_tools = require("typescript-tools") + local tserrortranslator = require("ts-error-translator") local cmp_nvim_lsp = require("cmp_nvim_lsp") local on_attach = require("taken.utils.on_attach") @@ -27,6 +33,7 @@ return { }) end + -- lua lspconfig["lua_ls"].setup({ capabilities = capabilities, on_attach = on_attach, @@ -51,10 +58,48 @@ return { }, }) + -- powershell lspconfig["powershell_es"].setup({ capabilities = capabilities, on_attach = on_attach, bundle_path = vim.fn.stdpath("data") .. "/mason/packages/powershell-editor-services", }) + + -- typescript tools + local cwd = vim.fn.getcwd() + local tsserver_path = cwd .. "/node_modules/.bin/tsserver" + + local cmd = "" + if vim.loop.fs_stat(tsserver_path) then + cmd = tsserver_path + else + cmd = "typescript-language-server" + end + + typescript_tools.setup({ + capabilities = capabilities, + on_attach = function(client, bufnr) + on_attach(client, bufnr) + if cmd == "typescript-language-server" then + vim.notify("Using global tsserver") + end + end, + settings = { + cmd = { cmd, "--stdio" }, + tsserver_file_preferences = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayVariableTypeHintsWhenTypeMatchesName = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + quotePreference = "auto", + }, + }, + }) + + tserrortranslator.setup() end, } diff --git a/lua/taken/plugins/lsp/ts-tools.lua b/lua/taken/plugins/lsp/ts-tools.lua.old similarity index 100% rename from lua/taken/plugins/lsp/ts-tools.lua rename to lua/taken/plugins/lsp/ts-tools.lua.old