emmet
emmet copied to clipboard
Emmet language server for autocompletion in LSP compatible editors
Emmets
Emmet server for neovim completion based on LSP and official emmet library.
See emmet documentation here
Requirements
- nvim-lspconfig Installed
- A completion plugin that supports LSP, like:
- A Snippet plugin that supports LSP, like:
Install
npm install -g ls_emmet
Configuration
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>
Contribuiting
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.
Supported Languages
Markup | StyleSheets |
---|---|
HTML | CSS |
TSX | SCSS |
JSX | SASS |
JS | STYLUS |
XML | SSS |
XSL | LESS |
HAML | |
PUG | |
SLIM | |
HBS |