]> git.bundesbrandschatzamt.de Git - emacsconfig.git/commitdiff
added apache-mode
authorAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Wed, 27 Jan 2021 16:11:40 +0000 (17:11 +0100)
committerAndreas Gerler <baronNOSPAMbundesbrandschatzamt.de>
Wed, 27 Jan 2021 16:11:40 +0000 (17:11 +0100)
elpa/apache-mode-20190711.1111/apache-mode-autoloads.el [new file with mode: 0644]
elpa/apache-mode-20190711.1111/apache-mode-pkg.el [new file with mode: 0644]
elpa/apache-mode-20190711.1111/apache-mode.el [new file with mode: 0644]

diff --git a/elpa/apache-mode-20190711.1111/apache-mode-autoloads.el b/elpa/apache-mode-20190711.1111/apache-mode-autoloads.el
new file mode 100644 (file)
index 0000000..0ddddbd
--- /dev/null
@@ -0,0 +1,37 @@
+;;; apache-mode-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+(add-to-list 'load-path (directory-file-name
+                         (or (file-name-directory #$) (car load-path))))
+
+\f
+;;;### (autoloads nil "apache-mode" "apache-mode.el" (0 0 0 0))
+;;; Generated autoloads from apache-mode.el
+
+(autoload 'apache-mode "apache-mode" "\
+Major mode for editing Apache configuration files.
+
+\(fn)" t nil)
+
+(add-to-list 'auto-mode-alist '("/\\.htaccess\\'" . apache-mode))
+
+(add-to-list 'auto-mode-alist '("/\\(?:access\\|httpd\\|srm\\)\\.conf\\'" . apache-mode))
+
+(add-to-list 'auto-mode-alist '("/apache2/.+\\.conf\\'" . apache-mode))
+
+(add-to-list 'auto-mode-alist '("/httpd/conf/.+\\.conf\\'" . apache-mode))
+
+(add-to-list 'auto-mode-alist '("/apache2/sites-\\(?:available\\|enabled\\)/" . apache-mode))
+
+(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "apache-mode" '("apache-")))
+
+;;;***
+\f
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; apache-mode-autoloads.el ends here
diff --git a/elpa/apache-mode-20190711.1111/apache-mode-pkg.el b/elpa/apache-mode-20190711.1111/apache-mode-pkg.el
new file mode 100644 (file)
index 0000000..6389652
--- /dev/null
@@ -0,0 +1,2 @@
+;;; Generated package description from /Users/andreas/.emacs.d/elpa/apache-mode-20190711.1111/apache-mode.el  -*- no-byte-compile: t -*-
+(define-package "apache-mode" "20190711.1111" "Major mode for editing Apache httpd configuration files" 'nil :commit "a66dc1f246cd4ce0960773989bc43188f0394948" :authors '(("Karl Chen" . "quarlNOSPAMnospam.quarl.org")) :maintainer '("USAMI Kenta" . "tadsanNOSPAMzonu.me") :keywords '("languages" "faces") :url "https://github.com/emacs-php/apache-mode")
diff --git a/elpa/apache-mode-20190711.1111/apache-mode.el b/elpa/apache-mode-20190711.1111/apache-mode.el
new file mode 100644 (file)
index 0000000..8e97544
--- /dev/null
@@ -0,0 +1,1208 @@
+;;; apache-mode.el --- Major mode for editing Apache httpd configuration files
+
+;; Copyright (c) 2004, 2005 Karl Chen <quarlNOSPAMnospam.quarl.org>
+;; Copyright (c) 1999 Jonathan Marten  <jonathan.martenNOSPAMuk.sun.com>
+
+;; Author: Karl Chen <quarlNOSPAMnospam.quarl.org>
+;; Maintainer: USAMI Kenta <tadsanNOSPAMzonu.me>
+;; Homepage: https://github.com/emacs-php/apache-mode
+;; License: GPL-2.0-or-later
+;; Keywords: languages, faces
+;; Package-Version: 20190711.1111
+;; Package-Commit: a66dc1f246cd4ce0960773989bc43188f0394948
+;; Version: 2.2.0
+
+;; apache-mode.el is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the Free
+;; Software Foundation; either version 2, or (at your option) any later
+;; version.
+;;
+;; It is distributed in the hope that it will be useful, but WITHOUT ANY
+;; WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+;; FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+;; details.
+;;
+;; You should have received a copy of the GNU General Public License along
+;; with your copy of Emacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Commentary:
+;;
+;; apache-mode is a major mode for editing Apache HTTP Server Configuration files.
+;; https://httpd.apache.org/docs/2.4/en/configuring.html
+;;
+;; This mode supports Apache HTTP Server 2.4 and major modules.
+
+;;; History:
+;;
+;; 1999-10 Jonathan Marten <jonathan.martenNOSPAMuk.sun.com>
+;;   initial version
+;;
+;; 2004-09-12 Karl Chen <quarlNOSPAMnospam.quarl.org>
+;;   rewrote pretty much everything using define-derived-mode; added support
+;;   for Apache 2.x; fixed highlighting in GNU Emacs; created indentation
+;;   function
+;;
+;; 2005-06-29 Kumar Appaiah <akumar_NOSPAMNOSPAMee.iitm.ac.in>
+;;   use syntax table instead of font-lock-keywords to highlight comments.
+;;
+;; 2015-08-23 David Maus <dmausNOSPAMictsoc.de>
+;;   update list of directives for Apache 2.4
+;;
+;; 2018-07-23 USAMI Kenta <tadsan@pixiv.com>
+;;   more update list of directives for Apache 2.4
+;;
+
+;;; Code:
+
+;; Requires
+(require 'regexp-opt)
+
+(defvar apache-indent-level 4
+  "*Number of spaces to indent per level.")
+
+(defvar apache-mode-syntax-table
+  (let ((table (make-syntax-table)))
+    (modify-syntax-entry ?_   "_"    table)
+    (modify-syntax-entry ?-   "_"    table)
+    (modify-syntax-entry ?\(  "()"   table)
+    (modify-syntax-entry ?\)  ")("   table)
+    (modify-syntax-entry ?<   "(>"   table)
+    (modify-syntax-entry ?>   ")<"   table)
+    (modify-syntax-entry ?\"  "\""   table)
+    (modify-syntax-entry ?,   "."    table)
+    (modify-syntax-entry ?#   "<"    table)
+    (modify-syntax-entry ?\n  ">#"   table)
+    table))
+
+;;;###autoload
+(define-derived-mode apache-mode fundamental-mode "Apache"
+  "Major mode for editing Apache configuration files."
+
+  (set (make-local-variable 'comment-start) "# ")
+  (set (make-local-variable 'comment-start-skip) "#\\W*")
+  (set (make-local-variable 'comment-column) 48)
+
+  (set (make-local-variable 'indent-line-function) 'apache-indent-line)
+
+  (set (make-local-variable 'font-lock-defaults)
+       '(apache-font-lock-keywords nil t
+                             ((?_ . "w")
+                              (?- . "w"))
+                             beginning-of-line)))
+
+;; Font lock
+(defconst apache-font-lock-keywords
+  (purecopy
+   (list
+
+    ;; see syntax table for comment highlighting
+
+    ;; (list "^[ \t]*#.*" 0 'font-lock-comment-face t)
+
+    (list (concat                       ; sections
+           "^[ \t]*</?"
+           (regexp-opt
+            '("Directory"          ; core
+              "DirectoryMatch"
+              "Else"
+              "ElseIf"
+              "Files"
+              "FilesMatch"
+              "If"
+              "IfDefine"
+              "IfModule"
+              "Limit"
+              "LimitExcept"
+              "Location"
+              "LocationMatch"
+              "Proxy"
+              "ProxyMatch"
+              "VirtualHost"
+              "AuthnProviderAlias" ; mod_authn_core
+              "AuthzProviderAlias" ; mod_authz_core
+              "RequireAll"
+              "RequireAny"
+              "RequireNone"
+              "Macro"              ; mod_macro
+              "Perl"               ; mod_perl
+              "IfVersion"          ; mod_version
+              )
+            'words)
+           ".*?>")
+          1 'font-lock-function-name-face)
+
+    (list (concat                       ; directives
+           "^[ \t]*"
+           (regexp-opt
+            '("AcceptFilter"                                    ; core
+              "AcceptMutex"
+              "AcceptPathInfo"
+              "AccessConfig"
+              "AccessFileName"
+              "AddDefaultCharset"
+              "AddModule"
+              "AllowEncodedSlashes"
+              "AllowOverride"
+              "AllowOverrideList"
+              "AuthName"
+              "AuthType"
+              "BindAddress"
+              "BS2000Account"
+              "CGIMapExtension"
+              "CGIPassAuth"
+              "ClearModuleList"
+              "ContentDigest"
+              "CoreDumpDirectory"
+              "DefaultRuntimeDir"
+              "DefaultType"
+              "Define"
+              "DocumentRoot"
+              "EBCDICConvert"
+              "EBCDICConvertByType"
+              "EBCDICKludge"
+              "EnableMMAP"
+              "EnableSendfile"
+              "Error"
+              "ErrorDocument"
+              "ErrorLog"
+              "ErrorLogFormat"
+              "FileETag"
+              "ForceType"
+              "GprofDir"
+              "Group"
+              "HostnameLookups"
+              "IdentityCheck"
+              "Include"
+              "IncludeOptional"
+              "KeepAlive"
+              "KeepAliveTimeout"
+              "LimitInternalRecursion"
+              "LimitRequestBody"
+              "LimitRequestFields"
+              "LimitRequestFieldsize"
+              "LimitRequestLine"
+              "LimitXMLRequestBody"
+              "Listen"
+              "ListenBacklog"
+              "LockFile"
+              "LogLevel"
+              "MaxClients"
+              "MaxKeepAliveRequests"
+              "MaxRangeOverlaps"
+              "MaxRangeReversals"
+              "MaxRanges"
+              "MaxRequestsPerChild"
+              "MaxSpareServers"
+              "MergeTrailers"
+              "MinSpareServers"
+              "Mutex"
+              "NameVirtualHost"
+              "Options"
+              "PidFile"
+              "Port"
+              "Protocol"
+              "Require"
+              "ResourceConfig"
+              "RLimitCPU"
+              "RLimitMEM"
+              "RLimitNPROC"
+              "Satisfy"
+              "ScoreBoardFile"
+              "ScriptInterpreterSource"
+              "SeeRequestTail"
+              "SendBufferSize"
+              "ServerAdmin"
+              "ServerAlias"
+              "ServerName"
+              "ServerPath"
+              "ServerRoot"
+              "ServerSignature"
+              "ServerTokens"
+              "ServerType"
+              "SetHandler"
+              "SetInputFilter"
+              "SetOutputFilter"
+              "StartServers"
+              "ThreadsPerChild"
+              "ThreadStackSize"
+              "TimeOut"
+              "TraceEnable"
+              "UnDefine"
+              "UseCanonicalName"
+              "UseCanonicalPhysicalPort"
+              "User"
+              "AuthLDAPAuthorizePrefix"                         ; mod_ authnz_ldap
+              "AuthLDAPBindAuthoritative"
+              "AuthLDAPCharsetConfig"
+              "AuthLDAPCompareAsUser"
+              "AuthLDAPInitialBindAsUser"
+              "AuthLDAPInitialBindPattern"
+              "AuthLDAPMaxSubGroupDepth"
+              "AuthLDAPRemoteUserAttribute"
+              "AuthLDAPSearchAsUser"
+              "AuthLDAPSubGroupAttribute"
+              "AuthLDAPSubGroupClass"
+              "Allow"                                           ; mod_access
+              "Deny"
+              "Order"
+              "Action"                                          ; mod_actions
+              "Script"
+              "Alias"                                           ; mod_alias
+              "AliasMatch"
+              "Redirect"
+              "RedirectMatch"
+              "RedirectPermanent"
+              "RedirectTemp"
+              "ScriptAlias"
+              "ScriptAliasMatch"
+              "AllowMethods"                                    ; mod_allowmethods
+              "AuthAuthoritative"                               ; mod_auth
+              "AuthUserFile"
+              "AuthGroupFile"
+              "Anonymous"                                       ; mod_auth_anon
+              "Anonymous_Authoritative"
+              "Anonymous_LogEmail"
+              "Anonymous_MustGiveEmail"
+              "Anonymous_NoUserID"
+              "Anonymous_VerifyEmail"
+              "AuthBasicAuthoritative"                          ; mod_auth_basic
+              "AuthBasicFake"
+              "AuthBasicProvider"
+              "AuthBasicUseDigestAlgorithm"
+              "AuthDBAuthoritative"                             ; mod_auth_db
+              "AuthDBGroupFile"
+              "AuthDBUserFile"
+              "AuthDBMAuthoritative"                            ; mod_auth_dbm
+              "AuthDBMGroupFile"
+              "AuthDBMType"
+              "AuthDBMUserFile"
+              "AuthDigestAlgorithm"                             ; mod_auth_digest
+              "AuthDigestDomain"
+              "AuthDigestFile"
+              "AuthDigestGroupFile"
+              "AuthDigestNcCheck"
+              "AuthDigestNonceFormat"
+              "AuthDigestNonceLifetime"
+              "AuthDigestProvider"
+              "AuthDigestQop"
+              "AuthDigestShmemSize"
+              "AuthFormAuthoritative"                           ; mod_auth_form
+              "AuthFormBody"
+              "AuthFormDisableNoStore"
+              "AuthFormFakeBasicAuth"
+              "AuthFormLocation"
+              "AuthFormLoginRequiredLocation"
+              "AuthFormLoginSuccessLocation"
+              "AuthFormLogoutLocation"
+              "AuthFormMethod"
+              "AuthFormMimetype"
+              "AuthFormPassword"
+              "AuthFormProvider"
+              "AuthFormSitePassphrase"
+              "AuthFormSize"
+              "AuthFormUsername"
+              "AuthLDAPAuthoritative"                           ; mod_auth_ldap
+              "AuthLDAPBindDN"
+              "AuthLDAPBindPassword"
+              "AuthLDAPCompareDNOnServer"
+              "AuthLDAPDereferenceAliases"
+              "AuthLDAPEnabled"
+              "AuthLDAPFrontPageHack"
+              "AuthLDAPGroupAttribute"
+              "AuthLDAPGroupAttributeIsDN"
+              "AuthLDAPRemoteUserIsDN"
+              "AuthLDAPStartTLS"
+              "AuthLDAPUrl"
+              "AuthDBDUserPWQuery"                              ; mod_authn_dbd
+              "AuthDBDUserRealmQuery"
+              "AuthnCacheContext"                               ; mod_authn_socache
+              "AuthnCacheEnable"
+              "AuthnCacheProvideFor"
+              "AuthnCacheSOCache"
+              "AuthnCacheTimeout"
+              "AuthnzFcgiCheckAuthnProvider"                    ; mod_authnz_fgci
+              "AuthnzFcgiDefineProvider"
+              "AuthMerging"                                     ; mod_authz_core
+              "AuthzSendForbiddenOnFailure"
+              "AuthzDBDLoginToReferer"                          ; mod_authz_dbd
+              "AuthzDBDQuery"
+              "AuthzDBDRedirectQuery"
+              "AuthzDBMType"
+              "AddAlt"                                          ; mod_autoindex
+              "AddAltByEncoding"
+              "AddAltByType"
+              "AddDescription"
+              "AddIcon"
+              "AddIconByEncoding"
+              "AddIconByType"
+              "DefaultIcon"
+              "FancyIndexing"
+              "HeaderName"
+              "IndexHeadInsert"
+              "IndexIgnore"
+              "IndexIgnoreReset"
+              "IndexOptions"
+              "IndexOrderDefault"
+              "IndexStyleSheet"
+              "ReadmeName"
+              "BrowserMatch"                                    ; mod_browser
+              "BrowserMatchNoCase"
+              "BufferSize"                                      ; mod_buffer
+              "CacheDefaultExpire"                              ; mod_cache
+              "CacheDetailHeader"
+              "CacheDisable"
+              "CacheEnable"
+              "CacheHeader"
+              "CacheIgnoreCacheControl"
+              "CacheIgnoreHeaders"
+              "CacheIgnoreNoLastMod"
+              "CacheIgnoreQueryString"
+              "CacheIgnoreURLSessionIdentifiers"
+              "CacheKeyBaseURL"
+              "CacheLastModifiedFactor"
+              "CacheLock"
+              "CacheLockMaxAge"
+              "CacheLockPath"
+              "CacheMaxExpire"
+              "CacheMaxFileSize"
+              "CacheMinExpire"
+              "CacheMinFileSize"
+              "CacheOn"
+              "CacheQuickHandler"
+              "CacheStaleOnError"
+              "CacheStoreExpired"
+              "CacheStoreNoStore"
+              "CacheStorePrivate"
+              "CacheReadSize"                                   ; mod_cache_disk
+              "CacheReadTime"
+              "CacheSocache"                                    ; mod_cache_socache
+              "CacheSocacheMaxSize"
+              "CacheSocacheMaxTime"
+              "CacheSocacheMinTime"
+              "CacheSocacheReadSize"
+              "CacheSocacheReadTime"
+              "MetaDir"                                         ; mod_cern_meta
+              "MetaFiles"
+              "MetaSuffix"
+              "ScriptLog"                                       ; mod_cgi
+              "ScriptLogBuffer"
+              "ScriptLogLength"
+              "CGIDScriptTimeout"                               ; mod_cgid
+              "ScriptLog"
+              "ScriptLogBuffer"
+              "ScriptLogLength"
+              "ScriptSock"
+              "CharsetDefault"                                  ; mod_charset_lite
+              "CharsetOptions"
+              "CharsetSourceEnc"
+              "CookieLog"                                       ; mod_cookies
+              "Dav"                                             ; mod_dav
+              "DavDepthInfinity"
+              "DavLockDB"
+              "DavMinTimeout"
+              "DavGenericLockDB"                                ; mod_dav_lock
+              "DBDExptime"                                      ; mod_dbd
+              "DBDInitSQL"
+              "DBDKeep"
+              "DBDMax"
+              "DBDMin"
+              "DBDParams"
+              "DBDPersist"
+              "DBDPrepareSQL"
+              "DBDriver"
+              "DeflateBufferSize"                               ; mod_deflate
+              "DeflateCompressionLevel"
+              "DeflateFilterNote"
+              "DeflateInflateLimitRequestBody"
+              "DeflateInflateRatioBurst"
+              "DeflateInflateRatioLimit"
+              "DeflateMemLevel"
+              "DeflateWindowSize"
+              "ModemStandard"                                   ; mod_dialup
+              "AuthDigestFile"                                  ; mod_digest
+              "DirectoryCheckHandler"                           ; mod_dir
+              "DirectoryIndex"
+              "DirectoryIndexRedirect"
+              "DirectorySlash"
+              "FallbackResource"
+              "LoadFile"                                        ; mod_dld
+              "LoadModule"
+              "DumpIOInput"                                     ; mod_dumpio
+              "DumpIOOutput"
+              "ProtocolEcho"                                    ; mod_echo
+              "PassEnv"                                         ; mod_env
+              "SetEnv"
+              "UnsetEnv"
+              "AsyncRequestWorkerFactor"                        ; mod_event
+              "Example"                                         ; mod_example
+              "ExpiresActive"                                   ; mod_expires
+              "ExpiresByType"
+              "ExpiresDefault"
+              "ExtFilterDefine"                                 ; mod_ext_filter
+              "ExtFilterOptions"
+              "CacheFile"                                       ; mod_file_cache
+              "MMapFile"
+              "AddOutputFilterByType"                           ; mod_filter
+              "FilterChain"
+              "FilterDeclare"
+              "FilterProtocol"
+              "FilterProvider"
+              "FilterTrace"
+              "Header"                                          ; mod_headers
+              "RequestHeader"
+              "HeartbeatAddress"                                ; mod_heartbeat
+              "HeartbeatListen"
+              "HeartbeatMaxServers"
+              "HeartbeatStorage"
+              "IdentityCheckTimeout"                            ; mod_ident
+              "ImapBase"                                        ; mod_imap
+              "ImapDefault"
+              "ImapMenu"
+              "SSIEndTag"                                       ; mod_include
+              "SSIErrorMsg"
+              "SSIETag"
+              "SSILastModified"
+              "SSILegacyExprParser"
+              "SSIStartTag"
+              "SSITimeFormat"
+              "SSIUndefinedEcho"
+              "XBitHack"
+              "AddModuleInfo"                                   ; mod_info
+              "ISAPICacheFile"                                  ; mod_isapi
+              "ISAPIFakeAsync"
+              "ISAPIFileCache"
+              "ISAPIAppendLogToErrors"                          ; mod_isapi (Win32)
+              "ISAPIAppendLogToQuery"
+              "ISAPILogNotSupported"
+              "ISAPIReadAheadBuffer"
+              "LDAPCacheEntries"                                ; mod_ldap
+              "LDAPCacheTTL"
+              "LDAPCertDBPath"
+              "LDAPConnectionPoolTTL"
+              "LDAPConnectionTimeout"
+              "LDAPLibraryDebug"
+              "LDAPOpCacheEntries"
+              "LDAPOpCacheTTL"
+              "LDAPReferralHopLimit"
+              "LDAPReferrals"
+              "LDAPRetries"
+              "LDAPRetryDelay"
+              "LDAPSharedCacheFile"
+              "LDAPSharedCacheSize"
+              "LDAPTimeout"
+              "LDAPTrustedClientCert"
+              "LDAPTrustedGlobalCert"
+              "LDAPTrustedMode"
+              "LDAPVerifyServerCert"
+              "AgentLog"                                        ; mod_log_agent
+              "TransferLog"                                     ; mod_log_common
+              "BufferedLogs"                                    ; mod_log_config
+              "CookieLog"
+              "CustomLog"
+              "LogFormat"
+              "TransferLog"
+              "LogMessage"                                      ; mod_log_debug
+              "ForensicLog"                                     ; mod_log_forensic
+              "RefererIgnore"                                   ; mod_log_referer
+              "RefererLog"
+              "LogIOTrackTTFB"                                  ; mod_logio
+              "LuaAuthzProvider"                                ; mod_lua
+              "LuaCodeCache"
+              "LuaHookAccessChecker"
+              "LuaHookAuthChecker"
+              "LuaHookCheckUserID"
+              "LuaHookFixups"
+              "LuaHookInsertFilter"
+              "LuaHookLog"
+              "LuaHookMapToStorage"
+              "LuaHookTranslateName"
+              "LuaHookTypeChecker"
+              "LuaInherit"
+              "LuaInputFilter"
+              "LuaMapHandler"
+              "LuaOutputFilter"
+              "LuaPackageCPath"
+              "LuaPackagePath"
+              "LuaQuickHandler"
+              "LuaRoot"
+              "LuaScope"
+              "UndefMacro"                                      ; mod_macro
+              "Use"
+              "AddCharset"                                      ; mod_mime
+              "AddEncoding"
+              "AddHandler"
+              "AddInputFilter"
+              "AddLanguage"
+              "AddOutputFilter"
+              "AddType"
+              "DefaultLanguage"
+              "ForceType"
+              "ModMimeUsePathInfo"
+              "MultiviewsMatch"
+              "RemoveCharset"
+              "RemoveEncoding"
+              "RemoveHandler"
+              "RemoveInputFilter"
+              "RemoveLanguage"
+              "RemoveOutputFilter"
+              "RemoveType"
+              "SetHandler"
+              "TypesConfig"
+              "MimeMagicFile"                                   ; mod_mime_magic
+              "MMapFile"                                        ; mod_mmap_static
+              "CacheNegotiatedDocs"                             ; mod_negotiation
+              "ForceLanguagePriority"
+              "LanguagePriority"
+              "NWSSLTrustedCerts"                               ; mod_nw_ssl
+              "NWSSLUpgradeable"
+              "SecureListen"
+              "PerlDispatchHandler"                             ; mod_perl 1
+              "PerlFreshRestart"
+              "PerlHandler"
+              "PerlOpmask"
+              "PerlRestartHandler"
+              "PerlScript"
+              "PerlSendHeader"
+              "PerlSetupEnv"
+              "PerlTaintCheck"
+              "PerlTransHandler"
+              "PerlWarn"
+              "PerlAccessHandler"                               ; mod_perl 1+2
+              "PerlAddVar"
+              "PerlAuthenHandler"
+              "PerlAuthzHandler"
+              "PerlChildExitHandler"
+              "PerlChildInitHandler"
+              "PerlCleanupHandler"
+              "PerlFixupHandler"
+              "PerlHeaderParserHandler"
+              "PerlInitHandler"
+              "PerlLogHandler"
+              "PerlModule"
+              "PerlPassEnv"
+              "PerlPostReadRequestHandler"
+              "PerlRequire"
+              "PerlSetEnv"
+              "PerlSetVar"
+              "PerlTypeHandler"
+              "PerlInputFilterHandler"                          ; mod_perl 2
+              "PerlInterpMax"
+              "PerlInterpMaxRequests"
+              "PerlInterpMaxSpare"
+              "PerlInterpMinSpare"
+              "PerlInterpScope"
+              "PerlInterpStart"
+              "PerlLoadModule"
+              "PerlOpenLogsHandler"
+              "PerlOptions"
+              "PerlOutputFilterHandler"
+              "PerlPostConfigHandler"
+              "PerlPreConnectionHandler"
+              "PerlProcessConnectionHandler"
+              "PerlResponseHandler"
+              "PerlSetInputFilter"
+              "PerlSetOutputFilter"
+              "PerlSwitches"
+              "PerlTrace"
+              "DTracePrivileges"                                ; mod_privileges
+              "PrivilegesMode"
+              "VHostCGIMode"
+              "VHostCGIPrivs"
+              "VHostGroup"
+              "VHostPrivs"
+              "VHostSecure"
+              "VHostUser"
+              "AllowCONNECT"                                    ; mod_proxy
+              "BalancerGrowth"
+              "BalancerInherit"
+              "BalancerMember"
+              "BalancerPersist"
+              "CacheDefaultExpire"
+              "CacheDirLength"
+              "CacheDirLevels"
+              "CacheForceCompletion"
+              "CacheGcInterval"
+              "CacheLastModifiedFactor"
+              "CacheMaxExpire"
+              "CacheRoot"
+              "CacheSize"
+              "NoCache"
+              "NoProxy"
+              "ProxyAddHeaders"
+              "ProxyBadHeader"
+              "ProxyBlock"
+              "ProxyDomain"
+              "ProxyErrorOverride"
+              "ProxyHTMLURLMap"
+              "ProxyIOBufferSize"
+              "ProxyMaxForwards"
+              "ProxyPass"
+              "ProxyPassInherit"
+              "ProxyPassInterpolateEnv"
+              "ProxyPassMatch"
+              "ProxyPassReverse"
+              "ProxyPassReverseCookieDomain"
+              "ProxyPassReverseCookiePath"
+              "ProxyPreserveHost"
+              "ProxyReceiveBufferSize"
+              "ProxyRemote"
+              "ProxyRemoteMatch"
+              "ProxyRequests"
+              "ProxySet"
+              "ProxySourceAddress"
+              "ProxyStatus"
+              "ProxyTimeout"
+              "ProxyVia"
+              "ProxyExpressDBMFile"                             ; mod_proxy_express
+              "ProxyExpressDBMType"
+              "ProxyExpressEnable"
+              "ProxyFtpDirCharset"                              ; mod_proxy_ftp
+              "ProxyFtpEscapeWildcards"
+              "ProxyFtpListOnWildcard"
+              "ProxyHTMLBufSize"                                ; mod_proxy_html
+              "ProxyHTMLCharsetOut"
+              "ProxyHTMLDocType"
+              "ProxyHTMLEnable"
+              "ProxyHTMLEvents"
+              "ProxyHTMLExtended"
+              "ProxyHTMLFixups"
+              "ProxyHTMLInterp"
+              "ProxyHTMLLinks"
+              "ProxyHTMLMeta"
+              "ProxyHTMLStripComments"
+              "ProxySCGIInternalRedirect"                       ; mod_proxy_scgi
+              "ProxySCGISendfile"
+              "PythonAccessHandler"                             ; mod_python
+              "PythonAuthenHandler"
+              "PythonAuthzHandler"
+              "PythonAutoReload"
+              "PythonCleanupHandler"
+              "PythonConnectionHandler"
+              "PythonDebug"
+              "PythonEnablePdb"
+              "PythonFixupHandler"
+              "PythonHandler"
+              "PythonHandlerModule"
+              "PythonHeaderParserHandler"
+              "PythonImport"
+              "PythonInitHandler"
+              "PythonInputFilter"
+              "PythonInterpPerDirective"
+              "PythonInterpPerDirectory"
+              "PythonInterpreter"
+              "PythonLogHandler"
+              "PythonOptimize"
+              "PythonOption"
+              "PythonOutputFilter"
+              "PythonPath"
+              "PythonPostReadRequestHandler"
+              "PythonTransHandler"
+              "PythonTypeHandler"
+              "ReflectorHeader"                                 ; mod_reflector
+              "RemoteIPHeader"                                  ; mod_remoteip
+              "RemoteIPInternalProxy"
+              "RemoteIPInternalProxyList"
+              "RemoteIPProxiesHeader"
+              "RemoteIPTrustedProxy"
+              "RemoteIPTrustedProxyList"
+              "RequestReadTimeout"                              ; mod_reqtimeout
+              "KeptBodySize"                                    ; mod_request
+              "RewriteBase"                                     ; mod_rewrite
+              "RewriteCond"
+              "RewriteEngine"
+              "RewriteLock"
+              "RewriteLog"
+              "RewriteLogLevel"
+              "RewriteMap"
+              "RewriteOptions"
+              "RewriteRule"
+              "InputSed"                                        ; mod_sed
+              "OutputSed"
+              "Session"                                         ; mod_session
+              "SessionEnv"
+              "SessionExclude"
+              "SessionHeader"
+              "SessionInclude"
+              "SessionMaxAge"
+              "SessionCookieName"                               ; mod_session_cookie
+              "SessionCookieName2"
+              "SessionCookieRemove"
+              "SessionCryptoCipher"                             ; mod_session_crypto
+              "SessionCryptoDriver"
+              "SessionCryptoPassphrase"
+              "SessionCryptoPassphraseFile"
+              "SessionDBDCookieName"                            ; mod_session_dbd
+              "SessionDBDCookieName2"
+              "SessionDBDCookieRemove"
+              "SessionDBDDeleteLabel"
+              "SessionDBDInsertLabel"
+              "SessionDBDPerUser"
+              "SessionDBDSelectLabel"
+              "SessionDBDUpdateLabel"
+              "BrowserMatch"                                    ; mod_setenvif
+              "BrowserMatchNoCase"
+              "SetEnvIf"
+              "SetEnvIfExpr"
+              "SetEnvIfNoCase"
+              "LoadFile"                                        ; mod_so
+              "LoadModule"
+              "CheckCaseOnly"                                   ; mod_speling
+              "CheckSpelling"
+              "SSLBanCipher"                                    ; mod_ssl
+              "SSLCACertificateFile"
+              "SSLCACertificatePath"
+              "SSLCacheServerPath"
+              "SSLCacheServerPort"
+              "SSLCacheServerRunDir"
+              "SSLCADNRequestFile"
+              "SSLCADNRequestPath"
+              "SSLCARevocationCheck"
+              "SSLCARevocationFile"
+              "SSLCARevocationPath"
+              "SSLCertificateChainFile"
+              "SSLCertificateFile"
+              "SSLCertificateKeyFile"
+              "SSLCheckClientDN"
+              "SSLCipherSuite"
+              "SSLCompression"
+              "SSLCryptoDevice"
+              "SSLDenySSL"
+              "SSLDisable"
+              "SSLEnable"
+              "SSLEngine"
+              "SSLEngineID"
+              "SSLExportClientCertificates"
+              "SSLFakeBasicAuth"
+              "SSLFIPS"
+              "SSLHonorCipherOrder"
+              "SSLInsecureRenegotiation"
+              "SSLKeyNoteTrustedAssertion"
+              "SSLKeyNoteTrustedIssuerTemplate"
+              "SSLLog"
+              "SSLLogLevel"
+              "SSLMutex"
+              "SSLNoCAList"
+              "SSLOCSPDefaultResponder"
+              "SSLOCSPEnable"
+              "SSLOCSPOverrideResponder"
+              "SSLOCSPResponderTimeout"
+              "SSLOCSPResponseMaxAge"
+              "SSLOCSPResponseTimeSkew"
+              "SSLOCSPUseRequestNonce"
+              "SSLOpenSSLConfCmd"
+              "SSLOptions"
+              "SSLPassPhraseDialog"
+              "SSLProtocol"
+              "SSLProxyCACertificateFile"
+              "SSLProxyCACertificatePath"
+              "SSLProxyCARevocationCheck"
+              "SSLProxyCARevocationFile"
+              "SSLProxyCARevocationPath"
+              "SSLProxyCheckPeerCN"
+              "SSLProxyCheckPeerExpire"
+              "SSLProxyCheckPeerName"
+              "SSLProxyCipherSuite"
+              "SSLProxyEngine"
+              "SSLProxyMachineCertificateChainFile"
+              "SSLProxyMachineCertificateFile"
+              "SSLProxyMachineCertificatePath"
+              "SSLProxyProtocol"
+              "SSLProxyVerify"
+              "SSLProxyVerifyDepth"
+              "SSLRandomFile"
+              "SSLRandomFilePerConnection"
+              "SSLRandomSeed"
+              "SSLRenegBufferSize"
+              "SSLRequire"
+              "SSLRequireCipher"
+              "SSLRequiredCiphers"
+              "SSLRequireSSL"
+              "SSLSessionCache"
+              "SSLSessionCacheTimeout"
+              "SSLSessionTicketKeyFile"
+              "SSLSessionTickets"
+              "SSLSRPUnknownUserSeed"
+              "SSLSRPVerifierFile"
+              "SSLStaplingCache"
+              "SSLStaplingErrorCacheTimeout"
+              "SSLStaplingFakeTryLater"
+              "SSLStaplingForceURL"
+              "SSLStaplingResponderTimeout"
+              "SSLStaplingResponseMaxAge"
+              "SSLStaplingResponseTimeSkew"
+              "SSLStaplingReturnResponderErrors"
+              "SSLStaplingStandardCacheTimeout"
+              "SSLStrictSNIVHostCheck"
+              "SSLUserName"
+              "SSLUseStapling"
+              "SSLVerifyClient"
+              "SSLVerifyDepth"
+              "ExtendedStatus"                                  ; mod_status
+              "Substitute"                                      ; mod_substitute
+              "SubstituteMaxLineLength"
+              "SuexecUserGroup"                                 ; mod_suexec
+              "ChrootDir"                                       ; mod_unixd
+              "Suexec"
+              "UserDir"                                         ; mod_userdir
+              "CookieDomain"                                    ; mod_usertrack
+              "CookieExpires"
+              "CookieName"
+              "CookieStyle"
+              "CookieTracking"
+              "VirtualDocumentRoot"                             ; mod_vhost_alias
+              "VirtualDocumentRootIP"
+              "VirtualScriptAlias"
+              "VirtualScriptAliasIP"
+              "WatchdogInterval"                                ; mod_watchdog
+              "xml2EncAlias"                                    ; mod_xml2enc
+              "xml2EncDefault"
+              "xml2StartParse"
+              "CoreDumpDirectory"                               ; mpm_common
+              "EnableExceptionHook"
+              "GracefulShutdownTimeout"
+              "Group"
+              "Listen"
+              "ListenBackLog"
+              "LockFile"
+              "MaxClients"
+              "MaxConnectionsPerChild"
+              "MaxMemFree"
+              "MaxRequestsPerChild"
+              "MaxRequestWorkers"
+              "MaxSpareThreads"
+              "MaxThreadsPerChild"
+              "MinSpareThreads"
+              "NumServers"
+              "PidFile"
+              "ReceiveBufferSize"
+              "ScoreBoardFile"
+              "SendBufferSize"
+              "ServerLimit"
+              "StartServers"
+              "StartThreads"
+              "ThreadLimit"
+              "ThreadsPerChild"
+              "User"
+              "MaxClientsVHost"                                 ; mpm_itk
+              "Listen"                                          ; mpm_netware
+              "ListenBacklog"
+              "MaxRequestsPerChild"
+              "MaxSpareThreads"
+              "MaxThreads"
+              "MinSpareThreads"
+              "SendBufferSize"
+              "StartThreads"
+              "ThreadStackSize"
+              "AssignUserId"                                    ; mpm_perchild
+              "ChildPerUserId"
+              "CoreDumpDirectory"
+              "Group"
+              "Listen"
+              "ListenBacklog"
+              "LockFile"
+              "MaxRequestsPerChild"
+              "MaxSpareThreads"
+              "MaxThreadsPerChild"
+              "MinSpareThreads"
+              "NumServers"
+              "PidFile"
+              "ScoreBoardFile"
+              "SendBufferSize"
+              "StartThreads"
+              "User"
+              "ServerEnvironment"                               ; mpm_peruser
+              "AcceptMutex"                                     ; mpm_prefork
+              "CoreDumpDirectory"
+              "Listen"
+              "ListenBacklog"
+              "LockFile"
+              "MaxRequestsPerChild"
+              "PidFile"
+              "ScoreBoardFile"
+              "SendBufferSize"
+              "ServerLimit"
+              "StartServers"
+              "User"
+              "CoreDumpDirectory"                               ; mpm_winnt
+              "Listen"
+              "ListenBacklog"
+              "MaxRequestsPerChild"
+              "PidFile"
+              "SendBufferSize"
+              "ThreadsPerChild"
+              "CoreDumpDirectory"                               ; mpm_worker
+              "Group"
+              "Listen"
+              "ListenBacklog"
+              "LockFile"
+              "MaxClients"
+              "MaxRequestsPerChild"
+              "MaxSpareThreads"
+              "MinSpareThreads"
+              "PidFile"
+              "ScoreBoardFile"
+              "SendBufferSize"
+              "ServerLimit"
+              "StartServers"
+              "ThreadLimit"
+              "ThreadsPerChild"
+              "User"
+              "DefaultMode"                                     ; (obsolete)
+              "DocTitle"
+              "DocTrailer"
+              "HeadPrefix"
+              "HeadSuffix"
+              "HideSys"
+              "HideURL"
+              "HTMLDir"
+              "HTTPLogFile"
+              "LastURLs"
+              "PrivateDir"
+              "TopSites"
+              "TopURLs"
+              )
+            'words))
+          1 'font-lock-keyword-face)
+
+    (list                               ; values
+     (regexp-opt
+      '(
+        "add"                                             ; (general)
+        "All"
+        "allow"
+        "any"
+        "append"
+        "AuthConfig"
+        "Basic"
+        "CONNECT"
+        "default"
+        "DELETE"
+        "deny"
+        "Digest"
+        "double"
+        "downgrade-1.0"
+        "email"
+        "env"
+        "error"
+        "ExecCGI"
+        "FancyIndexing"
+        "fcntl"
+        "FileInfo"
+        "flock"
+        "FollowSymLinks"
+        "force-response-1.0"
+        "formatted"
+        "from"
+        "full"
+        "GET"
+        "gone"
+        "group"
+        "IconsAreLinks"
+        "Includes"
+        "IncludesNOEXEC"
+        "Indexes"
+        "inetd"
+        "inherit"
+        "INode"
+        "Limit"
+        "map"
+        "Minimal"
+        "MTime"
+        "MultiViews"
+        "mutual-failure"
+        "nocontent"
+        "nokeepalive"
+        "none"
+        "off"
+        "on"
+        "Options"
+        "OS"
+        "os2sem"
+        "permanent"
+        "POST"
+        "pthread"
+        "PUT"
+        "referer"
+        "ScanHTMLTitles"
+        "seeother"
+        "semi-formatted"
+        "set"
+        "standalone"
+        "SuppressDescription"
+        "SuppressLastModified"
+        "SuppressSize"
+        "SymLinksIfOwnerMatch"
+        "sysvsem"
+        "temp"
+        "tpfcore"
+        "unformatted"
+        "unset"
+        "URL"
+        "user"
+        "uslock"
+        "valid-user"
+        "3DES"                                            ; cipher stuff
+        "ADH"
+        "ADH-DES-CBC-SHA"
+        "ADH-DES-CBC3-SHA"
+        "ADH-RC4-MD"
+        "ADH-RC4-MD5"
+        "aDSS"
+        "aNULL"
+        "aRSA"
+        "DES"
+        "DES-CBC-MD5"
+        "DES-CBC-SHA"
+        "DES-CBC3-MD5"
+        "DES-CBC3-SHA"
+        "DES-CFB-M1"
+        "DH"
+        "DH-DSS-DES-CBC-SHA"
+        "DH-DSS-DES-CBC3-SHA"
+        "DH-RSA-DES-CBC-SHA"
+        "DH-RSA-DES-CBC3-SHA"
+        "DSS"
+        "EDH"
+        "EDH-DSS-DES-CBC-SHA"
+        "EDH-DSS-DES-CBC3-SHA"
+        "EDH-RSA-DES-CBC-SHA"
+        "EDH-RSA-DES-CBC3-SHA"
+        "egd"
+        "eNULL"
+        "EXP"
+        "EXP-ADH-DES-CBC-SHA"
+        "EXP-ADH-RC4-MD5"
+        "EXP-DES-CBC-SHA"
+        "EXP-DH-DSS-DES-CBC-SHA"
+        "EXP-DH-RSA-DES-CBC-SHA"
+        "EXP-EDH-DSS-DES-CBC-SHA"
+        "EXP-EDH-RSA-DES-CBC"
+        "EXP-EDH-RSA-DES-CBC-SHA"
+        "EXP-RC2-CBC-MD5"
+        "EXP-RC4-MD5"
+        "EXPORT40"
+        "EXPORT56"
+        "file"
+        "FZA-FZA-CBC-SHA"
+        "FZA-NULL-SHA"
+        "FZA-RC4-SHA"
+        "HIGH"
+        "IDEA"
+        "IDEA-CBC-MD5"
+        "IDEA-CBC-SHA"
+        "kDHd"
+        "kDHr"
+        "kEDH"
+        "kRSA"
+        "LOW"
+        "MD5"
+        "MEDIUM"
+        "NULL"
+        "NULL-MD5"
+        "NULL-SHA"
+        "RC2"
+        "RC2-CBC-MD5"
+        "RC4"
+        "RC4-64-MD5"
+        "RC4-MD5"
+        "RC4-SHA"
+        "RSA"
+        "SHA"
+        "SHA1"
+        "send-as-is"                                      ; mod_asis
+        "cgi-script"                                      ; mod_cgi
+        "imap-file"                                       ; mod_imap
+        "server-info"                                     ; mod_info
+        "isapi-isa"                                       ; mod_isapi
+        "ldap-status"                                     ; mod_ldap
+        "Off"                                             ; mod_perl
+        "On"
+        "perl-script"
+        "Off"                                             ; mod_python
+        "On"
+        "python-program"
+        "All"                                             ; mod_ssl
+        "builtin"
+        "CompatEnvVars"
+        "connect"
+        "dbm"
+        "debug"
+        "egd"
+        "error"
+        "exec"
+        "ExportCertData"
+        "FakeBasicAuth"
+        "file"
+        "info"
+        "none"
+        "off"
+        "on"
+        "optional"
+        "optional_no_ca"
+        "OptRenegotiate"
+        "require"
+        "sem"
+        "shm"
+        "shmcb"
+        "shmht"
+        "ssl-accurate-shutdown"
+        "ssl-unclean-shutdown"
+        "SSLv2"
+        "SSLv3"
+        "startup"
+        "StdEnvVars"
+        "StrictRequire"
+        "TLSv1"
+        "trace"
+        "warn"
+        "server-status"                                   ; mod_status
+        )
+      'words)
+     1 'font-lock-type-face)))
+  "Expressions to highlight in Apache config buffers.")
+
+(defun apache-indent-line ()
+  "Indent current line of Apache code."
+  (interactive)
+  (let ((savep (> (current-column) (current-indentation)))
+        (indent (max (apache-calculate-indentation) 0)))
+    (if savep
+        (save-excursion (indent-line-to indent))
+      (indent-line-to indent))))
+
+(defun apache-previous-indentation ()
+  "Return the previous (non-empty/comment) indentation.  Doesn't save position."
+  (let (indent)
+    (while (and (null indent)
+                (zerop (forward-line -1)))
+      (unless (looking-at "[ \t]*\\(#\\|$\\)")
+        (setq indent (current-indentation))))
+    (or indent 0)))
+
+(defun apache-calculate-indentation ()
+  "Return the amount the current line should be indented."
+  (save-excursion
+    (forward-line 0)
+    (if (bobp)
+        0
+      (let ((ends-section-p (looking-at "[ \t]*</"))
+            (indent (apache-previous-indentation)) ; moves point!
+            (previous-starts-section-p (looking-at "[ \t]*<[^/]")))
+        (if ends-section-p
+            (setq indent (- indent apache-indent-level)))
+        (if previous-starts-section-p
+            (setq indent (+ indent apache-indent-level)))
+        indent))))
+
+;;;###autoload
+(progn
+  (add-to-list 'auto-mode-alist '("/\\.htaccess\\'" . apache-mode))
+  (add-to-list 'auto-mode-alist '("/\\(?:access\\|httpd\\|srm\\)\\.conf\\'" . apache-mode))
+  (add-to-list 'auto-mode-alist '("/apache2/.+\\.conf\\'" . apache-mode))
+  (add-to-list 'auto-mode-alist '("/httpd/conf/.+\\.conf\\'" . apache-mode))
+  (add-to-list 'auto-mode-alist '("/apache2/sites-\\(?:available\\|enabled\\)/" . apache-mode)))
+
+(provide 'apache-mode)
+;;; apache-mode.el ends here