diff options
Diffstat (limited to '.config/nvim/lsp/cssls.lua')
-rw-r--r-- | .config/nvim/lsp/cssls.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/.config/nvim/lsp/cssls.lua b/.config/nvim/lsp/cssls.lua new file mode 100644 index 0000000..5f825b4 --- /dev/null +++ b/.config/nvim/lsp/cssls.lua @@ -0,0 +1,34 @@ +---@brief +--- +--- https://github.com/hrsh7th/vscode-langservers-extracted +--- +--- `css-languageserver` can be installed via `npm`: +--- +--- ```sh +--- npm i -g vscode-langservers-extracted +--- ``` +--- +--- Neovim does not currently include built-in snippets. `vscode-css-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup. +--- +--- ```lua +--- --Enable (broadcasting) snippet capability for completion +--- local capabilities = vim.lsp.protocol.make_client_capabilities() +--- capabilities.textDocument.completion.completionItem.snippetSupport = true +--- +--- vim.lsp.config('cssls', { +--- capabilities = capabilities, +--- }) +--- ``` + +---@type vim.lsp.Config +return { + cmd = { 'vscode-css-language-server', '--stdio' }, + filetypes = { 'css', 'scss', 'less' }, + init_options = { provideFormatter = true }, -- needed to enable formatting capabilities + root_markers = { 'package.json', '.git' }, + settings = { + css = { validate = true }, + scss = { validate = true }, + less = { validate = true }, + }, +} |