UNPKG

1.24 kBJavaScriptView Raw
1hljs.registerLanguage("ini",(()=>{"use strict";function e(e){
2return e?"string"==typeof e?e:e.source:null}function n(...n){
3return n.map((n=>e(n))).join("")}return s=>{const a={className:"number",
4relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:s.NUMBER_RE}]
5},t=s.COMMENT();t.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={
6className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/
7}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},c={
8className:"string",contains:[s.BACKSLASH_ESCAPE],variants:[{begin:"'''",
9end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'
10},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[t,r,i,c,a,"self"],
11relevance:0},o=function(...n){return"("+((e=>{const n=e[e.length-1]
12;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}
13})(n).capture?"":"?:")+n.map((n=>e(n))).join("|")+")"
14}(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",
15aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[t,{
16className:"section",begin:/\[+/,end:/\]+/},{
17begin:n(o,"(\\s*\\.\\s*",o,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",
18starts:{end:/$/,contains:[t,l,r,i,c,a]}}]}}})());
\No newline at end of file