Remove unnecessary prev output wipe

This commit is contained in:
Junegunn Choi
2013-09-22 21:48:14 +09:00
parent afc95b5ed7
commit 94a750e03e

View File

@@ -95,7 +95,6 @@ function! s:ignored_syntax()
endif endif
endfunction endfunction
let s:prev_echon_len = 0
function! s:echon_(tokens) function! s:echon_(tokens)
" http://vim.wikia.com/wiki/How_to_print_full_screen_width_messages " http://vim.wikia.com/wiki/How_to_print_full_screen_width_messages
let xy = [&ruler, &showcmd] let xy = [&ruler, &showcmd]
@@ -104,11 +103,6 @@ function! s:echon_(tokens)
let winlen = winwidth(winnr()) - 2 let winlen = winwidth(winnr()) - 2
let len = len(join(map(copy(a:tokens), 'v:val[1]'), '')) let len = len(join(map(copy(a:tokens), 'v:val[1]'), ''))
if len < s:prev_echon_len
echohl None
echon "\r". repeat(' ', min([winlen, s:prev_echon_len]))
endif
let s:prev_echon_len = len
let ellipsis = len > winlen ? '..' : '' let ellipsis = len > winlen ? '..' : ''
echon "\r" echon "\r"
@@ -574,6 +568,7 @@ function! s:interactive(modes, vis, opts, delims)
while 1 while 1
call s:echon(mode, n, -1, '', opts, warn) call s:echon(mode, n, -1, '', opts, warn)
let check = 0
let warn = '' let warn = ''
let c = getchar() let c = getchar()
@@ -592,16 +587,16 @@ function! s:interactive(modes, vis, opts, delims)
elseif ch == '-' elseif ch == '-'
if empty(n) | let n = '-' if empty(n) | let n = '-'
elseif n == '-' | let n = '' elseif n == '-' | let n = ''
else | break else | let check = 1
endif endif
elseif ch == '*' elseif ch == '*'
if empty(n) | let n = '*' if empty(n) | let n = '*'
elseif n == '*' | let n = '**' elseif n == '*' | let n = '**'
elseif n == '**' | let n = '' elseif n == '**' | let n = ''
else | break else | let check = 1
endif endif
elseif c >= 48 && c <= 57 " Numbers elseif c >= 48 && c <= 57 " Numbers
if n[0] == '*' | break if n[0] == '*' | let check = 1
else | let n = n . ch else | let n = n . ch
end end
elseif ch == "\<C-D>" elseif ch == "\<C-D>"
@@ -650,7 +645,6 @@ function! s:interactive(modes, vis, opts, delims)
elseif ch == "\<C-_>" || ch == "\<C-X>" elseif ch == "\<C-_>" || ch == "\<C-X>"
let prompt = 'Regular expression: ' let prompt = 'Regular expression: '
let ch = s:input(prompt, '', a:vis) let ch = s:input(prompt, '', a:vis)
let s:prev_echon_len = len(prompt . ch)
if !empty(ch) && s:valid_regexp(ch) if !empty(ch) && s:valid_regexp(ch)
let regx = 1 let regx = 1
break break
@@ -658,13 +652,17 @@ function! s:interactive(modes, vis, opts, delims)
let warn = 'Invalid regular expression: '.ch let warn = 'Invalid regular expression: '.ch
endif endif
elseif ch =~ '[[:print:]]' elseif ch =~ '[[:print:]]'
let check = 1
else
let warn = 'Invalid character'
endif
if check
if has_key(a:delims, ch) if has_key(a:delims, ch)
break break
else else
let warn = 'Unknown delimiter key: '.ch let warn = 'Unknown delimiter key: '.ch
endif endif
else
let warn = 'Invalid character'
endif endif
endwhile endwhile
return [mode, n, ch, s:normalize_options(opts), regx] return [mode, n, ch, s:normalize_options(opts), regx]