From 32560d5a9c4c3ac7056bb583104b97bafa12bbc1 Mon Sep 17 00:00:00 2001 From: presuku Date: Wed, 10 Dec 2014 15:11:17 +0900 Subject: [PATCH 1/2] Change "'<" and "'>" to "v" and ".". --- autoload/asterisk.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autoload/asterisk.vim b/autoload/asterisk.vim index c806e95..7d66bc6 100644 --- a/autoload/asterisk.vim +++ b/autoload/asterisk.vim @@ -86,7 +86,7 @@ function! s:convert_2_word_pattern_4_visual(pattern, config) abort if a:config.is_whole let head = matchstr(text, '^.') let is_head_multibyte = 1 < len(head) - let [l, col] = getpos("'<")[1 : 2] + let [l, col] = getpos("v")[1 : 2] let line = getline(l) let before = line[: col - 2] let outer = matchstr(before, '.$') @@ -96,7 +96,7 @@ function! s:convert_2_word_pattern_4_visual(pattern, config) abort endif let tail = matchstr(text, '.$') let is_tail_multibyte = 1 < len(tail) - let [l, col] = getpos("'>")[1 : 2] + let [l, col] = getpos(".")[1 : 2] let col += len(tail) - 1 let line = getline(l) let after = line[col :] From e4c539145c18a03d360e4b6176e06a1130e39dae Mon Sep 17 00:00:00 2001 From: haya14busa Date: Wed, 10 Dec 2014 17:25:47 +0900 Subject: [PATCH 2/2] Fix to use appropriate position to handle multibyte - getpos('.') doesn't always greater than getpos('v') --- autoload/asterisk.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/autoload/asterisk.vim b/autoload/asterisk.vim index b23a26e..a066d3e 100644 --- a/autoload/asterisk.vim +++ b/autoload/asterisk.vim @@ -84,9 +84,10 @@ function! s:convert_2_word_pattern_4_visual(pattern, config) abort let type = (a:config.direction is# s:DIRECTION.forward ? '/' : '?') let [pre, post] = ['', ''] if a:config.is_whole + let [head_pos, tail_pos] = s:sort_pos([getpos('.')[1:2], getpos('v')[1:2]]) let head = matchstr(text, '^.') let is_head_multibyte = 1 < len(head) - let [l, col] = getpos("v")[1 : 2] + let [l, col] = head_pos let line = getline(l) let before = line[: col - 2] let outer = matchstr(before, '.$') @@ -96,7 +97,7 @@ function! s:convert_2_word_pattern_4_visual(pattern, config) abort endif let tail = matchstr(text, '.$') let is_tail_multibyte = 1 < len(tail) - let [l, col] = getpos(".")[1 : 2] + let [l, col] = tail_pos let col += len(tail) - 1 let line = getline(l) let after = line[col :]