mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-15 06:53:50 -05:00
Add all vim filetypes
This commit is contained in:
135
syntax/pamconf.vim
Normal file
135
syntax/pamconf.vim
Normal file
@@ -0,0 +1,135 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pamconf') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: pam(8) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2020/08/04
|
||||
" Changes By: Haochen Tong
|
||||
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let s:has_service_field = exists("b:pamconf_has_service_field")
|
||||
\ ? b:pamconf_has_service_field
|
||||
\ : expand('%:t') == 'pam.conf' ? 1 : 0
|
||||
|
||||
syn match pamconfType '-\?[[:alpha:]]\+'
|
||||
\ contains=pamconfTypeKeyword
|
||||
\ nextgroup=pamconfControl,
|
||||
\ pamconfTypeLineCont skipwhite
|
||||
|
||||
syn keyword pamconfTypeKeyword contained account auth password session
|
||||
|
||||
if s:has_service_field
|
||||
syn match pamconfService '^[[:graph:]]\+'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite
|
||||
|
||||
syn match pamconfServiceLineCont contained '\\$'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite skipnl
|
||||
endif
|
||||
|
||||
syn keyword pamconfTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
syn region pamconfComment display oneline start='#' end='$'
|
||||
\ contains=pamconfTodo,@Spell
|
||||
|
||||
syn match pamconfTypeLineCont contained '\\$'
|
||||
\ nextgroup=pamconfControl,
|
||||
\ pamconfTypeLineCont skipwhite skipnl
|
||||
|
||||
syn keyword pamconfControl contained requisite required sufficient
|
||||
\ optional include substack
|
||||
\ 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=pamconfControlActionN,
|
||||
\ 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 Special
|
||||
hi def link pamconfTypeKeyword 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
|
||||
|
||||
endif
|
||||
Reference in New Issue
Block a user