| " Vim syntax file |
| " Language: pam(8) configuration file |
| " Maintainer: Nikolai Weibull <now@bitwi.se> |
| " Latest Revision: 2006-04-19 |
| |
| |
| if exists("b:current_syntax") |
| finish |
| endif |
| |
| let s:cpo_save = &cpo |
| set cpo&vim |
| |
| syn match pamconfService '^[[:graph:]]\+' |
| \ nextgroup=pamconfType, |
| \ pamconfServiceLineCont skipwhite |
| |
| syn keyword pamconfTodo contained TODO FIXME XXX NOTE |
| |
| syn region pamconfComment display oneline start='#' end='$' |
| \ contains=pamconfTodo,@Spell |
| |
| syn match pamconfServiceLineCont contained '\\$' |
| \ nextgroup=pamconfType, |
| \ pamconfServiceLineCont skipwhite skipnl |
| |
| syn keyword pamconfType account auth password session |
| \ nextgroup=pamconfControl, |
| \ pamconfTypeLineCont skipwhite |
| |
| syn match pamconfTypeLineCont contained '\\$' |
| \ nextgroup=pamconfControl, |
| \ pamconfTypeLineCont skipwhite skipnl |
| |
| syn keyword pamconfControl contained requisite required sufficient |
| \ optional |
| \ nextgroup=pamconfMPath, |
| \ pamconfControlLineContH skipwhite |
| |
| syn match pamconfControlBegin '\[' nextgroup=pamconfControlValues, |
| \ pamconfControlLineCont skipwhite |
| |
| syn match pamconfControlLineCont contained '\\$' |
| \ nextgroup=pamconfControlValues, |
| \ pamconfControlLineCont skipwhite skipnl |
| |
| syn keyword pamconfControlValues contained success open_err symbol_err |
| \ service_err system_err buf_err |
| \ perm_denied auth_err cred_insufficient |
| \ authinfo_unavail user_unknown maxtries |
| \ new_authtok_reqd acct_expired session_err |
| \ cred_unavail cred_expired cred_err |
| \ no_module_data conv_err authtok_err |
| \ authtok_recover_err authtok_lock_busy |
| \ authtok_disable_aging try_again ignore |
| \ abort authtok_expired module_unknown |
| \ bad_item and default |
| \ nextgroup=pamconfControlValueEq |
| |
| syn match pamconfControlValueEq contained '=' nextgroup=pamconfControlAction |
| |
| syn match pamconfControlActionN contained '\d\+\>' |
| \ nextgroup=pamconfControlValues, |
| \ pamconfControlLineCont,pamconfControlEnd |
| \ skipwhite |
| syn keyword pamconfControlAction contained ignore bad die ok done reset |
| \ nextgroup=pamconfControlValues, |
| \ pamconfControlLineCont,pamconfControlEnd |
| \ skipwhite |
| |
| syn match pamconfControlEnd contained '\]' |
| \ nextgroup=pamconfMPath, |
| \ pamconfControlLineContH skipwhite |
| |
| syn match pamconfControlLineContH contained '\\$' |
| \ nextgroup=pamconfMPath, |
| \ pamconfControlLineContH skipwhite skipnl |
| |
| syn match pamconfMPath contained '\S\+' |
| \ nextgroup=pamconfMPathLineCont, |
| \ pamconfArgs skipwhite |
| |
| syn match pamconfArgs contained '\S\+' |
| \ nextgroup=pamconfArgsLineCont, |
| \ pamconfArgs skipwhite |
| |
| syn match pamconfMPathLineCont contained '\\$' |
| \ nextgroup=pamconfMPathLineCont, |
| \ pamconfArgs skipwhite skipnl |
| |
| syn match pamconfArgsLineCont contained '\\$' |
| \ nextgroup=pamconfArgsLineCont, |
| \ pamconfArgs skipwhite skipnl |
| |
| hi def link pamconfTodo Todo |
| hi def link pamconfComment Comment |
| hi def link pamconfService Statement |
| hi def link pamconfServiceLineCont Special |
| hi def link pamconfType Type |
| hi def link pamconfTypeLineCont pamconfServiceLineCont |
| hi def link pamconfControl Macro |
| hi def link pamconfControlBegin Delimiter |
| hi def link pamconfControlLineContH pamconfServiceLineCont |
| hi def link pamconfControlLineCont pamconfServiceLineCont |
| hi def link pamconfControlValues Identifier |
| hi def link pamconfControlValueEq Operator |
| hi def link pamconfControlActionN Number |
| hi def link pamconfControlAction Identifier |
| hi def link pamconfControlEnd Delimiter |
| hi def link pamconfMPath String |
| hi def link pamconfMPathLineCont pamconfServiceLineCont |
| hi def link pamconfArgs Normal |
| hi def link pamconfArgsLineCont pamconfServiceLineCont |
| |
| let b:current_syntax = "pamconf" |
| |
| let &cpo = s:cpo_save |
| unlet s:cpo_save |