1
0
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:
amix
2015-02-13 00:19:27 +00:00
parent a4b4587019
commit 00f043f0de
25 changed files with 386 additions and 109 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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\+'),