gitolite.vim (4454B)
1 " Vim syntax file 2 " Language: gitolite configuration 3 " URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/syntax/gitolite.vim 4 " (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/syntax/gitolite.vim) 5 " Maintainer: Sitaram Chamarty <sitaramc@gmail.com> 6 " (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>) 7 " Last Change: 2017 Oct 05 8 9 if exists("b:current_syntax") 10 finish 11 endif 12 13 let s:cpo_save = &cpo 14 set cpo&vim 15 16 " this seems to be the best way, for now. 17 syntax sync fromstart 18 19 " ---- common stuff 20 21 syn match gitoliteGroup '@\S\+' 22 23 syn match gitoliteComment '#.*' contains=gitoliteTodo 24 syn keyword gitoliteTodo TODO FIXME XXX NOT contained 25 26 " ---- main section 27 28 " catch template-data syntax appearing outside template-data section 29 syn match gitoliteRepoError '^\s*repo.*=' 30 syn match gitoliteRepoError '^\s*\S\+\s*=' " this gets overridden later when first word is a perm, don't worry 31 32 " normal gitolite group and repo lines 33 syn match gitoliteGroupLine '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment 34 syn match gitoliteRepoLine '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment 35 syn keyword gitoliteRepo repo contained 36 37 syn keyword gitoliteSpecialRepo CREATOR 38 39 " normal gitolite rule lines 40 syn match gitoliteRuleLine '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup 41 syn match gitoliteRule '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained 42 syn match gitoliteRefex '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex 43 syn match gitoliteSpecialRefex 'NAME/' 44 syn match gitoliteSpecialRefex '/USER/' 45 syn match gitoliteCreateRule '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup 46 syn match gitoliteDenyRule '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained 47 48 " normal gitolite config (and similar) lines 49 syn match gitoliteConfigLine '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment 50 syn keyword gitoliteConfigKW config option include subconf contained 51 syn match gitoliteConfigKey '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained 52 syn match gitoliteConfigVal '\(=\s*\)\@<=\S.*' contained 53 54 " ---- template-data section 55 56 syn region gitoliteTemplateLine matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError 57 58 syn match gitoliteTplRepoLine '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup 59 syn keyword gitoliteTplRepo repo contained 60 syn match gitoliteTplTemplates '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment 61 62 syn match gitoliteTplRoleLine '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment 63 syn match gitoliteTplRole '\S\+\s*='he=e-1 contained 64 65 " catch normal gitolite rules appearing in template-data section 66 syn match gitoliteTplError '^\s*repo[^=]*$' contained 67 syn match gitoliteTplError '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained 68 syn match gitoliteTplError '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained 69 syn match gitoliteTplError '^\s*@\S\+\s*=' contained contains=NONE 70 71 hi def link gitoliteGroup Identifier 72 hi def link gitoliteComment Comment 73 hi def link gitoliteTodo ToDo 74 hi def link gitoliteRepoError Error 75 hi def link gitoliteGroupLine PreProc 76 hi def link gitoliteRepo Keyword 77 hi def link gitoliteSpecialRepo PreProc 78 hi def link gitoliteRule Keyword 79 hi def link gitoliteCreateRule PreProc 80 hi def link gitoliteDenyRule WarningMsg 81 hi def link gitoliteRefex Constant 82 hi def link gitoliteSpecialRefex PreProc 83 hi def link gitoliteConfigKW Keyword 84 hi def link gitoliteConfigKey Identifier 85 hi def link gitoliteConfigVal String 86 hi def link gitoliteTplRepo Keyword 87 hi def link gitoliteTplTemplates Constant 88 hi def link gitoliteTplRole Constant 89 hi def link gitoliteTplError Error 90 91 let b:current_syntax = "gitolite" 92 93 let &cpo = s:cpo_save 94 unlet s:cpo_save