xref: /vim-8.2.3635/runtime/indent/gitolite.vim (revision 2bf24176)
1" Vim indent file
2" Language:	gitolite configuration
3" URL:		https://github.com/tmatilai/gitolite.vim
4" Maintainer:	Teemu Matilainen <[email protected]>
5" Last Change:	2011-12-24
6
7if exists("b:did_indent")
8  finish
9endif
10let b:did_indent = 1
11
12setlocal autoindent
13setlocal indentexpr=GetGitoliteIndent()
14setlocal indentkeys=o,O,*<Return>,!^F,=repo,\",=
15
16" Only define the function once.
17if exists("*GetGitoliteIndent")
18  finish
19endif
20
21let s:cpo_save = &cpo
22set cpo&vim
23
24function! GetGitoliteIndent()
25  let prevln = prevnonblank(v:lnum-1)
26  let pline = getline(prevln)
27  let cline = getline(v:lnum)
28
29  if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
30    return &sw
31  elseif cline =~ '^\s*config\s'
32    return &sw
33  elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
34    return &sw
35  elseif cline =~ '^\s*#'
36    return indent(prevln)
37  elseif cline =~ '^\s*$'
38    return -1
39  else
40    return 0
41  endif
42endfunction
43
44let &cpo = s:cpo_save
45unlet s:cpo_save
46