diff --git a/lua/taken/plugins/lsp/lspconfig.lua b/lua/taken/plugins/lsp/lspconfig.lua index 1ddc882..3c8fce9 100644 --- a/lua/taken/plugins/lsp/lspconfig.lua +++ b/lua/taken/plugins/lsp/lspconfig.lua @@ -32,7 +32,6 @@ return { "yamlls", "eslint", "bashls", - "tailwindcss", } for _, lsp in ipairs(defaultLsps) do diff --git a/lua/taken/plugins/lsp/tailwind.lua b/lua/taken/plugins/lsp/tailwind.lua new file mode 100644 index 0000000..0882817 --- /dev/null +++ b/lua/taken/plugins/lsp/tailwind.lua @@ -0,0 +1,21 @@ +local on_attach = require("taken.utils.on_attach") +return { + "luckasRanarison/tailwind-tools.nvim", + name = "tailwind-tools", + build = ":UpdateRemotePlugins", + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-telescope/telescope.nvim", + "neovim/nvim-lspconfig", + }, + config = function() + require("tailwind-tools").setup({ + server = { + on_attach = on_attach, + }, + extension = { + queries = { "tsx " }, + }, + }) + end, +} diff --git a/lua/taken/plugins/nvim-cmp.lua b/lua/taken/plugins/nvim-cmp.lua index f7389a3..62e25ff 100644 --- a/lua/taken/plugins/nvim-cmp.lua +++ b/lua/taken/plugins/nvim-cmp.lua @@ -16,6 +16,7 @@ return { local cmp = require("cmp") local luasnip = require("luasnip") local lspkind = require("lspkind") + local tw = require("tailwind-tools.cmp").lspkind_format require("luasnip/loaders/from_vscode").lazy_load({ paths = { "~/.snippets/" } }) @@ -68,6 +69,7 @@ return { }), formatting = { format = lspkind.cmp_format({ + before = tw, maxwidth = 50, ellipsis_char = "...", }), diff --git a/queries/tsx/class.scm b/queries/tsx/class.scm new file mode 100644 index 0000000..2579e8c --- /dev/null +++ b/queries/tsx/class.scm @@ -0,0 +1,9 @@ +(jsx_attribute + (property_identifier) @_attribute_name + (#any-of? @_attribute_name "class" "className" "style" "css" "tw") + [ + (string + (string_fragment) @tailwind) + (jsx_expression + (template_string) @tailwind.inner) + ])