neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

sudoers.vim (24977B)


      1 " Vim syntax file
      2 " Language:             sudoers(5) configuration files
      3 " Maintainer:           Eisuke Kawashima ( e.kawaschima+vim AT gmail.com )
      4 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
      5 " Latest Revision:      2024 Sep 02
      6 " Recent Changes:	Support for #include and #includedir.
      7 " 2018 Aug 28 by Vim project Added many new options (Samuel D. Leslie)
      8 " 2024 Sep 09 by Vim project Update allowed Tag_Spec Runas_Spec syntax items
      9 " 2026 Feb 13 by Vim project update regex for matching usernames #19396
     10 
     11 if exists("b:current_syntax")
     12  finish
     13 endif
     14 
     15 let s:cpo_save = &cpo
     16 set cpo&vim
     17 
     18 " TODO: instead of 'skipnl', we would like to match a specific group that would
     19 " match \\$ and then continue with the nextgroup, actually, the skipnl doesn't
     20 " work...
     21 " TODO: treat 'ALL' like a special (yay, a bundle of new rules!!!)
     22 
     23 syn match   sudoersUserSpec '^' nextgroup=@sudoersUserInSpec skipwhite
     24 
     25 syn match   sudoersSpecEquals         contained '=' nextgroup=@sudoersCmndSpecList skipwhite
     26 
     27 syn cluster sudoersCmndSpecList       contains=sudoersUserRunasBegin,sudoersTagSpec,@sudoersCmndInSpec
     28 
     29 syn keyword sudoersTodo               contained TODO FIXME XXX NOTE
     30 
     31 syn region  sudoersComment            display oneline start='#' end='$' contains=sudoersTodo
     32 syn region  sudoersInclude            display oneline start='[#@]\%(include\|includedir\)\>' end='$'
     33 
     34 syn keyword sudoersAlias              User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl
     35 syn keyword sudoersAlias              Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl
     36 syn keyword sudoersAlias              Cmnd_Alias nextgroup=sudoersCmndAlias skipwhite skipnl
     37 
     38 syn match   sudoersUserAlias          contained '\<\u[A-Z0-9_]*\>'  nextgroup=sudoersUserAliasEquals  skipwhite skipnl
     39 syn match   sudoersUserNameInList     contained '\<\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserList        skipwhite skipnl
     40 syn match   sudoersUIDInList          contained '#\d\+\>'           nextgroup=@sudoersUserList        skipwhite skipnl
     41 syn match   sudoersGroupInList        contained '%\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserList        skipwhite skipnl
     42 syn match   sudoersUserNetgroupInList contained '+\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserList        skipwhite skipnl
     43 syn match   sudoersUserAliasInList    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersUserList        skipwhite skipnl
     44 
     45 syn match   sudoersUserName           contained '\<\l[-a-z0-9_]*\>'  nextgroup=@sudoersParameter       skipwhite skipnl
     46 syn match   sudoersUID                contained '#\d\+\>'           nextgroup=@sudoersParameter       skipwhite skipnl
     47 syn match   sudoersGroup              contained '%\l[-a-z0-9_]*\>'  nextgroup=@sudoersParameter       skipwhite skipnl
     48 syn match   sudoersUserNetgroup       contained '+\l[-a-z0-9_]*\>'  nextgroup=@sudoersParameter       skipwhite skipnl
     49 syn match   sudoersUserAliasRef       contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersParameter       skipwhite skipnl
     50 
     51 syn match   sudoersUserNameInSpec     contained '\<\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserSpec        skipwhite skipnl
     52 syn match   sudoersUIDInSpec          contained '#\d\+\>'           nextgroup=@sudoersUserSpec        skipwhite skipnl
     53 syn match   sudoersGroupInSpec        contained '%\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserSpec        skipwhite skipnl
     54 syn match   sudoersUserNetgroupInSpec contained '+\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserSpec        skipwhite skipnl
     55 syn match   sudoersUserAliasInSpec    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersUserSpec        skipwhite skipnl
     56 
     57 syn match   sudoersUserNameInRunas    contained '\<\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserRunas       skipwhite skipnl
     58 syn match   sudoersUIDInRunas         contained '#\d\+\>'           nextgroup=@sudoersUserRunas       skipwhite skipnl
     59 syn match   sudoersGroupInRunas       contained '%\l[-a-z0-9_]*\>'  nextgroup=@sudoersUserRunas       skipwhite skipnl
     60 syn match   sudoersUserNetgroupInRunas contained '+\l[-a-z0-9_]*\>' nextgroup=@sudoersUserRunas       skipwhite skipnl
     61 syn match   sudoersUserAliasInRunas   contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersUserRunas       skipwhite skipnl
     62 
     63 syn match   sudoersHostAlias          contained '\<\u[A-Z0-9_]*\>'  nextgroup=sudoersHostAliasEquals  skipwhite skipnl
     64 syn match   sudoersHostNameInList     contained '\<\l\+\>'          nextgroup=@sudoersHostList        skipwhite skipnl
     65 syn match   sudoersIPAddrInList       contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostList skipwhite skipnl
     66 syn match   sudoersNetworkInList      contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostList skipwhite skipnl
     67 syn match   sudoersHostNetgroupInList contained '+\l\+\>'           nextgroup=@sudoersHostList        skipwhite skipnl
     68 syn match   sudoersHostAliasInList    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersHostList        skipwhite skipnl
     69 
     70 syn match   sudoersHostName           contained '\<\l\+\>'          nextgroup=@sudoersParameter       skipwhite skipnl
     71 syn match   sudoersIPAddr             contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersParameter skipwhite skipnl
     72 syn match   sudoersNetwork            contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersParameter skipwhite skipnl
     73 syn match   sudoersHostNetgroup       contained '+\l\+\>'           nextgroup=@sudoersParameter       skipwhite skipnl
     74 syn match   sudoersHostAliasRef       contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersParameter       skipwhite skipnl
     75 
     76 syn match   sudoersHostNameInSpec     contained '\<\l\+\>'          nextgroup=@sudoersHostSpec        skipwhite skipnl
     77 syn match   sudoersIPAddrInSpec       contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}' nextgroup=@sudoersHostSpec skipwhite skipnl
     78 syn match   sudoersNetworkInSpec      contained '\%(\d\{1,3}\.\)\{3}\d\{1,3}\%(/\%(\%(\d\{1,3}\.\)\{3}\d\{1,3}\|\d\+\)\)\=' nextgroup=@sudoersHostSpec skipwhite skipnl
     79 syn match   sudoersHostNetgroupInSpec contained '+\l\+\>'           nextgroup=@sudoersHostSpec        skipwhite skipnl
     80 syn match   sudoersHostAliasInSpec    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersHostSpec        skipwhite skipnl
     81 
     82 syn match   sudoersCmndAlias          contained '\<\u[A-Z0-9_]*\>'  nextgroup=sudoersCmndAliasEquals  skipwhite skipnl
     83 syn match   sudoersCmndNameInList     contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndList,sudoersCommandEmpty,sudoersCommandArgs skipwhite
     84 syn match   sudoersCmndAliasInList    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersCmndList        skipwhite skipnl
     85 
     86 syn match   sudoersCmndNameInSpec     contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=@sudoersCmndSpec,sudoersCommandEmptyInSpec,sudoersCommandArgsInSpec skipwhite
     87 syn match   sudoersCmndAliasInSpec    contained '\<\u[A-Z0-9_]*\>'  nextgroup=@sudoersCmndSpec        skipwhite skipnl
     88 
     89 syn match   sudoersUserAliasEquals  contained '=' nextgroup=@sudoersUserInList  skipwhite skipnl
     90 syn match   sudoersUserListComma    contained ',' nextgroup=@sudoersUserInList  skipwhite skipnl
     91 syn match   sudoersUserListColon    contained ':' nextgroup=sudoersUserAlias    skipwhite skipnl
     92 syn cluster sudoersUserList         contains=sudoersUserListComma,sudoersUserListColon
     93 
     94 syn match   sudoersUserSpecComma    contained ',' nextgroup=@sudoersUserInSpec  skipwhite skipnl
     95 syn cluster sudoersUserSpec         contains=sudoersUserSpecComma,@sudoersHostInSpec
     96 
     97 syn match   sudoersUserRunasBegin   contained '(' nextgroup=@sudoersUserInRunas,sudoersUserRunasColon skipwhite skipnl
     98 syn match   sudoersUserRunasComma   contained ',' nextgroup=@sudoersUserInRunas skipwhite skipnl
     99 syn match   sudoersUserRunasColon   contained ':' nextgroup=@sudoersUserInRunas skipwhite skipnl
    100 syn match   sudoersUserRunasEnd     contained ')' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite skipnl
    101 syn cluster sudoersUserRunas        contains=sudoersUserRunasComma,sudoersUserRunasColon,@sudoersUserInRunas,sudoersUserRunasEnd
    102 
    103 
    104 syn match   sudoersHostAliasEquals  contained '=' nextgroup=@sudoersHostInList  skipwhite skipnl
    105 syn match   sudoersHostListComma    contained ',' nextgroup=@sudoersHostInList  skipwhite skipnl
    106 syn match   sudoersHostListColon    contained ':' nextgroup=sudoersHostAlias    skipwhite skipnl
    107 syn cluster sudoersHostList         contains=sudoersHostListComma,sudoersHostListColon
    108 
    109 syn match   sudoersHostSpecComma    contained ',' nextgroup=@sudoersHostInSpec  skipwhite skipnl
    110 syn cluster sudoersHostSpec         contains=sudoersHostSpecComma,sudoersSpecEquals
    111 
    112 
    113 syn match   sudoersCmndAliasEquals  contained '=' nextgroup=@sudoersCmndInList  skipwhite skipnl
    114 syn match   sudoersCmndListComma    contained ',' nextgroup=@sudoersCmndInList  skipwhite skipnl
    115 syn match   sudoersCmndListColon    contained ':' nextgroup=sudoersCmndAlias    skipwhite skipnl
    116 syn cluster sudoersCmndList         contains=sudoersCmndListComma,sudoersCmndListColon
    117 
    118 syn match   sudoersCmndSpecComma    contained ',' nextgroup=@sudoersCmndSpecList skipwhite skipnl
    119 syn match   sudoersCmndSpecColon    contained ':' nextgroup=@sudoersUserInSpec  skipwhite skipnl
    120 syn cluster sudoersCmndSpec         contains=sudoersCmndSpecComma,sudoersCmndSpecColon
    121 
    122 syn cluster sudoersUserInList       contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersUserNetgroupInList,sudoersUserAliasInList
    123 syn cluster sudoersHostInList       contains=sudoersHostNegationInList,sudoersHostNameInList,sudoersIPAddrInList,sudoersNetworkInList,sudoersHostNetgroupInList,sudoersHostAliasInList
    124 syn cluster sudoersCmndInList       contains=sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList
    125 
    126 syn cluster sudoersUser             contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersUserNetgroup,sudoersUserAliasRef
    127 syn cluster sudoersHost             contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef
    128 
    129 syn cluster sudoersUserInSpec       contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec
    130 syn cluster sudoersHostInSpec       contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec
    131 syn cluster sudoersUserInRunas      contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas
    132 syn cluster sudoersCmndInSpec       contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec
    133 
    134 syn match   sudoersUserNegationInList contained '!\+' nextgroup=@sudoersUserInList  skipwhite skipnl
    135 syn match   sudoersHostNegationInList contained '!\+' nextgroup=@sudoersHostInList  skipwhite skipnl
    136 syn match   sudoersCmndNegationInList contained '!\+' nextgroup=@sudoersCmndInList  skipwhite skipnl
    137 
    138 syn match   sudoersUserNegation       contained '!\+' nextgroup=@sudoersUser        skipwhite skipnl
    139 syn match   sudoersHostNegation       contained '!\+' nextgroup=@sudoersHost        skipwhite skipnl
    140 
    141 syn match   sudoersUserNegationInSpec contained '!\+' nextgroup=@sudoersUserInSpec  skipwhite skipnl
    142 syn match   sudoersHostNegationInSpec contained '!\+' nextgroup=@sudoersHostInSpec  skipwhite skipnl
    143 syn match   sudoersUserNegationInRunas contained '!\+' nextgroup=@sudoersUserInRunas skipwhite skipnl
    144 syn match   sudoersCmndNegationInSpec contained '!\+' nextgroup=@sudoersCmndInSpec  skipwhite skipnl
    145 
    146 syn match   sudoersCommandArgs      contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgs,@sudoersCmndList skipwhite
    147 syn match   sudoersCommandEmpty     contained '""' nextgroup=@sudoersCmndList skipwhite skipnl
    148 
    149 syn match   sudoersCommandArgsInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgsInSpec,@sudoersCmndSpec skipwhite
    150 syn match   sudoersCommandEmptyInSpec contained '""' nextgroup=@sudoersCmndSpec skipwhite skipnl
    151 
    152 syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,@sudoersParameter skipwhite skipnl
    153 syn match   sudoersDefaultTypeAt          contained '@' nextgroup=@sudoersHost skipwhite skipnl
    154 syn match   sudoersDefaultTypeColon       contained ':' nextgroup=@sudoersUser skipwhite skipnl
    155 syn match   sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser skipwhite skipnl
    156 
    157 " TODO: could also deal with special characters here
    158 syn match   sudoersBooleanParameter contained '!' nextgroup=sudoersBooleanParameter skipwhite skipnl
    159 syn keyword sudoersBooleanParameter contained skipwhite skipnl
    160                                  \ always_query_group_plugin
    161                                  \ always_set_home
    162                                  \ authenticate
    163                                  \ closefrom_override
    164                                  \ compress_io
    165                                  \ env_editor
    166                                  \ env_reset
    167                                  \ exec_background
    168                                  \ fast_glob
    169                                  \ fqdn
    170                                  \ ignore_audit_errors
    171                                  \ ignore_dot
    172                                  \ ignore_iolog_errors
    173                                  \ ignore_local_sudoers
    174                                  \ ignore_logfile_errors
    175                                  \ ignore_unknown_defaults
    176                                  \ insults
    177                                  \ log_host
    178                                  \ log_input
    179                                  \ log_output
    180                                  \ log_year
    181                                  \ long_otp_prompt
    182                                  \ mail_all_cmnds
    183                                  \ mail_always
    184                                  \ mail_badpass
    185                                  \ mail_no_host
    186                                  \ mail_no_perms
    187                                  \ mail_no_user
    188                                  \ match_group_by_gid
    189                                  \ netgroup_tuple
    190                                  \ noexec
    191                                  \ pam_session
    192                                  \ pam_setcred
    193                                  \ passprompt_override
    194                                  \ path_info
    195                                  \ preserve_groups
    196                                  \ pwfeedback
    197                                  \ requiretty
    198                                  \ root_sudo
    199                                  \ rootpw
    200                                  \ runaspw
    201                                  \ set_home
    202                                  \ set_logname
    203                                  \ set_utmp
    204                                  \ setenv
    205                                  \ shell_noargs
    206                                  \ stay_setuid
    207                                  \ sudoedit_checkdir
    208                                  \ sudoedit_follow
    209                                  \ syslog_pid
    210                                  \ targetpw
    211                                  \ tty_tickets
    212                                  \ umask_override
    213                                  \ use_netgroups
    214                                  \ use_pty
    215                                  \ user_command_timeouts
    216                                  \ utmp_runas
    217                                  \ visiblepw
    218 
    219 syn keyword sudoersIntegerParameter contained
    220                                  \ nextgroup=sudoersIntegerParameterEquals
    221                                  \ skipwhite skipnl
    222                                  \ closefrom
    223                                  \ command_timeout
    224                                  \ loglinelen
    225                                  \ maxseq
    226                                  \ passwd_timeout
    227                                  \ passwd_tries
    228                                  \ syslog_maxlen
    229                                  \ timestamp_timeout
    230                                  \ umask
    231 
    232 syn keyword sudoersStringParameter  contained
    233                                  \ nextgroup=sudoersStringParameterEquals
    234                                  \ skipwhite skipnl
    235                                  \ askpass
    236                                  \ badpass_message
    237                                  \ editor
    238                                  \ env_file
    239                                  \ exempt_group
    240                                  \ fdexec
    241                                  \ group_plugin
    242                                  \ iolog_dir
    243                                  \ iolog_file
    244                                  \ iolog_flush
    245                                  \ iolog_group
    246                                  \ iolog_mode
    247                                  \ iolog_user
    248                                  \ lecture
    249                                  \ lecture_file
    250                                  \ lecture_status_dir
    251                                  \ listpw
    252                                  \ logfile
    253                                  \ mailerflags
    254                                  \ mailerpath
    255                                  \ mailfrom
    256                                  \ mailsub
    257                                  \ mailto
    258                                  \ noexec_file
    259                                  \ pam_login_service
    260                                  \ pam_service
    261                                  \ passprompt
    262                                  \ restricted_env_file
    263                                  \ role
    264                                  \ runas_default
    265                                  \ secure_path
    266                                  \ sudoers_locale
    267                                  \ syslog
    268                                  \ syslog_badpri
    269                                  \ syslog_goodpri
    270                                  \ timestamp_type
    271                                  \ timestampdir
    272                                  \ timestampowner
    273                                  \ type
    274                                  \ verifypw
    275 
    276 syn keyword sudoersListParameter    contained
    277                                  \ nextgroup=sudoersListParameterEquals
    278                                  \ skipwhite skipnl
    279                                  \ env_check
    280                                  \ env_delete
    281                                  \ env_keep
    282 
    283 syn match   sudoersParameterListComma contained ',' nextgroup=@sudoersParameter skipwhite skipnl
    284 
    285 syn cluster sudoersParameter        contains=sudoersBooleanParameter,sudoersIntegerParameter,sudoersStringParameter,sudoersListParameter
    286 
    287 syn match   sudoersIntegerParameterEquals contained '[+-]\==' nextgroup=sudoersIntegerValue skipwhite skipnl
    288 syn match   sudoersStringParameterEquals  contained '[+-]\==' nextgroup=sudoersStringValue  skipwhite skipnl
    289 syn match   sudoersListParameterEquals    contained '[+-]\==' nextgroup=sudoersListValue    skipwhite skipnl
    290 
    291 syn match   sudoersIntegerValue contained '\d\+' nextgroup=sudoersParameterListComma skipwhite skipnl
    292 syn match   sudoersStringValue  contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
    293 syn region  sudoersStringValue  contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
    294 syn match   sudoersListValue    contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl
    295 syn region  sudoersListValue    contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl
    296 
    297 syn match   sudoersTagSpec      contained '\%(NO\)\=\%(EXEC\|FOLLOW\|LOG_\%(INPUT\|OUTPUT\)\|MAIL\|INTERCEPT\|PASSWD\|SETENV\):' nextgroup=sudoersTagSpec,@sudoersCmndInSpec skipwhite
    298 
    299 hi def link sudoersSpecEquals               Operator
    300 hi def link sudoersTodo                     Todo
    301 hi def link sudoersComment                  Comment
    302 hi def link sudoersAlias                    Keyword
    303 hi def link sudoersUserAlias                Identifier
    304 hi def link sudoersUserNameInList           String
    305 hi def link sudoersUIDInList                Number
    306 hi def link sudoersGroupInList              PreProc
    307 hi def link sudoersUserNetgroupInList       PreProc
    308 hi def link sudoersUserAliasInList          PreProc
    309 hi def link sudoersUserName                 String
    310 hi def link sudoersUID                      Number
    311 hi def link sudoersGroup                    PreProc
    312 hi def link sudoersUserNetgroup             PreProc
    313 hi def link sudoersUserAliasRef             PreProc
    314 hi def link sudoersUserNameInSpec           String
    315 hi def link sudoersUIDInSpec                Number
    316 hi def link sudoersGroupInSpec              PreProc
    317 hi def link sudoersUserNetgroupInSpec       PreProc
    318 hi def link sudoersUserAliasInSpec          PreProc
    319 hi def link sudoersUserNameInRunas          String
    320 hi def link sudoersUIDInRunas               Number
    321 hi def link sudoersGroupInRunas             PreProc
    322 hi def link sudoersUserNetgroupInRunas      PreProc
    323 hi def link sudoersUserAliasInRunas         PreProc
    324 hi def link sudoersHostAlias                Identifier
    325 hi def link sudoersHostNameInList           String
    326 hi def link sudoersIPAddrInList             Number
    327 hi def link sudoersNetworkInList            Number
    328 hi def link sudoersHostNetgroupInList       PreProc
    329 hi def link sudoersHostAliasInList          PreProc
    330 hi def link sudoersHostName                 String
    331 hi def link sudoersIPAddr                   Number
    332 hi def link sudoersNetwork                  Number
    333 hi def link sudoersHostNetgroup             PreProc
    334 hi def link sudoersHostAliasRef             PreProc
    335 hi def link sudoersHostNameInSpec           String
    336 hi def link sudoersIPAddrInSpec             Number
    337 hi def link sudoersNetworkInSpec            Number
    338 hi def link sudoersHostNetgroupInSpec       PreProc
    339 hi def link sudoersHostAliasInSpec          PreProc
    340 hi def link sudoersCmndAlias                Identifier
    341 hi def link sudoersCmndNameInList           String
    342 hi def link sudoersCmndAliasInList          PreProc
    343 hi def link sudoersCmndNameInSpec           String
    344 hi def link sudoersCmndAliasInSpec          PreProc
    345 hi def link sudoersUserAliasEquals          Operator
    346 hi def link sudoersUserListComma            Delimiter
    347 hi def link sudoersUserListColon            Delimiter
    348 hi def link sudoersUserSpecComma            Delimiter
    349 hi def link sudoersUserRunasBegin           Delimiter
    350 hi def link sudoersUserRunasComma           Delimiter
    351 hi def link sudoersUserRunasColon           Delimiter
    352 hi def link sudoersUserRunasEnd             Delimiter
    353 hi def link sudoersHostAliasEquals          Operator
    354 hi def link sudoersHostListComma            Delimiter
    355 hi def link sudoersHostListColon            Delimiter
    356 hi def link sudoersHostSpecComma            Delimiter
    357 hi def link sudoersCmndAliasEquals          Operator
    358 hi def link sudoersCmndListComma            Delimiter
    359 hi def link sudoersCmndListColon            Delimiter
    360 hi def link sudoersCmndSpecComma            Delimiter
    361 hi def link sudoersCmndSpecColon            Delimiter
    362 hi def link sudoersUserNegationInList       Operator
    363 hi def link sudoersHostNegationInList       Operator
    364 hi def link sudoersCmndNegationInList       Operator
    365 hi def link sudoersUserNegation             Operator
    366 hi def link sudoersHostNegation             Operator
    367 hi def link sudoersUserNegationInSpec       Operator
    368 hi def link sudoersHostNegationInSpec       Operator
    369 hi def link sudoersUserNegationInRunas      Operator
    370 hi def link sudoersCmndNegationInSpec       Operator
    371 hi def link sudoersCommandArgs              String
    372 hi def link sudoersCommandEmpty             Special
    373 hi def link sudoersDefaultEntry             Keyword
    374 hi def link sudoersDefaultTypeAt            Special
    375 hi def link sudoersDefaultTypeColon         Special
    376 hi def link sudoersDefaultTypeGreaterThan   Special
    377 hi def link sudoersBooleanParameter         Identifier
    378 hi def link sudoersIntegerParameter         Identifier
    379 hi def link sudoersStringParameter          Identifier
    380 hi def link sudoersListParameter            Identifier
    381 hi def link sudoersParameterListComma       Delimiter
    382 hi def link sudoersIntegerParameterEquals   Operator
    383 hi def link sudoersStringParameterEquals    Operator
    384 hi def link sudoersListParameterEquals      Operator
    385 hi def link sudoersIntegerValue             Number
    386 hi def link sudoersStringValue              String
    387 hi def link sudoersListValue                String
    388 hi def link sudoersTagSpec                  Special
    389 hi def link sudoersInclude                  Statement
    390 
    391 let b:current_syntax = "sudoers"
    392 
    393 let &cpo = s:cpo_save
    394 unlet s:cpo_save