diff options
Diffstat (limited to 'pyssg.xyz/live/static/hl/languages/xml.min.js')
-rw-r--r-- | pyssg.xyz/live/static/hl/languages/xml.min.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/hl/languages/xml.min.js b/pyssg.xyz/live/static/hl/languages/xml.min.js new file mode 100644 index 0000000..4f8fd5c --- /dev/null +++ b/pyssg.xyz/live/static/hl/languages/xml.min.js @@ -0,0 +1,29 @@ +hljs.registerLanguage("xml",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ +return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ +const t=a(/[A-Z_]/,a("(",/[A-Z0-9_.-]+:/,")?"),/[A-Z0-9_.-]*/),i={ +className:"symbol",begin:"&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;"},c={begin:"\\s", +contains:[{className:"meta-keyword",begin:"#?[a-z_][a-z1-9_-]+",illegal:"\\n"}] +},r=e.inherit(c,{begin:"\\(",end:"\\)"}),l=e.inherit(e.APOS_STRING_MODE,{ +className:"meta-string"}),g=e.inherit(e.QUOTE_STRING_MODE,{ +className:"meta-string"}),m={endsWithParent:!0,illegal:/</,relevance:0, +contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{ +begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{ +begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{ +begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,contains:[{className:"meta",begin:"<![a-z]",end:">", +relevance:10,contains:[c,g,l,r,{begin:"\\[",end:"\\]",contains:[{ +className:"meta",begin:"<![a-z]",end:">",contains:[c,r,g,l]}]}] +},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<!\\[CDATA\\[", +end:"\\]\\]>",relevance:10},i,{className:"meta",begin:/<\?xml/,end:/\?>/, +relevance:10},{className:"tag",begin:"<style(?=\\s|>)",end:">",keywords:{ +name:"style"},contains:[m],starts:{end:"</style>",returnEnd:!0, +subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>)",end:">", +keywords:{name:"script"},contains:[m],starts:{end:/<\/script>/,returnEnd:!0, +subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/ +},{className:"tag",begin:a(/</,n(a(t,s(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{ +className:"name",begin:t,relevance:0,starts:m}]},{className:"tag", +begin:a(/<\//,n(a(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{ +begin:/>/,relevance:0}]}]}}})());
\ No newline at end of file |