mirror of
https://github.com/amix/vimrc
synced 2025-06-16 09:35:01 +08:00
Updated vim plugins. Nerd tree is on the right by default
This commit is contained in:
@ -1,25 +1,25 @@
|
||||
function! s:sfile()
|
||||
function! s:sfile() abort
|
||||
return expand('<sfile>')
|
||||
endfunction
|
||||
|
||||
let s:state_proto = {}
|
||||
|
||||
function! snipmate#jumping#state()
|
||||
function! snipmate#jumping#state() abort
|
||||
return copy(s:state_proto)
|
||||
endfunction
|
||||
|
||||
function! s:listize_mirror(mirrors)
|
||||
function! s:listize_mirror(mirrors) abort
|
||||
return map(copy(a:mirrors), '[v:val.line, v:val.col]')
|
||||
endfunction
|
||||
|
||||
" Removes snippet state info
|
||||
function! s:state_remove() dict
|
||||
function! s:state_remove() dict abort
|
||||
" Remove all autocmds in group snipmate_changes in the current buffer
|
||||
unlet! b:snip_state
|
||||
silent! au! snipmate_changes * <buffer>
|
||||
endfunction
|
||||
|
||||
function! s:state_find_next_stop(backwards) dict
|
||||
function! s:state_find_next_stop(backwards) dict abort
|
||||
let self.stop_no += a:backwards? -1 : 1
|
||||
while !has_key(self.stops, self.stop_no)
|
||||
if self.stop_no == self.stop_count
|
||||
@ -33,7 +33,7 @@ function! s:state_find_next_stop(backwards) dict
|
||||
endfunction
|
||||
|
||||
" Update state information to correspond to the given tab stop
|
||||
function! s:state_set_stop(backwards) dict
|
||||
function! s:state_set_stop(backwards) dict abort
|
||||
call self.find_next_stop(a:backwards)
|
||||
let self.cur_stop = self.stops[self.stop_no]
|
||||
let self.stop_len = (type(self.cur_stop.placeholder) == type(0))
|
||||
@ -54,7 +54,7 @@ function! s:state_set_stop(backwards) dict
|
||||
endfunction
|
||||
|
||||
" Jump to the next/previous tab stop
|
||||
function! s:state_jump_stop(backwards) dict
|
||||
function! s:state_jump_stop(backwards) dict abort
|
||||
" Update changes just in case
|
||||
" This seems to be only needed because insert completion does not trigger
|
||||
" the CursorMovedI event
|
||||
@ -72,7 +72,7 @@ function! s:state_jump_stop(backwards) dict
|
||||
return self.set_stop(a:backwards)
|
||||
endfunction
|
||||
|
||||
function! s:state_remove_nested(...) dict
|
||||
function! s:state_remove_nested(...) dict abort
|
||||
let id = a:0 ? a:1 : self.stop_no
|
||||
if type(self.stops[id].placeholder) == type([])
|
||||
for i in self.stops[id].placeholder
|
||||
@ -90,7 +90,7 @@ function! s:state_remove_nested(...) dict
|
||||
endfunction
|
||||
|
||||
" Select the placeholder for the current tab stop
|
||||
function! s:state_select_word() dict
|
||||
function! s:state_select_word() dict abort
|
||||
let len = self.stop_len
|
||||
if !len | return '' | endif
|
||||
let l = col('.') != 1 ? 'l' : ''
|
||||
@ -103,7 +103,7 @@ endfunction
|
||||
" Update the snippet as text is typed. The self.update_mirrors() function does
|
||||
" the actual work.
|
||||
" If the cursor moves outside of a placeholder, call self.remove()
|
||||
function! s:state_update_changes() dict
|
||||
function! s:state_update_changes() dict abort
|
||||
let change_len = col('$') - self.prev_len
|
||||
let self.changed = self.changed || change_len != 0
|
||||
let self.end_col += change_len
|
||||
@ -122,7 +122,7 @@ function! s:state_update_changes() dict
|
||||
endfunction
|
||||
|
||||
" Actually update the mirrors for any changed text
|
||||
function! s:state_update_mirrors(change) dict
|
||||
function! s:state_update_mirrors(change) dict abort
|
||||
let newWordLen = self.end_col - self.start_col
|
||||
let newWord = strpart(getline('.'), self.start_col - 1, newWordLen)
|
||||
let changeLen = a:change
|
||||
@ -159,7 +159,7 @@ function! s:state_update_mirrors(change) dict
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:state_find_update_objects(item) dict
|
||||
function! s:state_find_update_objects(item) dict abort
|
||||
let item = a:item
|
||||
let item.update_objects = []
|
||||
|
||||
@ -179,7 +179,7 @@ function! s:state_find_update_objects(item) dict
|
||||
return item.update_objects
|
||||
endfunction
|
||||
|
||||
function! s:state_update(item, change_len) dict
|
||||
function! s:state_update(item, change_len) dict abort
|
||||
let item = a:item
|
||||
if exists('item.update_objects')
|
||||
let to_update = item.update_objects
|
||||
|
@ -2,7 +2,7 @@ let s:sigil = nr2char(31)
|
||||
let snipmate#legacy#sigil = s:sigil
|
||||
|
||||
" Prepare snippet to be processed by s:BuildTabStops
|
||||
function! snipmate#legacy#process_snippet(snip)
|
||||
function! snipmate#legacy#process_snippet(snip) abort
|
||||
let snippet = a:snip
|
||||
let esc_bslash = '\%(\\\@<!\%(\\\\\)*\)\@<='
|
||||
|
||||
@ -76,7 +76,7 @@ endfunction
|
||||
" the matches of "$#", to be replaced with the placeholder. This list is
|
||||
" composed the same way as the parent; the first item is the line number,
|
||||
" and the second is the column.
|
||||
function! snipmate#legacy#build_stops(snip, lnum, col, indent)
|
||||
function! snipmate#legacy#build_stops(snip, lnum, col, indent) abort
|
||||
let stops = {}
|
||||
let i = 0
|
||||
let withoutVars = substitute(a:snip, s:sigil . '\d\+', '', 'g')
|
||||
@ -118,7 +118,7 @@ function! snipmate#legacy#build_stops(snip, lnum, col, indent)
|
||||
endfunction
|
||||
|
||||
" Counts occurences of haystack in needle
|
||||
function! s:count(haystack, needle)
|
||||
function! s:count(haystack, needle) abort
|
||||
let counter = 0
|
||||
let index = stridx(a:haystack, a:needle)
|
||||
while index != -1
|
||||
|
@ -1,12 +1,12 @@
|
||||
" Snippet definition parsing code
|
||||
|
||||
function! s:sfile()
|
||||
function! s:sfile() abort
|
||||
return expand('<sfile>')
|
||||
endfunction
|
||||
|
||||
let s:parser_proto = {}
|
||||
|
||||
function! s:new_parser(text)
|
||||
function! s:new_parser(text) abort
|
||||
let ret = copy(s:parser_proto)
|
||||
let ret.input = a:text
|
||||
let ret.len = strlen(ret.input)
|
||||
@ -18,12 +18,12 @@ function! s:new_parser(text)
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:parser_advance(...) dict
|
||||
function! s:parser_advance(...) dict abort
|
||||
let self.pos += a:0 ? a:1 : 1
|
||||
let self.next = self.input[self.pos]
|
||||
endfunction
|
||||
|
||||
function! s:parser_same(tok) dict
|
||||
function! s:parser_same(tok) dict abort
|
||||
if self.next == a:tok
|
||||
call self.advance()
|
||||
return 1
|
||||
@ -32,7 +32,7 @@ function! s:parser_same(tok) dict
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:parser_id() dict
|
||||
function! s:parser_id() dict abort
|
||||
if self.input[(self.pos):(self.pos+5)] == 'VISUAL'
|
||||
call self.advance(6)
|
||||
return 'VISUAL'
|
||||
@ -45,7 +45,7 @@ function! s:parser_id() dict
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:parser_add_var(var) dict
|
||||
function! s:parser_add_var(var) dict abort
|
||||
let id = a:var[0]
|
||||
if !has_key(self.vars, id)
|
||||
let self.vars[id] = { 'instances' : [] }
|
||||
@ -53,7 +53,7 @@ function! s:parser_add_var(var) dict
|
||||
call add(self.vars[id].instances, a:var)
|
||||
endfunction
|
||||
|
||||
function! s:parser_var() dict
|
||||
function! s:parser_var() dict abort
|
||||
let ret = []
|
||||
if self.same('{')
|
||||
let id = self.id()
|
||||
@ -70,7 +70,7 @@ function! s:parser_var() dict
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:parser_varend() dict
|
||||
function! s:parser_varend() dict abort
|
||||
let ret = []
|
||||
if self.same(':')
|
||||
call extend(ret, self.placeholder())
|
||||
@ -81,11 +81,11 @@ function! s:parser_varend() dict
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:parser_placeholder() dict
|
||||
function! s:parser_placeholder() dict abort
|
||||
return self.parse('}')
|
||||
endfunction
|
||||
|
||||
function! s:parser_subst() dict
|
||||
function! s:parser_subst() dict abort
|
||||
let ret = {}
|
||||
let ret.pat = join(self.text('/', 1))
|
||||
if self.same('/')
|
||||
@ -97,14 +97,14 @@ function! s:parser_subst() dict
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:parser_expr() dict
|
||||
function! s:parser_expr() dict abort
|
||||
let str = join(self.text('`', 1))
|
||||
let ret = eval(str)
|
||||
call self.same('`')
|
||||
return type(ret) == type('') ? ret : string(ret)
|
||||
endfunction
|
||||
|
||||
function! s:parser_text(...) dict
|
||||
function! s:parser_text(...) dict abort
|
||||
let res = []
|
||||
let val = ''
|
||||
if a:0 == 2 && a:2
|
||||
@ -140,7 +140,7 @@ function! s:parser_text(...) dict
|
||||
return res
|
||||
endfunction
|
||||
|
||||
function! s:parser_parse(...) dict
|
||||
function! s:parser_parse(...) dict abort
|
||||
let ret = a:0 ? [] : self.value
|
||||
while self.pos < self.len
|
||||
if self.same('$')
|
||||
@ -186,7 +186,7 @@ call extend(s:parser_proto, snipmate#util#add_methods(s:sfile(), 'parser',
|
||||
\ [ 'advance', 'same', 'id', 'add_var', 'var', 'varend',
|
||||
\ 'placeholder', 'subst', 'expr', 'text', 'parse' ]), 'error')
|
||||
|
||||
function! s:indent(count)
|
||||
function! s:indent(count) abort
|
||||
if &expandtab
|
||||
let shift = repeat(' ', (&sts > 0) ? &sts : &sw)
|
||||
else
|
||||
@ -195,7 +195,7 @@ function! s:indent(count)
|
||||
return repeat(shift, a:count)
|
||||
endfunction
|
||||
|
||||
function! s:visual_placeholder(var, indent)
|
||||
function! s:visual_placeholder(var, indent) abort
|
||||
let arg = get(a:var, 1, {})
|
||||
if type(arg) == type({})
|
||||
let pat = get(arg, 'pat', '')
|
||||
@ -212,7 +212,7 @@ function! s:visual_placeholder(var, indent)
|
||||
return content
|
||||
endfunction
|
||||
|
||||
function! snipmate#parse#snippet(text)
|
||||
function! snipmate#parse#snippet(text) abort
|
||||
let parser = s:new_parser(a:text)
|
||||
call parser.parse()
|
||||
unlet! b:snipmate_visual
|
||||
|
@ -1,6 +1,6 @@
|
||||
" The next function was based on s:function and s:add_methods in fugitive
|
||||
" <https://github.com/tpope/vim-fugitive/blob/master/plugin/fugitive.vim>
|
||||
function! snipmate#util#add_methods(sfile, namespace, methods)
|
||||
function! snipmate#util#add_methods(sfile, namespace, methods) abort
|
||||
let dict = {}
|
||||
for name in a:methods
|
||||
let dict[name] = function(join([matchstr(a:sfile, '<SNR>\d\+'),
|
||||
|
Reference in New Issue
Block a user