Install vim74
[msysgit.git] / share / vim / vim74 / syntax / gitolite.vim
blob718aad0de94c59de516966fe3737984db3bc24d1
1 " Vim syntax 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-12-25
7 if exists("b:current_syntax")
8   finish
9 endif
11 let s:cpo_save = &cpo
12 set cpo&vim
14 " Comment
15 syn match       gitoliteComment         "\(^\|\s\)#.*" contains=gitoliteTodo
16 syn keyword     gitoliteTodo            TODO FIXME XXX NOT contained
18 " Groups, users and repos
19 syn match       gitoliteGroupDef        "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep
20 syn match       gitoliteGroupDefSep     "\s*=" contained nextgroup=gitoliteRepoLine
21 syn match       gitoliteRepoDef         "^\s*repo\s" nextgroup=gitoliteRepoLine
23 syn match       gitoliteRepoLine        ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
24 syn match       gitoliteUserLine        ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
26 syn match       gitoliteWildRepo        "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{},][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
27 syn match       gitoliteGroup           "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
29 syn keyword     gitoliteCreator         CREATER CREATOR contained
30 syn keyword     gitolitePreProc         CREATER CREATOR READERS WRITERS contained
32 syn match       gitoliteExtCmdHelper    "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd
33 syn match       gitoliteExtCmd          "rsync\(\s\|$\)" contained
35 " Illegal characters
36 syn match       gitoliteRepoError       "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{},-]\+" contained
37 syn match       gitoliteUserError       "[^ \t0-9a-zA-Z._@+-]\+" contained
38 syn match       gitoliteSpaceError      "\s\+" contained
40 " Permission
41 syn match       gitoliteKeyword         "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex
42 syn match       gitoliteKeyword         "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex
43 syn match       gitoliteRefex           "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine
44 syn match       gitoliteDenyRefex       "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers
45 syn match       gitoliteSpecialRefex    "\sNAME/"he=e-1 contained
46 syn match       gitoliteSpecialRefex    "/USER/"hs=s+1,he=e-1 contained
47 syn match       gitoliteDenyUsers       ".*" contained contains=gitoliteUserError,gitoliteComment
49 " Configuration
50 syn match       gitoliteKeyword         "^\s*config\s\+" nextgroup=gitoliteConfVariable
51 syn match       gitoliteConfVariable    "[^=]*" contained
53 " Include
54 syn match       gitoliteInclude         "^\s*\(include\|subconf\)\s"
56 " String
57 syn region      gitoliteString          start=+"+ end=+"+ oneline
59 " Define the default highlighting
60 hi def link gitoliteComment             Comment
61 hi def link gitoliteTodo                Todo
62 hi def link gitoliteGroupDef            gitoliteGroup
63 hi def link gitoliteGroup               Identifier
64 hi def link gitoliteWildRepo            Special
65 hi def link gitoliteRepoError           gitoliteError
66 hi def link gitoliteUserError           gitoliteError
67 hi def link gitoliteSpaceError          gitoliteError
68 hi def link gitoliteError               Error
69 hi def link gitoliteCreator             gitolitePreProc
70 hi def link gitolitePreProc             PreProc
71 hi def link gitoliteExtCmdHelper        PreProc
72 hi def link gitoliteExtCmd              Special
73 hi def link gitoliteRepoDef             Type
74 hi def link gitoliteKeyword             Keyword
75 hi def link gitoliteRefex               String
76 hi def link gitoliteDenyRefex           gitoliteRefex
77 hi def link gitoliteSpecialRefex        PreProc
78 hi def link gitoliteDenyUsers           WarningMsg
79 hi def link gitoliteConfVariable        Identifier
80 hi def link gitoliteInclude             Include
81 hi def link gitoliteString              String
83 let b:current_syntax = "gitolite"
85 let &cpo = s:cpo_save
86 unlet s:cpo_save