gitolite.vim (1321B)
1 " Vim indent file 2 " Language: gitolite configuration 3 " URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/indent/gitolite.vim 4 " (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/indent/gitolite.vim) 5 " Maintainer: Sitaram Chamarty <sitaramc@gmail.com> 6 " (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>) 7 " Last Change: 2022 Apr 06 8 9 if exists("b:did_indent") 10 finish 11 endif 12 let b:did_indent = 1 13 14 setlocal autoindent 15 setlocal indentexpr=GetGitoliteIndent() 16 setlocal indentkeys=o,O,*<Return>,!^F,=repo,\",= 17 18 let b:undo_indent = "setl ai< inde< indk<" 19 20 " Only define the function once. 21 if exists("*GetGitoliteIndent") 22 finish 23 endif 24 25 let s:cpo_save = &cpo 26 set cpo&vim 27 28 function! GetGitoliteIndent() 29 let prevln = prevnonblank(v:lnum-1) 30 let pline = getline(prevln) 31 let cline = getline(v:lnum) 32 33 if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]' 34 return shiftwidth() 35 elseif cline =~ '^\s*config\s' 36 return shiftwidth() 37 elseif cline =~ '^\s*option\s' 38 return shiftwidth() 39 elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$' 40 return shiftwidth() 41 elseif cline =~ '^\s*#' 42 return indent(prevln) 43 elseif cline =~ '^\s*$' 44 return -1 45 else 46 return 0 47 endif 48 endfunction 49 50 let &cpo = s:cpo_save 51 unlet s:cpo_save