/emmet

Emmet language server

Primary LanguageTypeScript

Emmets

Emmet support based on LSP. This is a fork of this project that seems unmaintained

See emmet documentation here

emmet-gif

Requirements

  1. nvim-lspconfig Installed
  2. A completion plugin that supports LSP, like:
  3. 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', 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'haml',
        'xml', 'xsl', 'pug', 'slim', 'sass', 'stylus', 'less', 'sss'};
      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