{"version":3,"file":"apache.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/apache.js"],"sourcesContent":["/*\nLanguage: Apache config\nAuthor: Ruslan Keba <rukeba@gmail.com>\nContributors: Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: https://httpd.apache.org\nDescription: language definition for Apache configuration files (httpd.conf & .htaccess)\nCategory: config, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction apache(hljs) {\n  const NUMBER_REF = {\n    className: 'number',\n    begin: /[$%]\\d+/\n  };\n  const NUMBER = {\n    className: 'number',\n    begin: /\\b\\d+/\n  };\n  const IP_ADDRESS = {\n    className: \"number\",\n    begin: /\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?/\n  };\n  const PORT_NUMBER = {\n    className: \"number\",\n    begin: /:\\d{1,5}/\n  };\n  return {\n    name: 'Apache config',\n    aliases: [ 'apacheconf' ],\n    case_insensitive: true,\n    contains: [\n      hljs.HASH_COMMENT_MODE,\n      {\n        className: 'section',\n        begin: /<\\/?/,\n        end: />/,\n        contains: [\n          IP_ADDRESS,\n          PORT_NUMBER,\n          // low relevance prevents us from claming XML/HTML where this rule would\n          // match strings inside of XML tags\n          hljs.inherit(hljs.QUOTE_STRING_MODE, { relevance: 0 })\n        ]\n      },\n      {\n        className: 'attribute',\n        begin: /\\w+/,\n        relevance: 0,\n        // keywords aren’t needed for highlighting per se, they only boost relevance\n        // for a very generally defined mode (starts with a word, ends with line-end\n        keywords: { _: [\n          \"order\",\n          \"deny\",\n          \"allow\",\n          \"setenv\",\n          \"rewriterule\",\n          \"rewriteengine\",\n          \"rewritecond\",\n          \"documentroot\",\n          \"sethandler\",\n          \"errordocument\",\n          \"loadmodule\",\n          \"options\",\n          \"header\",\n          \"listen\",\n          \"serverroot\",\n          \"servername\"\n        ] },\n        starts: {\n          end: /$/,\n          relevance: 0,\n          keywords: { literal: 'on off all deny allow' },\n          contains: [\n            {\n              className: 'meta',\n              begin: /\\s\\[/,\n              end: /\\]$/\n            },\n            {\n              className: 'variable',\n              begin: /[\\$%]\\{/,\n              end: /\\}/,\n              contains: [\n                'self',\n                NUMBER_REF\n              ]\n            },\n            IP_ADDRESS,\n            NUMBER,\n            hljs.QUOTE_STRING_MODE\n          ]\n        }\n      }\n    ],\n    illegal: /\\S/\n  };\n}\n\nmodule.exports = apache;\n"],"names":["apache","hljs","NUMBER_REF","NUMBER","IP_ADDRESS","PORT_NUMBER","apache_1"],"mappings":";;;;AAWA,WAASA,EAAOC,GAAM;AACpB,UAAMC,IAAa;AAAA,MACjB,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GACQC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GACQC,IAAa;AAAA,MACjB,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GACQC,IAAc;AAAA,MAClB,WAAW;AAAA,MACX,OAAO;AAAA,IACX;AACE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAE,YAAY;AAAA,MACvB,kBAAkB;AAAA,MAClB,UAAU;AAAA,QACRJ,EAAK;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,UAAU;AAAA,YACRG;AAAA,YACAC;AAAA;AAAA;AAAA,YAGAJ,EAAK,QAAQA,EAAK,mBAAmB,EAAE,WAAW,EAAC,CAAE;AAAA;;QAGzD;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,WAAW;AAAA;AAAA;AAAA,UAGX,UAAU,EAAE,GAAG;AAAA,YACb;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACV,EAAS;AAAA,UACD,QAAQ;AAAA,YACN,KAAK;AAAA,YACL,WAAW;AAAA,YACX,UAAU,EAAE,SAAS,wBAAuB;AAAA,YAC5C,UAAU;AAAA,cACR;AAAA,gBACE,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,KAAK;AAAA;cAEP;AAAA,gBACE,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,KAAK;AAAA,gBACL,UAAU;AAAA,kBACR;AAAA,kBACAC;AAAA;;cAGJE;AAAA,cACAD;AAAA,cACAF,EAAK;AAAA;;;;MAKb,SAAS;AAAA,IACb;AAAA,EACA;AAEA,SAAAK,IAAiBN;;","x_google_ignoreList":[0]}