blob: b95cf0fa23fd229cb2487345c28b79963ac9a3db [file] [log] [blame]
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01001" Vim indent file
2" Language: gitolite configuration
3" URL: https://github.com/tmatilai/gitolite.vim
4" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
5" Last Change: 2011-11-01
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
21function! GetGitoliteIndent()
22 let prevln = prevnonblank(v:lnum-1)
23 let pline = getline(prevln)
24 let cline = getline(v:lnum)
25
26 if cline =~ '^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\|-\)[ \t=]'
27 return &sw
28 elseif cline =~ '^\s*config\s'
29 return &sw
30 elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
31 return &sw
32 elseif cline =~ '^\s*#'
33 return indent(prevln)
34 elseif cline =~ '^\s*$'
35 return -1
36 else
37 return 0
38 endif
39endfunction