24 lines
1.7 KiB
JavaScript
24 lines
1.7 KiB
JavaScript
hljs.registerLanguage("yaml",function(){"use strict";return function(e){
|
|
var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={
|
|
className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/
|
|
},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",
|
|
variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{
|
|
variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={
|
|
end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={
|
|
begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",
|
|
end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",
|
|
variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{
|
|
begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"
|
|
}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",
|
|
begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{
|
|
begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,
|
|
relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",
|
|
begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a
|
|
},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",
|
|
begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",
|
|
relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{
|
|
className:"number",
|
|
begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"
|
|
},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),
|
|
c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],
|
|
contains:b}}}()); |