24 lines
1.7 KiB
JavaScript
24 lines
1.7 KiB
JavaScript
hljs.registerLanguage("yaml",(()=>{"use strict";return 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,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:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\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",relevance:0},t,g,s],r=[...b]
|
|
;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0,
|
|
aliases:["yml"],contains:b}}})()); |