From 6a6dc6e0936878338dd5bcc9d32c41d86960be50 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sun, 19 May 2019 23:26:36 +0900 Subject: [PATCH] Fix balance tag --- autoload/emmet/lang/html.vim | 16 ++++------------ plugin/emmet.vim | 4 ++-- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/autoload/emmet/lang/html.vim b/autoload/emmet/lang/html.vim index b691667..4274bca 100644 --- a/autoload/emmet/lang/html.vim +++ b/autoload/emmet/lang/html.vim @@ -810,11 +810,7 @@ endfunction function! emmet#lang#html#balanceTag(flag) range abort let vblock = emmet#util#getVisualBlock() - if a:flag == -2 || a:flag == 2 - let curpos = [0, line("'<"), col("'<"), 0] - else - let curpos = emmet#util#getcurpos() - endif + let curpos = emmet#util#getcurpos() let settings = emmet#getSettings() if a:flag > 0 @@ -846,8 +842,8 @@ function! emmet#lang#html#balanceTag(flag) range abort let mx = '<\([a-zA-Z][a-zA-Z0-9:_\-]*\)[^>]*>' while 1 let pos1 = searchpos(mx, 'W') - if pos1 == curpos[1:2] - let pos1 = searchpos(mx . '\zs', 'W') + if pos1 == [0, 0] || pos1 == curpos[1:2] + let pos1 = searchpos('>\zs', 'W') let pos2 = searchpos('.\ze<', 'W') let block = [pos1, pos2] if emmet#util#regionIsValid(block) @@ -872,11 +868,7 @@ function! emmet#lang#html#balanceTag(flag) range abort endif endwhile endif - if a:flag == -2 || a:flag == 2 - silent! exe 'normal! gv' - else - call setpos('.', curpos) - endif + call setpos('.', curpos) endfunction function! emmet#lang#html#moveNextPrevItem(flag) abort diff --git a/plugin/emmet.vim b/plugin/emmet.vim index 927a467..bb8d8e0 100644 --- a/plugin/emmet.vim +++ b/plugin/emmet.vim @@ -106,10 +106,10 @@ function! s:install_plugin(mode, buffer) \ {'mode': 'n', 'var': 'user_emmet_update_tag', 'key': 'u', 'plug': 'emmet-update-tag', 'func': ':call emmet#updateTag()'}, \ {'mode': 'i', 'var': 'user_emmet_balancetaginward_key', 'key': 'd', 'plug': 'emmet-balance-tag-inward', 'func': ':call emmet#balanceTag(1)'}, \ {'mode': 'n', 'var': 'user_emmet_balancetaginward_key', 'key': 'd', 'plug': 'emmet-balance-tag-inward', 'func': ':call emmet#balanceTag(1)'}, - \ {'mode': 'v', 'var': 'user_emmet_balancetaginward_key', 'key': 'd', 'plug': 'emmet-balance-tag-inward', 'func': ':call emmet#balanceTag(2)'}, + \ {'mode': 'v', 'var': 'user_emmet_balancetaginward_key', 'key': 'd', 'plug': 'emmet-balance-tag-inward', 'func': ':call emmet#balanceTag(1)'}, \ {'mode': 'i', 'var': 'user_emmet_balancetagoutward_key', 'key': 'D', 'plug': 'emmet-balance-tag-outword', 'func': ':call emmet#balanceTag(-1)'}, \ {'mode': 'n', 'var': 'user_emmet_balancetagoutward_key', 'key': 'D', 'plug': 'emmet-balance-tag-outword', 'func': ':call emmet#balanceTag(-1)'}, - \ {'mode': 'v', 'var': 'user_emmet_balancetagoutward_key', 'key': 'D', 'plug': 'emmet-balance-tag-outword', 'func': ':call emmet#balanceTag(-2)'}, + \ {'mode': 'v', 'var': 'user_emmet_balancetagoutward_key', 'key': 'D', 'plug': 'emmet-balance-tag-outword', 'func': ':call emmet#balanceTag(-1)'}, \ {'mode': 'i', 'var': 'user_emmet_next_key', 'key': 'n', 'plug': 'emmet-move-next', 'func': ':call emmet#moveNextPrev(0)'}, \ {'mode': 'n', 'var': 'user_emmet_next_key', 'key': 'n', 'plug': 'emmet-move-next', 'func': ':call emmet#moveNextPrev(0)'}, \ {'mode': 'i', 'var': 'user_emmet_prev_key', 'key': 'N', 'plug': 'emmet-move-prev', 'func': ':call emmet#moveNextPrev(1)'},