1" Vim syntax file 2" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess) 3" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> 4" License: This file can be redistribued and/or modified under the same terms 5" as Vim itself. 6" Last Change: 2020 Oct 07 7" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported 8" TODO: see particular FIXME's scattered through the file 9" make it really linewise? 10" + add `display' where appropriate 11 12" quit when a syntax file was already loaded 13if exists("b:current_syntax") 14 finish 15endif 16 17syn case ignore 18 19" Base constructs 20syn match apacheComment "^\s*#.*$" contains=apacheFixme 21syn match apacheUserID "#-\?\d\+\>" 22syn case match 23syn keyword apacheFixme FIXME TODO XXX NOT 24syn case ignore 25syn match apacheAnything "\s[^>]*" contained 26syn match apacheError "\w\+" contained 27syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline 28 29" Following is to prevent escaped quotes from being parsed as strings. 30syn match apacheSkipQuote +\\"+ 31 32" Core and mpm 33syn 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 34syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter 35syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable 36syn keyword apacheOption INode MTime Size 37syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full 38syn keyword apacheOption emerg alert crit error warn notice info debug 39syn keyword apacheOption registry script inetd standalone 40syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" 41syn keyword apacheOption user group 42syn match apacheOption "\<valid-user\>" 43syn case match 44syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained 45" Added as suggested by Mikko Koivunalho 46syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained 47syn case ignore 48syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything 49syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError 50syn keyword apacheLimitSectionKeyword Limit LimitExcept contained 51syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue 52syn keyword apacheAuthTypeValue Basic Digest 53syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment 54syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained 55syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User 56syn keyword apacheDeclaration MaxThreads ThreadStackSize 57syn keyword apacheDeclaration Win32DisableAcceptEx 58syn keyword apacheDeclaration AssignUserId ChildPerUserId 59syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers 60syn keyword apacheOption flock fcntl sysvsem pthread 61 62" Modules 63syn keyword apacheDeclaration Action Script 64syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch 65syn keyword apacheOption permanent temp seeother gone 66syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile 67syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider 68syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize 69syn keyword apacheOption none auth auth-int MD5 MD5-sess 70syn match apacheSection "<\/\=\(<AuthnProviderAlias\)[^>]*>" contains=apacheAnything 71syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail 72syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery 73syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative 74syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile 75syn keyword apacheOption default SDBM GDBM NDBM DB 76syn keyword apacheDeclaration AuthDefaultAuthoritative 77syn keyword apacheDeclaration AuthUserFile 78syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS 79syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative 80syn keyword apacheOption always never searching finding 81syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter 82syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType 83syn keyword apacheDeclaration AuthzDefaultAuthoritative 84syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative 85syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment 86syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment 87syn keyword apacheAllowDenyValue All None contained 88syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment 89syn keyword apacheOrderValue Deny Allow contained 90syn keyword apacheDeclaration AuthzOwnerAuthoritative 91syn keyword apacheDeclaration AuthzUserAuthoritative 92syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName 93syn keyword apacheDeclaration IndexStyleSheet 94syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified 95syn keyword apacheOption Ascending Descending Name Date Size Description 96syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML 97syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules 98syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer 99syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate 100syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix 101syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer 102syn keyword apacheDeclaration ScriptStock 103syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc 104syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd 105syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout 106syn keyword apacheDeclaration DavLockDB 107syn keyword apacheDeclaration DavGenericLockDB 108syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver 109syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize 110syn keyword apacheDeclaration DirectoryIndex DirectorySlash 111syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin 112syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot 113syn keyword apacheDeclaration DumpIOInput DumpIOOutput 114syn keyword apacheDeclaration ProtocolEcho 115syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv 116syn keyword apacheDeclaration Example 117syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault 118syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions 119syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr 120syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze=" 121syn keyword apacheDeclaration CacheFile MMapFile 122syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace 123syn keyword apacheDeclaration Header 124syn keyword apacheDeclaration RequestHeader 125syn keyword apacheOption set unset append add 126syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout 127syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase 128syn keyword apacheOption none formatted semiformatted unformatted 129syn keyword apacheOption nocontent referer error map 130syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack 131syn keyword apacheOption on off full 132syn keyword apacheDeclaration AddModuleInfo 133syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery 134syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync 135syn keyword apacheDeclaration LDAPCertDBPath 136syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert 137syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX 138syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog 139syn keyword apacheDeclaration ForensicLog 140syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize 141syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig 142syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset 143syn keyword apacheOption NegotiatedOnly Filters Handlers 144syn keyword apacheDeclaration MimeMagicFile 145syn keyword apacheDeclaration MMapFile 146syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority 147syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen 148syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn 149syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv 150syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler 151syn keyword apacheDeclaration PerlTransHandler PerlAccessHandler PerlAuthenHandler PerlAuthzHandler 152syn keyword apacheDeclaration PerlTypeHandler PerlFixupHandler PerlHandler PerlLogHandler 153syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildExitHandler 154syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler 155syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader 156syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag 157syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything 158syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia 159syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule 160syn keyword apacheOption inherit 161syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase 162syn keyword apacheDeclaration LoadFile LoadModule 163syn keyword apacheDeclaration CheckSpelling CheckCaseOnly 164syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCompression SSLCryptoDevice SSLEngine SSLFIPS SSLHonorCipherOrder SSLInsecureRenegotiation SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCheckPeerCN SSLProxyCheckPeerExpire SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateChainFile SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRenegBufferSize SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLSessionTicketKeyFile SSLSessionTickets SSLStrictSNIVHostCheck SSLUserName SSLVerifyClient SSLVerifyDepth 165syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" 166syn keyword apacheOption builtin sem 167syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" 168syn 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\)\>" 169syn keyword apacheOption optional optional_no_ca 170syn keyword apacheDeclaration ExtendedStatus 171syn keyword apacheDeclaration SuexecUserGroup 172syn keyword apacheDeclaration UserDir 173syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking 174syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 175syn match apacheSection "<\/\=\(<IfVersion\)[^>]*>" contains=apacheAnything 176syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP 177 178" Define the default highlighting 179 180hi def link apacheAllowOverride apacheDeclaration 181hi def link apacheAllowOverrideValue apacheOption 182hi def link apacheAuthType apacheDeclaration 183hi def link apacheAuthTypeValue apacheOption 184hi def link apacheOptionOption apacheOption 185hi def link apacheDeclaration Function 186hi def link apacheAnything apacheOption 187hi def link apacheOption Number 188hi def link apacheComment Comment 189hi def link apacheFixme Todo 190hi def link apacheLimitSectionKeyword apacheLimitSection 191hi def link apacheLimitSection apacheSection 192hi def link apacheSection Label 193hi def link apacheMethodOption Type 194hi def link apacheAllowDeny Include 195hi def link apacheAllowDenyValue Identifier 196hi def link apacheOrder Special 197hi def link apacheOrderValue String 198hi def link apacheString String 199hi def link apacheError Error 200hi def link apacheUserID Number 201 202 203let b:current_syntax = "apache" 204