---@brief --- --- https://github.com/hrsh7th/vscode-langservers-extracted --- --- `vscode-html-language-server` can be installed via `npm`: --- ```sh --- npm i -g vscode-langservers-extracted --- ``` --- --- Neovim does not currently include built-in snippets. `vscode-html-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. --- --- The code-formatting feature of the lsp can be controlled with the `provideFormatter` option. --- --- ```lua --- --Enable (broadcasting) snippet capability for completion --- local capabilities = vim.lsp.protocol.make_client_capabilities() --- capabilities.textDocument.completion.completionItem.snippetSupport = true --- --- vim.lsp.config('html', { --- capabilities = capabilities, --- }) --- ``` ---@type vim.lsp.Config return { cmd = function(dispatchers, config) local cmd = 'vscode-html-language-server' if (config or {}).root_dir then local local_cmd = vim.fs.joinpath(config.root_dir, 'node_modules/.bin', cmd) if vim.fn.executable(local_cmd) == 1 then cmd = local_cmd end end return vim.lsp.rpc.start({ cmd, '--stdio' }, dispatchers) end, filetypes = { 'html' }, root_markers = { 'package.json', '.git' }, ---@type lspconfig.settings.html settings = {}, init_options = { provideFormatter = true, embeddedLanguages = { css = true, javascript = true }, configurationSection = { 'html', 'css', 'javascript' }, }, }