From 50b44d90c9a2778aa3235d893a0a3dc48f9b1c3d Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 19 Jun 2019 00:46:33 +0900 Subject: [PATCH] Fix hang-up while split/join tag --- autoload/emmet.vim | 3 +++ autoload/emmet/lang/html.vim | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/autoload/emmet.vim b/autoload/emmet.vim index 72b9f64..6815e95 100644 --- a/autoload/emmet.vim +++ b/autoload/emmet.vim @@ -386,6 +386,9 @@ function! emmet#getFileType(...) abort if type == 'htmlTagName' let type = '' endif + if type =~ '^mkdSnippet' + let type = tolower(type[10:]) + endif if type =~? '^css' let type = 'css' diff --git a/autoload/emmet/lang/html.vim b/autoload/emmet/lang/html.vim index 305e9c1..228bfba 100644 --- a/autoload/emmet/lang/html.vim +++ b/autoload/emmet/lang/html.vim @@ -894,8 +894,9 @@ endfunction function! emmet#lang#html#splitJoinTag() abort let curpos = emmet#util#getcurpos() + let mx = '<\(/\{0,1}[a-zA-Z][-a-zA-Z0-9:_\-]*\)\%(\%(\s[a-zA-Z][a-zA-Z0-9]\+=\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\s*\%(/\{0,1}\)>' while 1 - let mx = '<\(/\{0,1}[a-zA-Z][-a-zA-Z0-9:_\-]*\)\%(\%(\s[a-zA-Z][a-zA-Z0-9]\+=\%([^"'' \t]\+\|"[^"]\{-}"\|''[^'']\{-}''\)\s*\)*\)\%(/\{0,1}\)>' + let old = getpos('.')[1:2] let pos1 = searchpos(mx, 'bcnW') let content = matchstr(getline(pos1[0])[pos1[1]-1:], mx) let tag_name = substitute(content, '^<\(/\{0,1}[a-zA-Z][a-zA-Z0-9:_\-]*\).*$', '\1', '') @@ -927,6 +928,10 @@ function! emmet#lang#html#splitJoinTag() abort call setpos('.', curpos) return endif + if pos1 == old + call setpos('.', curpos) + return + endif endif endif endwhile