16 lines
1.1 KiB
JavaScript
16 lines
1.1 KiB
JavaScript
hljs.registerLanguage("ini",function(){"use strict";function e(e){
|
|
return e?"string"==typeof e?e:e.source:null}function n(...n){
|
|
return n.map((n=>e(n))).join("")}return function(a){var s={className:"number",
|
|
relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]
|
|
},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={
|
|
className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]
|
|
},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={
|
|
className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",
|
|
end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'
|
|
},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],
|
|
relevance:0
|
|
},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map((n=>e(n))).join("|")+")"
|
|
;return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,
|
|
contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{
|
|
begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",
|
|
starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); |