From 2923201d2cc80ad8ba594d1c11bf55d1ea737518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Carvalho?= <42584819+Lcarv20@users.noreply.github.com> Date: Fri, 19 Jan 2024 02:50:21 +0100 Subject: [PATCH 1/2] Adding vtsls & disabling typescript-tools. --- lua/user/extras/typescript-tools.lua | 1 + lua/user/extras/vtsls.lua | 65 ++++++++++++++++++++++++++++ lua/user/lspsettings/vtsls.lua | 15 +++++++ 3 files changed, 81 insertions(+) create mode 100644 lua/user/extras/vtsls.lua create mode 100644 lua/user/lspsettings/vtsls.lua diff --git a/lua/user/extras/typescript-tools.lua b/lua/user/extras/typescript-tools.lua index 198ac44d..328e26bd 100644 --- a/lua/user/extras/typescript-tools.lua +++ b/lua/user/extras/typescript-tools.lua @@ -1,4 +1,5 @@ local M = { + enabled = false, "pmizio/typescript-tools.nvim", dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, } diff --git a/lua/user/extras/vtsls.lua b/lua/user/extras/vtsls.lua new file mode 100644 index 00000000..0dd6d4b8 --- /dev/null +++ b/lua/user/extras/vtsls.lua @@ -0,0 +1,65 @@ +local status_ok, which_key = pcall(require, "which-key") +if not status_ok then + return +end + +local opts = { + mode = "n", -- NORMAL mode + prefix = "", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps +} + +local M = { + event = "VeryLazy", + "yioneko/nvim-vtsls", + config = function() + vim.api.nvim_create_autocmd({ "FileType" }, { + pattern = { + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "help", + "man", + "lspinfo", + "spectre_panel", + "lir", + "DressingSelect", + "tsplayground", + "", + }, + callback = function() + local mappings = { + c = { + name = "Tools➡(javascript)", + R = { "VtsExec rename_file", "[R]ename file" }, + C = { "VtsExec goto_project_config", "open [c]onfig" }, + d = { "VtsExec goto_source_definition", "source [d]efenition" }, + r = { "VtsExec file_references", "file [r]eferences" }, + o = { "VtsExec organize_imports", "[o]rganize imports" }, + s = { "VtsExec sort_imports", "[s]ort imports" }, + U = { "VtsExec remove_unused_imports", "remove [U]nused imports" }, + f = { "VtsExec fix_all", "[f]ix all" }, + u = { "VtsExec remove_unused", "remove [u]nused" }, + m = { "VtsExec add_missing_imports", "add [m]issing imports" }, + a = { "VtsExec source_actions", "source [a]ctions" }, + t = { "VtsExec select_ts_version", "select [t]s version" }, + p = { "VtsExec reload_projects", "reload [p]rojects" }, + }, + } + + which_key.register(mappings, opts) + end, + }) + + end +} + +return M + + + + diff --git a/lua/user/lspsettings/vtsls.lua b/lua/user/lspsettings/vtsls.lua new file mode 100644 index 00000000..16f7014a --- /dev/null +++ b/lua/user/lspsettings/vtsls.lua @@ -0,0 +1,15 @@ +-- Dont forget to uninstall tsserver +return { + settings = { + typescript = { + inlayHints = { + parameterNames = { enabled = "literals" }, + parameterTypes = { enabled = true }, + variableTypes = { enabled = true }, + propertyDeclarationTypes = { enabled = true }, + functionLikeReturnTypes = { enabled = true }, + enumMemberValues = { enabled = true }, + } + }, + } +} \ No newline at end of file From eeeb16ee0e7f52d3e0d807ab2a493ab247e8f181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Carvalho?= <42584819+Lcarv20@users.noreply.github.com> Date: Fri, 19 Jan 2024 02:57:46 +0100 Subject: [PATCH 2/2] Adding vtsls default config, and tailwindcss server config --- lua/user/lspconfig.lua | 4 ++++ lua/user/lspsettings/tailwindcss.lua | 29 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 lua/user/lspsettings/tailwindcss.lua diff --git a/lua/user/lspconfig.lua b/lua/user/lspconfig.lua index 2a8e6fbd..7abba2e3 100644 --- a/lua/user/lspconfig.lua +++ b/lua/user/lspconfig.lua @@ -154,6 +154,10 @@ function M.config() require("neodev").setup {} end + if server == "vtsls" then + require("lspconfig.configs").vtsls = require("vtsls").lspconfig + end + lspconfig[server].setup(opts) end end diff --git a/lua/user/lspsettings/tailwindcss.lua b/lua/user/lspsettings/tailwindcss.lua new file mode 100644 index 00000000..95916f2e --- /dev/null +++ b/lua/user/lspsettings/tailwindcss.lua @@ -0,0 +1,29 @@ +return { + settings = { + tailwindCSS = { + classAttributes = { "class", "className", "class:list", "classList", "ngClass", ".*Styles", ".*Classes" }, + -- experimental = { + -- classRegex = { + -- "tw`([^`]*)", + -- "className\\s*:\\s*['\"`]([^'\"`]*)['\"`]", + -- "Classes \\=([^;]*);", + -- "'([^']*)'", + -- "Classes \\=([^;]*);", + -- '"([^"]*)"', + -- "Classes \\=([^;]*);", + -- "\\`([^\\`]*)\\`", + -- }, + -- }, + lint = { + cssConflict = "warning", + invalidApply = "error", + invalidConfigPath = "error", + invalidScreen = "error", + invalidTailwindDirective = "error", + invalidVariant = "error", + recommendedVariantOrder = "warning", + }, + validate = true, + }, + }, + }