mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 14:43:35 +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
	 amix
					amix