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