diff options
| author | Daniel M. Capella <polyzen@users.noreply.github.com> | 2021-06-14 08:05:36 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-14 01:05:36 -0700 |
| commit | a7a93041d94a646c22af88ddbff688522ce1a01c (patch) | |
| tree | 7587549c7c17c5ffcf5f0bcf7fe7ecef3512ed85 /lua/lspconfig/tailwindcss.lua | |
| parent | [docgen] Update CONFIG.md (diff) | |
| download | nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar.gz nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar.bz2 nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar.lz nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar.xz nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.tar.zst nvim-lspconfig-a7a93041d94a646c22af88ddbff688522ce1a01c.zip | |
feat: add tailwindcss language server
Diffstat (limited to 'lua/lspconfig/tailwindcss.lua')
| -rw-r--r-- | lua/lspconfig/tailwindcss.lua | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/lua/lspconfig/tailwindcss.lua b/lua/lspconfig/tailwindcss.lua new file mode 100644 index 00000000..6a68336a --- /dev/null +++ b/lua/lspconfig/tailwindcss.lua @@ -0,0 +1,103 @@ +local configs = require 'lspconfig/configs' +local util = require 'lspconfig/util' + +local server_name = 'tailwindcss' +local bin_name = 'tailwindcss-language-server' + +configs[server_name] = { + default_config = { + cmd = {bin_name, '--stdio'}, + -- filetypes copied and adjusted from tailwindcss-intellisense + filetypes = { + -- html + 'aspnetcorerazor', + 'astro', + 'astro-markdown', + 'blade', + 'django-html', + 'edge', + 'eelixir', -- vim ft + 'ejs', + 'erb', + 'eruby', -- vim ft + 'gohtml', + 'haml', + 'handlebars', + 'hbs', + 'html', + -- 'HTML (Eex)', + -- 'HTML (EEx)', + 'html-eex', + 'jade', + 'leaf', + 'liquid', + 'markdown', + 'mdx', + 'mustache', + 'njk', + 'nunjucks', + 'php', + 'razor', + 'slim', + 'twig', + -- css + 'css', + 'less', + 'postcss', + 'sass', + 'scss', + 'stylus', + 'sugarss', + -- js + 'javascript', + 'javascriptreact', + 'reason', + 'rescript', + 'typescript', + 'typescriptreact', + -- mixed + 'vue', + 'svelte', + }, + init_options = { + userLanguages = { + eelixir = 'html-eex', + eruby = 'erb', + }, + }, + root_dir = function(fname) + return util.root_pattern('tailwind.config.js', 'tailwind.config.ts')(fname) or + util.root_pattern('postcss.config.js', 'postcss.config.ts')(fname) or + util.find_package_json_ancestor(fname) or + util.find_node_modules_ancestor(fname) or + util.find_git_ancestor(fname) + end, + }, + docs = { + package_json = 'https://raw.githubusercontent.com/tailwindlabs/tailwindcss-intellisense/master/packages/tailwindcss-language-server/package.json', + description = [[ +https://github.com/tailwindlabs/tailwindcss-intellisense + +Tailwind CSS Language Server + +**NOTE:** The current tailwindcss-language-server npm package is a different project. + +Until the standalone server is published to npm, you can extract the server from the VS Code package: + +```bash +curl -L -o tailwindcss-intellisense.vsix $(curl -s https://api.github.com/repos/tailwindlabs/tailwindcss-intellisense/releases/latest | grep 'browser_' | cut -d\" -f4) +unzip tailwindcss-intellisense.vsix -d tailwindcss-intellisense +echo "#\!/usr/bin/env node\n$(cat tailwindcss-intellisense/extension/dist/server/tailwindServer.js)" > tailwindcss-language-server +chmod +x tailwindcss-language-server +``` + +Copy or symlink tailwindcss-language-server to somewhere in your $PATH. + +Alternatively, it might be packaged for your operating system, eg.: +https://aur.archlinux.org/packages/tailwindcss-language-server/ +]], + default_config = { + root_dir = [[root_pattern('tailwind.config.js', 'tailwind.config.ts', 'postcss.config.js', 'postcss.config.ts', 'package.json', 'node_modules', '.git')]], + }, + }, +} |
