Bram Moolenaar | 1cd871b | 2004-12-19 22:46:22 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: sudoers(5) configuration files. |
| 3 | " Maintainer: Nikolai Weibull <source@pcppopper.org> |
| 4 | " URL: http://www.pcppopper.org/ |
| 5 | " Latest Revision: 2004-12-17 |
| 6 | " arch-tag: 02fc3bc8-4308-466f-b83e-718a7487b198 |
| 7 | |
| 8 | if version < 600 |
| 9 | syntax clear |
| 10 | elseif exists("b:current_syntax") |
| 11 | finish |
| 12 | endif |
| 13 | |
| 14 | " TODO: instead of 'skipnl', we would like to match a specific group that would |
| 15 | " match \\$ and then continue with the nextgroup, actually, the skipnl doesn't |
| 16 | " work... |
| 17 | " TODO: treat 'ALL' like a special (yay, a bundle of new rules!!!) |
| 18 | |
| 19 | " User Specs |
| 20 | syn match sudoersUserSpec '^' nextgroup=@sudoersUserInSpec skipwhite |
| 21 | |
| 22 | syn match sudoersSpecEquals contained '=' nextgroup=@sudoersCmndSpecList skipwhite |
| 23 | |
| 24 | syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASSWD,@sudoersCmndInSpec |
| 25 | |
| 26 | " Todo |
| 27 | syn keyword sudoersTodo contained TODO FIXME XXX NOTE |
| 28 | |
| 29 | " Comments |
| 30 | syn region sudoersComment matchgroup=sudoersComment start='#' end='$' contains=sudoersTodo |
| 31 | |
| 32 | " Aliases |
| 33 | syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl |
| 34 | syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl |
| 35 | syn keyword sudoersAlias Cmnd_Alias nextgroup=sudoersCmndAlias skipwhite skipnl |
| 36 | |
| 37 | " Names |
| 38 | syn match sudoersUserAlias contained '\<\u[A-Z0-9_]*\>' nextgroup=sudoersUserAliasEquals skipwhite skipnl |
| 39 | syn match sudoersUserNameInList contained '\<\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl |
| 40 | syn match sudoersUIDInList contained '#\d\+\>' nextgroup=@sudoersUserList skipwhite skipnl |
| 41 | syn match sudoersGroupInList contained '%\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl |
| 42 | syn match sudoersUserNetgroupInList contained '+\l\+\>' nextgroup=@sudoersUserList skipwhite skipnl |
| 43 | syn match sudoersUserAliasInList contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserList skipwhite skipnl |
| 44 | |
| 45 | syn match sudoersUserName contained '\<\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl |
| 46 | syn match sudoersUID contained '#\d\+\>' nextgroup=@sudoersParameter skipwhite skipnl |
| 47 | syn match sudoersGroup contained '%\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl |
| 48 | syn match sudoersUserNetgroup contained '+\l\+\>' nextgroup=@sudoersParameter skipwhite skipnl |
| 49 | syn match sudoersUserAliasRef contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersParameter skipwhite skipnl |
| 50 | |
| 51 | syn match sudoersUserNameInSpec contained '\<\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl |
| 52 | syn match sudoersUIDInSpec contained '#\d\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl |
| 53 | syn match sudoersGroupInSpec contained '%\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl |
| 54 | syn match sudoersUserNetgroupInSpec contained '+\l\+\>' nextgroup=@sudoersUserSpec skipwhite skipnl |
| 55 | syn match sudoersUserAliasInSpec contained '\<\u[A-Z0-9_]*\>' nextgroup=@sudoersUserSpec skipwhite skipnl |
| 56 | |
| 57 | syn match sudoersUserNameInRunas contained '\<\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl |
| 58 | syn match sudoersUIDInRunas contained '#\d\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl |
| 59 | syn match sudoersGroupInRunas contained '%\l\+\>' nextgroup=@sudoersUserRunas skipwhite skipnl |
| 60 | syn match sudoersUserNetgroupInRunas contained '+\l\+\>' 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 | " Delimiters |
| 90 | syn match sudoersUserAliasEquals contained '=' nextgroup=@sudoersUserInList skipwhite skipnl |
| 91 | syn match sudoersUserListComma contained ',' nextgroup=@sudoersUserInList skipwhite skipnl |
| 92 | syn match sudoersUserListColon contained ':' nextgroup=sudoersUserAlias skipwhite skipnl |
| 93 | syn cluster sudoersUserList contains=sudoersUserListComma,sudoersUserListColon |
| 94 | |
| 95 | syn match sudoersUserSpecComma contained ',' nextgroup=@sudoersUserInSpec skipwhite skipnl |
| 96 | syn cluster sudoersUserSpec contains=sudoersUserSpecComma,@sudoersHostInSpec |
| 97 | |
| 98 | syn match sudoersUserRunasBegin contained '(' nextgroup=@sudoersUserInRunas skipwhite skipnl |
| 99 | syn match sudoersUserRunasComma contained ',' nextgroup=@sudoersUserInRunas skipwhite skipnl |
| 100 | syn match sudoersUserRunasEnd contained ')' nextgroup=sudoersPASSWD,@sudoersCmndInSpec skipwhite skipnl |
| 101 | syn cluster sudoersUserRunas contains=sudoersUserRunasComma,@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 | " Lists |
| 123 | syn cluster sudoersUserInList contains=sudoersUserNegationInList,sudoersUserNameInList,sudoersUIDInList,sudoersGroupInList,sudoersUserNetgroupInList,sudoersUserAliasInList |
| 124 | syn cluster sudoersHostInList contains=sudoersHostNegationInList,sudoersHostNameInList,sudoersIPAddrInList,sudoersNetworkInList,sudoersHostNetgroupInList,sudoersHostAliasInList |
| 125 | syn cluster sudoersCmndInList contains=sudoersCmndNegationInList,sudoersCmndNameInList,sudoersCmndAliasInList |
| 126 | |
| 127 | syn cluster sudoersUser contains=sudoersUserNegation,sudoersUserName,sudoersUID,sudoersGroup,sudoersUserNetgroup,sudoersUserAliasRef |
| 128 | syn cluster sudoersHost contains=sudoersHostNegation,sudoersHostName,sudoersIPAddr,sudoersNetwork,sudoersHostNetgroup,sudoersHostAliasRef |
| 129 | |
| 130 | syn cluster sudoersUserInSpec contains=sudoersUserNegationInSpec,sudoersUserNameInSpec,sudoersUIDInSpec,sudoersGroupInSpec,sudoersUserNetgroupInSpec,sudoersUserAliasInSpec |
| 131 | syn cluster sudoersHostInSpec contains=sudoersHostNegationInSpec,sudoersHostNameInSpec,sudoersIPAddrInSpec,sudoersNetworkInSpec,sudoersHostNetgroupInSpec,sudoersHostAliasInSpec |
| 132 | syn cluster sudoersUserInRunas contains=sudoersUserNegationInRunas,sudoersUserNameInRunas,sudoersUIDInRunas,sudoersGroupInRunas,sudoersUserNetgroupInRunas,sudoersUserAliasInRunas |
| 133 | syn cluster sudoersCmndInSpec contains=sudoersCmndNegationInSpec,sudoersCmndNameInSpec,sudoersCmndAliasInSpec |
| 134 | |
| 135 | " Operators |
| 136 | syn match sudoersUserNegationInList contained '!\+' nextgroup=@sudoersUserInList skipwhite skipnl |
| 137 | syn match sudoersHostNegationInList contained '!\+' nextgroup=@sudoersHostInList skipwhite skipnl |
| 138 | syn match sudoersCmndNegationInList contained '!\+' nextgroup=@sudoersCmndInList skipwhite skipnl |
| 139 | |
| 140 | syn match sudoersUserNegation contained '!\+' nextgroup=@sudoersUser skipwhite skipnl |
| 141 | syn match sudoersHostNegation contained '!\+' nextgroup=@sudoersHost skipwhite skipnl |
| 142 | |
| 143 | syn match sudoersUserNegationInSpec contained '!\+' nextgroup=@sudoersUserInSpec skipwhite skipnl |
| 144 | syn match sudoersHostNegationInSpec contained '!\+' nextgroup=@sudoersHostInSpec skipwhite skipnl |
| 145 | syn match sudoersUserNegationInRunas contained '!\+' nextgroup=@sudoersUserInRunas skipwhite skipnl |
| 146 | syn match sudoersCmndNegationInSpec contained '!\+' nextgroup=@sudoersCmndInSpec skipwhite skipnl |
| 147 | |
| 148 | " Arguments |
| 149 | syn match sudoersCommandArgs contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgs,@sudoersCmndList skipwhite |
| 150 | syn match sudoersCommandEmpty contained '""' nextgroup=@sudoersCmndList skipwhite skipnl |
| 151 | |
| 152 | syn match sudoersCommandArgsInSpec contained '[^[:space:],:=\\]\+\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersCommandArgsInSpec,@sudoersCmndSpec skipwhite |
| 153 | syn match sudoersCommandEmptyInSpec contained '""' nextgroup=@sudoersCmndSpec skipwhite skipnl |
| 154 | |
| 155 | " Default Entries |
| 156 | syn keyword sudoersDefaultEntry Defaults nextgroup=sudoersDefaultTypeAt,sudoersDefaultTypeColon,sudoersDefaultTypeGreaterThan,@sudoersParameter skipwhite skipnl |
| 157 | syn match sudoersDefaultTypeAt contained '@' nextgroup=@sudoersHost skipwhite skipnl |
| 158 | syn match sudoersDefaultTypeColon contained ':' nextgroup=@sudoersUser skipwhite skipnl |
| 159 | syn match sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser skipwhite skipnl |
| 160 | |
| 161 | " TODO: could also deal with special characters here |
| 162 | syn keyword sudoersBooleanParameter contained long_opt_prompt ignore_dot mail_always mail_badpass mail_no_user mail_no_perms tty_tickets lecture authenticate root_sudo log_host log_year shell_noargs set_home always_set_home path_info preserve_groups fqdn insults requiretty env_editor rootpw runaspw targetpw set_logname stay_setuid env_reset use_loginclass nextgroup=sudoersParameterListComma skipwhite skipnl |
| 163 | syn keyword sudoersIntegerParameter contained passwd_tries loglinelen timestamp_timeout passwd_timeout umask nextgroup=sudoersIntegerParameterEquals skipwhite skipnl |
| 164 | syn keyword sudoersStringParameter contained mailsub badpass_message timestampdir timestampowner passprompt runas_default syslog_goodpri syslog_badpri editor logfile syslog mailerpath mailerflags mailto exempt_group verifypw listpw nextgroup=sudoersStringParameterEquals skipwhite skipnl |
| 165 | syn keyword sudoersListParameter contained env_check env_delete env_keep nextgroup=sudoersListParameterEquals skipwhite skipnl |
| 166 | |
| 167 | syn match sudoersParameterListComma contained ',' nextgroup=@sudoersParameter skipwhite skipnl |
| 168 | |
| 169 | syn cluster sudoersParameter contains=sudoersBooleanParameter,sudoersIntegerParameterEquals,sudoersStringParameter,sudoersListParameter |
| 170 | |
| 171 | syn match sudoersIntegerParameterEquals contained '[+-]\==' nextgroup=sudoersIntegerValue skipwhite skipnl |
| 172 | syn match sudoersStringParameterEquals contained '[+-]\==' nextgroup=sudoersStringValue skipwhite skipnl |
| 173 | syn match sudoersListParameterEquals contained '[+-]\==' nextgroup=sudoersListValue skipwhite skipnl |
| 174 | |
| 175 | syn match sudoersIntegerValue contained '\d\+' nextgroup=sudoersParameterListComma skipwhite skipnl |
| 176 | syn match sudoersStringValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl |
| 177 | syn region sudoersStringValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl |
| 178 | syn match sudoersListValue contained '[^[:space:],:=\\]*\%(\\[[:space:],:=\\][^[:space:],:=\\]*\)*' nextgroup=sudoersParameterListComma skipwhite skipnl |
| 179 | syn region sudoersListValue contained start=+"+ skip=+\\"+ end=+"+ nextgroup=sudoersParameterListComma skipwhite skipnl |
| 180 | |
| 181 | " Special for specs |
| 182 | syn match sudoersPASSWD contained '\%(NO\)\=PASSWD:' nextgroup=@sudoersCmndInSpec skipwhite |
| 183 | |
| 184 | " Define the default highlighting. |
| 185 | " For version 5.7 and earlier: only when not done already |
| 186 | " For version 5.8 and later: only when an item doesn't have highlighting yet |
| 187 | if version >= 508 || !exists("did_sudoers_syn_inits") |
| 188 | if version < 508 |
| 189 | let did_sudoers_syn_inits = 1 |
| 190 | command -nargs=+ HiLink hi link <args> |
| 191 | else |
| 192 | command -nargs=+ HiLink hi def link <args> |
| 193 | endif |
| 194 | |
| 195 | HiLink sudoersSpecEquals Operator |
| 196 | HiLink sudoersTodo Todo |
| 197 | HiLink sudoersComment Comment |
| 198 | HiLink sudoersAlias Keyword |
| 199 | HiLink sudoersUserAlias Identifier |
| 200 | HiLink sudoersUserNameInList String |
| 201 | HiLink sudoersUIDInList Number |
| 202 | HiLink sudoersGroupInList PreProc |
| 203 | HiLink sudoersUserNetgroupInList PreProc |
| 204 | HiLink sudoersUserAliasInList PreProc |
| 205 | HiLink sudoersUserName String |
| 206 | HiLink sudoersUID Number |
| 207 | HiLink sudoersGroup PreProc |
| 208 | HiLink sudoersUserNetgroup PreProc |
| 209 | HiLink sudoersUserAliasRef PreProc |
| 210 | HiLink sudoersUserNameInSpec String |
| 211 | HiLink sudoersUIDInSpec Number |
| 212 | HiLink sudoersGroupInSpec PreProc |
| 213 | HiLink sudoersUserNetgroupInSpec PreProc |
| 214 | HiLink sudoersUserAliasInSpec PreProc |
| 215 | HiLink sudoersUserNameInRunas String |
| 216 | HiLink sudoersUIDInRunas Number |
| 217 | HiLink sudoersGroupInRunas PreProc |
| 218 | HiLink sudoersUserNetgroupInRunas PreProc |
| 219 | HiLink sudoersUserAliasInRunas PreProc |
| 220 | HiLink sudoersHostAlias Identifier |
| 221 | HiLink sudoersHostNameInList String |
| 222 | HiLink sudoersIPAddrInList Number |
| 223 | HiLink sudoersNetworkInList Number |
| 224 | HiLink sudoersHostNetgroupInList PreProc |
| 225 | HiLink sudoersHostAliasInList PreProc |
| 226 | HiLink sudoersHostName String |
| 227 | HiLink sudoersIPAddr Number |
| 228 | HiLink sudoersNetwork Number |
| 229 | HiLink sudoersHostNetgroup PreProc |
| 230 | HiLink sudoersHostAliasRef PreProc |
| 231 | HiLink sudoersHostNameInSpec String |
| 232 | HiLink sudoersIPAddrInSpec Number |
| 233 | HiLink sudoersNetworkInSpec Number |
| 234 | HiLink sudoersHostNetgroupInSpec PreProc |
| 235 | HiLink sudoersHostAliasInSpec PreProc |
| 236 | HiLink sudoersCmndAlias Identifier |
| 237 | HiLink sudoersCmndNameInList String |
| 238 | HiLink sudoersCmndAliasInList PreProc |
| 239 | HiLink sudoersCmndNameInSpec String |
| 240 | HiLink sudoersCmndAliasInSpec PreProc |
| 241 | HiLink sudoersUserAliasEquals Operator |
| 242 | HiLink sudoersUserListComma Delimiter |
| 243 | HiLink sudoersUserListColon Delimiter |
| 244 | HiLink sudoersUserSpecComma Delimiter |
| 245 | HiLink sudoersUserRunasBegin Delimiter |
| 246 | HiLink sudoersUserRunasComma Delimiter |
| 247 | HiLink sudoersUserRunasEnd Delimiter |
| 248 | HiLink sudoersHostAliasEquals Operator |
| 249 | HiLink sudoersHostListComma Delimiter |
| 250 | HiLink sudoersHostListColon Delimiter |
| 251 | HiLink sudoersHostSpecComma Delimiter |
| 252 | HiLink sudoersCmndAliasEquals Operator |
| 253 | HiLink sudoersCmndListComma Delimiter |
| 254 | HiLink sudoersCmndListColon Delimiter |
| 255 | HiLink sudoersCmndSpecComma Delimiter |
| 256 | HiLink sudoersCmndSpecColon Delimiter |
| 257 | HiLink sudoersUserNegationInList Operator |
| 258 | HiLink sudoersHostNegationInList Operator |
| 259 | HiLink sudoersCmndNegationInList Operator |
| 260 | HiLink sudoersUserNegation Operator |
| 261 | HiLink sudoersHostNegation Operator |
| 262 | HiLink sudoersUserNegationInSpec Operator |
| 263 | HiLink sudoersHostNegationInSpec Operator |
| 264 | HiLink sudoersUserNegationInRunas Operator |
| 265 | HiLink sudoersCmndNegationInSpec Operator |
| 266 | HiLink sudoersCommandArgs String |
| 267 | HiLink sudoersCommandEmpty Special |
| 268 | HiLink sudoersDefaultEntry Keyword |
| 269 | HiLink sudoersDefaultTypeAt Special |
| 270 | HiLink sudoersDefaultTypeColon Special |
| 271 | HiLink sudoersDefaultTypeGreaterThan Special |
| 272 | HiLink sudoersBooleanParameter Identifier |
| 273 | HiLink sudoersIntegerParameter Identifier |
| 274 | HiLink sudoersStringParameter Identifier |
| 275 | HiLink sudoersListParameter Identifier |
| 276 | HiLink sudoersParameterListComma Delimiter |
| 277 | HiLink sudoersIntegerParameterEquals Operator |
| 278 | HiLink sudoersStringParameterEquals Operator |
| 279 | HiLink sudoersListParameterEquals Operator |
| 280 | HiLink sudoersIntegerValue Number |
| 281 | HiLink sudoersStringValue String |
| 282 | HiLink sudoersListValue String |
| 283 | HiLink sudoersPASSWD Special |
| 284 | |
| 285 | delcommand HiLink |
| 286 | endif |
| 287 | |
| 288 | let b:current_syntax = "sudoers" |
| 289 | |
| 290 | " vim: set sts=2 sw=2: |