UNPKG

2.02 kBJavaScriptView Raw
1/*! `xml` grammar compiled for Highlight.js 11.6.0 */
2(()=>{var e=(()=>{"use strict";return e=>{
3const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={
4className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,
5contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]
6},i=e.inherit(t,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{
7className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),r={
8endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",
9begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{
10className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[s]},{
11begin:/'/,end:/'/,contains:[s]},{begin:/[^\s"'=<>`]+/}]}]}]};return{
12name:"HTML, XML",
13aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],
14case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,
15end:/>/,relevance:10,contains:[t,l,c,i,{begin:/\[/,end:/\]/,contains:[{
16className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,i,l,c]}]}]
17},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,
18relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,
19relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",
20begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{
21end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",
22begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{
23end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{
24className:"tag",begin:/<>|<\/>/},{className:"tag",
25begin:a.concat(/</,a.lookahead(a.concat(n,a.either(/\/>/,/>/,/\s/)))),
26end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:r}]},{
27className:"tag",begin:a.concat(/<\//,a.lookahead(a.concat(n,/>/))),contains:[{
28className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}
29})();hljs.registerLanguage("xml",e)})();
\No newline at end of file