1" Vim syntax file 2" Language: pam(8) configuration file 3" Maintainer: Nikolai Weibull <now@bitwi.se> 4" Latest Revision: 2006-04-19 5 6 7if exists("b:current_syntax") 8 finish 9endif 10 11let s:cpo_save = &cpo 12set cpo&vim 13 14syn match pamconfService '^[[:graph:]]\+' 15 \ nextgroup=pamconfType, 16 \ pamconfServiceLineCont skipwhite 17 18syn keyword pamconfTodo contained TODO FIXME XXX NOTE 19 20syn region pamconfComment display oneline start='#' end='$' 21 \ contains=pamconfTodo,@Spell 22 23syn match pamconfServiceLineCont contained '\\$' 24 \ nextgroup=pamconfType, 25 \ pamconfServiceLineCont skipwhite skipnl 26 27syn keyword pamconfType account auth password session 28 \ nextgroup=pamconfControl, 29 \ pamconfTypeLineCont skipwhite 30 31syn match pamconfTypeLineCont contained '\\$' 32 \ nextgroup=pamconfControl, 33 \ pamconfTypeLineCont skipwhite skipnl 34 35syn keyword pamconfControl contained requisite required sufficient 36 \ optional 37 \ nextgroup=pamconfMPath, 38 \ pamconfControlLineContH skipwhite 39 40syn match pamconfControlBegin '\[' nextgroup=pamconfControlValues, 41 \ pamconfControlLineCont skipwhite 42 43syn match pamconfControlLineCont contained '\\$' 44 \ nextgroup=pamconfControlValues, 45 \ pamconfControlLineCont skipwhite skipnl 46 47syn keyword pamconfControlValues contained success open_err symbol_err 48 \ service_err system_err buf_err 49 \ perm_denied auth_err cred_insufficient 50 \ authinfo_unavail user_unknown maxtries 51 \ new_authtok_reqd acct_expired session_err 52 \ cred_unavail cred_expired cred_err 53 \ no_module_data conv_err authtok_err 54 \ authtok_recover_err authtok_lock_busy 55 \ authtok_disable_aging try_again ignore 56 \ abort authtok_expired module_unknown 57 \ bad_item and default 58 \ nextgroup=pamconfControlValueEq 59 60syn match pamconfControlValueEq contained '=' nextgroup=pamconfControlAction 61 62syn match pamconfControlActionN contained '\d\+\>' 63 \ nextgroup=pamconfControlValues, 64 \ pamconfControlLineCont,pamconfControlEnd 65 \ skipwhite 66syn keyword pamconfControlAction contained ignore bad die ok done reset 67 \ nextgroup=pamconfControlValues, 68 \ pamconfControlLineCont,pamconfControlEnd 69 \ skipwhite 70 71syn match pamconfControlEnd contained '\]' 72 \ nextgroup=pamconfMPath, 73 \ pamconfControlLineContH skipwhite 74 75syn match pamconfControlLineContH contained '\\$' 76 \ nextgroup=pamconfMPath, 77 \ pamconfControlLineContH skipwhite skipnl 78 79syn match pamconfMPath contained '\S\+' 80 \ nextgroup=pamconfMPathLineCont, 81 \ pamconfArgs skipwhite 82 83syn match pamconfArgs contained '\S\+' 84 \ nextgroup=pamconfArgsLineCont, 85 \ pamconfArgs skipwhite 86 87syn match pamconfMPathLineCont contained '\\$' 88 \ nextgroup=pamconfMPathLineCont, 89 \ pamconfArgs skipwhite skipnl 90 91syn match pamconfArgsLineCont contained '\\$' 92 \ nextgroup=pamconfArgsLineCont, 93 \ pamconfArgs skipwhite skipnl 94 95hi def link pamconfTodo Todo 96hi def link pamconfComment Comment 97hi def link pamconfService Statement 98hi def link pamconfServiceLineCont Special 99hi def link pamconfType Type 100hi def link pamconfTypeLineCont pamconfServiceLineCont 101hi def link pamconfControl Macro 102hi def link pamconfControlBegin Delimiter 103hi def link pamconfControlLineContH pamconfServiceLineCont 104hi def link pamconfControlLineCont pamconfServiceLineCont 105hi def link pamconfControlValues Identifier 106hi def link pamconfControlValueEq Operator 107hi def link pamconfControlActionN Number 108hi def link pamconfControlAction Identifier 109hi def link pamconfControlEnd Delimiter 110hi def link pamconfMPath String 111hi def link pamconfMPathLineCont pamconfServiceLineCont 112hi def link pamconfArgs Normal 113hi def link pamconfArgsLineCont pamconfServiceLineCont 114 115let b:current_syntax = "pamconf" 116 117let &cpo = s:cpo_save 118unlet s:cpo_save 119