From 657f0a6910b46e0e1e8f75d686a6994294bf163b Mon Sep 17 00:00:00 2001 From: Veighnsche Date: Wed, 19 Jun 2024 22:27:36 +0200 Subject: [PATCH] more lsp services --- init.lua | 38 ++++++++++++++++++++++++++++++------- lua/custom/plugins/init.lua | 13 +++++++++++++ 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/init.lua b/init.lua index 0115483b..cba29a7f 100644 --- a/init.lua +++ b/init.lua @@ -474,7 +474,6 @@ require('lazy').setup({ { 'pmizio/typescript-tools.nvim', dependencies = { 'nvim-lua/plenary.nvim', 'neovim/nvim-lspconfig' }, - opts = {}, }, }, config = function() @@ -608,6 +607,10 @@ require('lazy').setup({ local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities()) + require('lspconfig')['typescript-tools'].setup { + capabilities = capabilities, + } + -- Enable the following language servers -- Feel free to add/remove any LSPs that you want here. They will automatically be installed. -- @@ -631,6 +634,24 @@ require('lazy').setup({ -- tsserver = {}, -- + html = { + cmd = { 'vscode-html-language-server', '--stdio' }, + filetypes = { 'html' }, + capabilities = capabilities, + }, + + cssls = { + cmd = { 'vscode-css-language-server', '--stdio' }, + filetypes = { 'css', 'scss', 'less' }, + capabilities = capabilities, + }, + + jsonls = { + cmd = { 'vscode-json-language-server', '--stdio' }, + filetypes = { 'json' }, + capabilities = capabilities, + }, + lua_ls = { -- cmd = {...}, -- filetypes = { ...}, @@ -661,25 +682,28 @@ require('lazy').setup({ vim.list_extend(ensure_installed, { 'stylua', -- Used to format Lua code 'lua_ls', + 'prettierd', + 'eslint_d', + 'stylelint', + 'tailwindcss', }) + require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-lspconfig').setup { handlers = { function(server_name) + if server_name == 'tsserver' then + return + end + local server = servers[server_name] or {} -- This handles overriding only values explicitly passed -- by the server configuration above. Useful when disabling -- certain features of an LSP (for example, turning off formatting for tsserver) server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) - if server_name == 'tsserver' then - return - end require('lspconfig')[server_name].setup(server) end, - ['typescript-tools'] = function() - require('typescript-tools').setup {} - end, }, } end, diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index 630f65ed..05b5a1a4 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -10,4 +10,17 @@ return { vim.cmd 'Copilot setup' end, }, + { + 'pmizio/typescript-tools.nvim', + requires = { 'nvim-lua/plenary.nvim', 'neovim/nvim-lspconfig' }, + config = function() + require('typescript-tools').setup { + settings = { + tsserver_plugins = { + '@styled/typescript-styled-plugin', + }, + }, + } + end, + }, }