diff --git a/autoload/emmet.vim b/autoload/emmet.vim index 5723801..fcd7f5e 100644 --- a/autoload/emmet.vim +++ b/autoload/emmet.vim @@ -108,7 +108,7 @@ endfunction function! emmet#expandAbbrIntelligent(feedkey) abort if !emmet#isExpandable() return a:feedkey - endif + endif return "\(emmet-expand-abbr)" endfunction @@ -682,20 +682,26 @@ function! emmet#expandAbbr(mode, abbr) range abort endif let pos = emmet#util#getcurpos() let use_selection = emmet#getResource(type, 'use_selection', 0) - if use_selection && getline('.')[col('.')-1:] =~# '^\$select' - let pos[2] += 1 - silent! s/\$select\$// - let next = searchpos('.\ze\$select\$', 'nW') - silent! %s/\$\(cursor\|select\)\$//g - call emmet#util#selectRegion([pos[1:2], next]) - return "\gv" - else - silent! %s/\$\(cursor\|select\)\$//g - silent! call setpos('.', pos) - if col('.') < col('$') - return "\" + try + let l:gdefault = &gdefault + let &gdefault = 0 + if use_selection && getline('.')[col('.')-1:] =~# '^\$select' + let pos[2] += 1 + silent! s/\$select\$// + let next = searchpos('.\ze\$select\$', 'nW') + silent! %s/\$\(cursor\|select\)\$//g + call emmet#util#selectRegion([pos[1:2], next]) + return "\gv" + else + silent! %s/\$\(cursor\|select\)\$//g + silent! call setpos('.', pos) + if col('.') < col('$') + return "\" + endif endif - endif + finally + let &gdefault = l:gdefault + endtry let &selection = oldselection endif return ''