xref: /vim-8.2.3635/runtime/syntax/apache.vim (revision 78984f50)
1" Vim syntax file
2" This is a GENERATED FILE. Please always refer to source file at the URI below.
3" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess)
4" Maintainer: David Ne\v{c}as (Yeti) <[email protected]>
5" Last Change: 2002-10-15
6" URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
7" Note: define apache_version to your Apache version, e.g. "1.3", "2", "2.0.39"
8
9" Setup
10if version >= 600
11	if exists("b:current_syntax")
12		finish
13	endif
14else
15	syntax clear
16endif
17
18if exists("apache_version")
19	let s:av = apache_version
20else
21	let s:av = "1.3"
22endif
23let s:av = substitute(s:av, "[^.0-9]", "", "g")
24let s:av = substitute(s:av, "^\\d\\+$", "\\0.999", "")
25let s:av = substitute(s:av, "^\\d\\+\\.\\d\\+$", "\\0.999", "")
26let s:av = substitute(s:av, "\\<\\d\\>", "0\\0", "g")
27let s:av = substitute(s:av, "\\<\\d\\d\\>", "0\\0", "g")
28let s:av = substitute(s:av, "[.]", "", "g")
29
30syn case ignore
31
32" Base constructs
33syn match apacheComment "^\s*#.*$" contains=apacheFixme
34if s:av >= "002000000"
35	syn match apacheUserID "#-\?\d\+\>"
36endif
37syn case match
38syn keyword apacheFixme FIXME TODO XXX NOT
39syn case ignore
40syn match apacheAnything "\s[^>]*" contained
41syn match apacheError "\w\+" contained
42syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+
43
44" Core and mpm
45syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName
46if s:av < "002000000"
47	syn keyword apacheDeclaration AccessConfig AddModule BindAddress BS2000Account ClearModuleList CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxRequestsPerChild MaxSpareServers MinSpareServers PidFile Port ResourceConfig ScoreBoardFile SendBufferSize ServerType StartServers ThreadsPerChild ThreadStackSize User
48endif
49if s:av >= "002000000"
50	syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter
51	syn keyword apacheOption INode MTime Size
52endif
53syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full
54syn keyword apacheOption emerg alert crit error warn notice info debug
55syn keyword apacheOption registry script inetd standalone
56syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>"
57syn keyword apacheOption user group valid-user
58syn case match
59syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained
60syn case ignore
61syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)\+.*>" contains=apacheAnything
62syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)\+.*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError
63syn keyword apacheLimitSectionKeyword Limit LimitExcept contained
64syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue
65syn keyword apacheAuthTypeValue Basic Digest
66syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment
67syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained
68if s:av >= "002000000"
69	syn keyword apacheDeclaration CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User
70	syn keyword apacheDeclaration MaxThreads ThreadStackSize
71	syn keyword apacheDeclaration AssignUserId ChildPerUserId
72	syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers
73	syn keyword apacheOption flock fcntl sysvsem pthread
74endif
75
76" Modules
77syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
78syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
79syn keyword apacheAllowDenyValue All None contained
80syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment
81syn keyword apacheOrderValue Deny Allow contained
82syn keyword apacheDeclaration Action Script
83syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch
84syn keyword apacheOption permanent temp seeother gone
85syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile
86syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail
87if s:av < "002000000"
88	syn keyword apacheDeclaration AuthDBGroupFile AuthDBUserFile AuthDBAuthoritative
89endif
90syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMUserFile AuthDBMAuthoritative
91if s:av >= "002000000"
92	syn keyword apacheDeclaration AuthDBMType
93	syn keyword apacheOption default SDBM GDBM NDBM DB
94endif
95syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestFile AuthDigestGroupFile AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestQop
96syn keyword apacheOption none auth auth-int MD5 MD5-sess
97if s:av >= "002000000"
98	syn keyword apacheDeclaration AuthLDAPAuthoritative AuthLDAPBindON AuthLDAPBindPassword AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPStartTLS AuthLDAPUrl
99	syn keyword apacheOption always never searching finding
100endif
101if s:av < "002000000"
102	syn keyword apacheDeclaration FancyIndexing
103endif
104syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName
105syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified
106syn keyword apacheOption Ascending Descending Name Date Size Description
107if s:av >= "002000000"
108	syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort
109endif
110if s:av < "002000000"
111	syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase
112endif
113if s:av >= "002000000"
114	syn keyword apacheDeclaration CacheDefaultExpire CacheEnable CacheForceCompletion CacheIgnoreCacheControl CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheMaxStreamingBuffer
115endif
116syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix
117syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer
118if s:av >= "002000000"
119	syn keyword apacheDeclaration ScriptStock
120	syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc
121	syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd
122endif
123syn keyword apacheDeclaration Dav DavDepthInfinity DavLockDB DavMinTimeout
124if s:av < "002000000"
125	syn keyword apacheDeclaration Define
126end
127if s:av >= "002000000"
128	syn keyword apacheDeclaration DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize
129endif
130if s:av < "002000000"
131	syn keyword apacheDeclaration AuthDigestFile
132endif
133syn keyword apacheDeclaration DirectoryIndex
134if s:av >= "002000000"
135	syn keyword apacheDeclaration ProtocolEcho
136endif
137syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv
138syn keyword apacheDeclaration Example
139syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault
140if s:av >= "002000000"
141	syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions
142	syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr
143	syn keyword apacheDeclaration CacheFile MMapFile
144endif
145syn keyword apacheDeclaration Header
146if s:av >= "002000000"
147	syn keyword apacheDeclaration RequestHeader
148endif
149syn keyword apacheOption set unset append add
150syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase
151syn keyword apacheOption none formatted semiformatted unformatted
152syn keyword apacheOption nocontent referer error map
153syn keyword apacheDeclaration XBitHack
154if s:av >= "002000000"
155	syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho
156endif
157syn keyword apacheOption on off full
158syn keyword apacheDeclaration AddModuleInfo
159syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery
160if s:av >= "002000000"
161	syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync
162	syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPCertDBPath LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheSize
163endif
164if s:av < "002000000"
165	syn keyword apacheDeclaration AgentLog
166endif
167syn keyword apacheDeclaration CookieLog CustomLog LogFormat TransferLog
168if s:av < "002000000"
169	syn keyword apacheDeclaration RefererIgnore RefererLog
170endif
171if s:av >= "002000000"
172endif
173syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig
174if s:av < "002000000"
175	syn keyword apacheDeclaration ForceType SetHandler
176endif
177if s:av >= "002000000"
178	syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter
179endif
180syn keyword apacheDeclaration MimeMagicFile
181syn keyword apacheDeclaration MMapFile
182syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority
183if s:av >= "002000000"
184	syn keyword apacheDeclaration ForceLanguagePriority
185endif
186syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn
187syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv
188syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler
189syn keyword apacheDeclaration PerlTransHandler PerlAccessHandler PerlAuthenHandler PerlAuthzHandler
190syn keyword apacheDeclaration PerlTypeHandler PerlFixupHandler PerlHandler PerlLogHandler
191syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildExitHandler
192syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
193syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
194syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag
195syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBlock ProxyDomain ProxyPass ProxyPassReverse ProxyReceiveBufferSize ProxyRemote ProxyRequests ProxyVia
196if s:av < "002000000"
197	syn keyword apacheDeclaration CacheRoot CacheSize CacheMaxExpire CacheDefaultExpire CacheLastModifiedFactor CacheGcInterval CacheDirLevels CacheDirLength CacheForceCompletion NoCache
198	syn keyword apacheOption block
199endif
200if s:av >= "002000000"
201	syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)\+.*>" contains=apacheAnything
202	syn keyword apacheDeclaration ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPreserveHost ProxyRemoteMatch ProxyTimeout
203endif
204syn keyword apacheDeclaration RewriteEngine RewriteOptions RewriteLog RewriteLogLevel RewriteLock RewriteMap RewriteBase RewriteCond RewriteRule
205syn keyword apacheOption inherit
206if s:av < "002000000"
207	syn keyword apacheDeclaration RoamingAlias
208endif
209syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
210syn keyword apacheDeclaration LoadFile LoadModule
211syn keyword apacheDeclaration CheckSpelling
212syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLEngine SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLVerifyClient SSLVerifyDepth
213if s:av < "002000000"
214	syn keyword apacheDeclaration SSLLog SSLLogLevel
215endif
216if s:av >= "002000000"
217	syn keyword apacheDeclaration SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth
218endif
219syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
220syn keyword apacheOption builtin sem
221syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):"
222if s:av < "002000000"
223	syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\)\>"
224endif
225if s:av >= "002000000"
226	syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>"
227endif
228syn keyword apacheOption optional require optional_no_ca
229syn keyword apacheDeclaration ExtendedStatus
230if s:av >= "002000000"
231	syn keyword apacheDeclaration SuexecUserGroup
232endif
233syn keyword apacheDeclaration UserDir
234syn keyword apacheDeclaration CookieExpires CookieName CookieTracking
235if s:av >= "002000000"
236	syn keyword apacheDeclaration CookieDomain CookieStyle
237	syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965
238endif
239syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP
240
241" Define the default highlighting
242if version >= 508 || !exists("did_apache_syntax_inits")
243	if version < 508
244		let did_apache_syntax_inits = 1
245		command -nargs=+ HiLink hi link <args>
246	else
247		command -nargs=+ HiLink hi def link <args>
248	endif
249
250	HiLink apacheAllowOverride apacheDeclaration
251	HiLink apacheAllowOverrideValue apacheOption
252	HiLink apacheAuthType apacheDeclaration
253	HiLink apacheAuthTypeValue apacheOption
254	HiLink apacheOptionOption apacheOption
255	HiLink apacheDeclaration Function
256	HiLink apacheAnything apacheOption
257	HiLink apacheOption Number
258	HiLink apacheComment Comment
259	HiLink apacheFixme Todo
260	HiLink apacheLimitSectionKeyword apacheLimitSection
261	HiLink apacheLimitSection apacheSection
262	HiLink apacheSection Label
263	HiLink apacheMethodOption Type
264	HiLink apacheAllowDeny Include
265	HiLink apacheAllowDenyValue Identifier
266	HiLink apacheOrder Special
267	HiLink apacheOrderValue String
268	HiLink apacheString String
269	HiLink apacheError Error
270	HiLink apacheUserID Number
271
272	delcommand HiLink
273endif
274
275let b:current_syntax = "apache"
276