diff --git a/autoload/emmet.vim b/autoload/emmet.vim index 3ef568a..f637865 100644 --- a/autoload/emmet.vim +++ b/autoload/emmet.vim @@ -404,6 +404,8 @@ function! emmet#getFileType(...) abort let type = 'typescript' elseif type =~? '^xml' let type = 'xml' + elseif type == 'styledEmmetAbbreviation' + let type = 'styled' else let types = split(&filetype, '\.') for part in types @@ -1680,6 +1682,9 @@ let s:emmet_settings = { \ 'css.drupal': { \ 'extends': 'css', \ }, +\ 'styled': { +\ 'extends': 'css', +\ }, \ 'html': { \ 'snippets': { \ '!': "html:5", diff --git a/autoload/emmet/lang/css.vim b/autoload/emmet/lang/css.vim index 3823337..d26f942 100644 --- a/autoload/emmet/lang/css.vim +++ b/autoload/emmet/lang/css.vim @@ -23,7 +23,7 @@ function! emmet#lang#css#parseIntoTree(abbr, type) abort " emmet let tokens = split(abbr, '+\ze[^+)!]') let block = emmet#util#searchRegion('{', '}') - if abbr !~# '^@' && emmet#getBaseType(type) ==# 'css' && type !=# 'sass' && block[0] ==# [0,0] && block[1] ==# [0,0] + if abbr !~# '^@' && emmet#getBaseType(type) ==# 'css' && type !=# 'sass' && type !=# 'styled' && block[0] ==# [0,0] && block[1] ==# [0,0] let current = emmet#newNode() let current.snippet = substitute(abbr, '\s\+$', '', '') . " {\n" . indent . "${cursor}\n}" let current.name = '' diff --git a/syntax/javascript.vim b/syntax/javascript.vim new file mode 100644 index 0000000..cc07925 --- /dev/null +++ b/syntax/javascript.vim @@ -0,0 +1,3 @@ +" Register `styledEmmetAbbreviation` syntax in `styledDefinition` region defined in +" https://github.com/styled-components/vim-styled-components. +syntax match styledEmmetAbbreviation "[a-z0-9#+!%]\+" containedin=styledDefinition contained diff --git a/syntax/javascriptreact.vim b/syntax/javascriptreact.vim new file mode 100644 index 0000000..f480980 --- /dev/null +++ b/syntax/javascriptreact.vim @@ -0,0 +1 @@ +runtime syntax/javascript.vim diff --git a/syntax/typescript.vim b/syntax/typescript.vim new file mode 100644 index 0000000..f480980 --- /dev/null +++ b/syntax/typescript.vim @@ -0,0 +1 @@ +runtime syntax/javascript.vim diff --git a/syntax/typescriptreact.vim b/syntax/typescriptreact.vim new file mode 100644 index 0000000..f480980 --- /dev/null +++ b/syntax/typescriptreact.vim @@ -0,0 +1 @@ +runtime syntax/javascript.vim