From 136b87a3301e341dfebdf3eea512571a9a95ef9d Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Tue, 10 Nov 2015 09:35:38 +0900 Subject: [PATCH] expand snippets for filetypes like html.handlebars Close #298 --- autoload/emmet.vim | 17 +++++++++++++++-- autoload/emmet/lang/html.vim | 3 ++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/autoload/emmet.vim b/autoload/emmet.vim index 564726b..f70ebd9 100644 --- a/autoload/emmet.vim +++ b/autoload/emmet.vim @@ -315,8 +315,15 @@ function! emmet#getResource(type, name, default) abort if has_key(s:emmet_settings, '*') && has_key(s:emmet_settings['*'], a:name) let global = extend(global, s:emmet_settings['*'][a:name]) endif + echo a:type - for type in split(a:type, '\.') + if has_key(s:emmet_settings, a:type) + let types = [a:type] + else + let types = split(a:type, '\.') + endif + + for type in types if !has_key(s:emmet_settings, type) continue endif @@ -366,7 +373,13 @@ endfunction function! emmet#getFileType(...) abort let flg = get(a:000, 0, 0) let type = '' - for part in split(&filetype, '\.') + + if has_key(s:emmet_settings, &filetype) + let types = [&filetype] + else + let types = split(a:type, '\.') + endif + for part in types if emmet#lang#exists(part) let type = part break diff --git a/autoload/emmet/lang/html.vim b/autoload/emmet/lang/html.vim index 63c79f8..62919f5 100644 --- a/autoload/emmet/lang/html.vim +++ b/autoload/emmet/lang/html.vim @@ -136,7 +136,8 @@ function! emmet#lang#html#parseIntoTree(abbr, type) abort let snippet = substitute(snippet, '|', '${cursor}', 'g') endif " just redirect to expanding - if snippet !~ '^\s*<' + if snippet !~ '^\s*[{\[<]' + let part = emmet#lang#html#findTokens(part) return emmet#lang#html#parseIntoTree(snippet, a:type) endif let lines = split(snippet, "\n", 1)