Emmet server for neovim completion based on LSP and official emmet library.
See emmet documentation here
- nvim-lspconfig Installed
- A completion plugin that supports LSP, like:
- A Snippet plugin that supports LSP, like:
npm install -g ls_emmet
In your neovim config:
local lspconfig = require'lspconfig'
local configs = require'lspconfig.configs'
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
if not configs.ls_emmet then
configs.ls_emmet = {
default_config = {
cmd = { 'ls_emmet', '--stdio' };
filetypes = {
'html',
'css',
'scss',
'javascriptreact',
'typescriptreact',
'haml',
'xml',
'xsl',
'pug',
'slim',
'sass',
'stylus',
'less',
'sss',
'hbs',
'handlebars',
};
root_dir = function(fname)
return vim.loop.cwd()
end;
settings = {};
};
}
end
lspconfig.ls_emmet.setup { capabilities = capabilities }
Just type:
table>tr*3>td*2
And it will be expanded to:
<table>
<tr>
<td>|</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
Bug reports, feature suggestions and especially code contributions are welcome. You open a GitHub issue or pull request. Please read this document before opening an issue.
Markup | StyleSheets |
---|---|
HTML | CSS |
TSX | SCSS |
JSX | SASS |
JS | STYLUS |
XML | SSS |
XSL | LESS |
HAML | |
PUG | |
SLIM | |
HBS |