UNPKG

1.41 kBJavaScriptView Raw
1hljs.registerLanguage("dts",(()=>{"use strict";return e=>{const a={
2className:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{
3begin:'((u8?|U)|L)?"'}),{begin:'(u8?|U)?R"',end:'"',
4contains:[e.BACKSLASH_ESCAPE]},{begin:"'\\\\?.",end:"'",illegal:"."}]},n={
5className:"number",variants:[{
6begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:e.C_NUMBER_RE}],
7relevance:0},s={className:"meta",begin:"#",end:"$",keywords:{
8keyword:"if else elif endif define undef ifdef ifndef"},contains:[{begin:/\\\n/,
9relevance:0},{beginKeywords:"include",end:"$",keywords:{keyword:"include"},
10contains:[e.inherit(a,{className:"string"}),{className:"string",begin:"<",
11end:">",illegal:"\\n"}]},a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i={
12className:"variable",begin:/&[a-z\d_]*\b/};return{name:"Device Tree",contains:[{
13className:"title.class",begin:/^\/(?=\s*\{)/,relevance:10},i,{
14className:"keyword",begin:"/[a-z][a-z\\d-]*/"},{className:"symbol",
15begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},{className:"title.class",
16begin:/[a-zA-Z_][a-zA-Z\d_@-]*(?=\s\{)/},{relevance:0,
17match:[/[a-z][a-z-,]+/,/\s*/,/=/],scope:{1:"attr",3:"operator"}},{
18match:/[a-z][a-z-,]+(?=;)/,relevance:0,scope:"attr"},{className:"params",
19relevance:0,begin:"<",end:">",contains:[n,i]
20},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n,a,s,{scope:"punctuation",
21relevance:0,match:/\};|[;{}]/},{begin:e.IDENT_RE+"::",keywords:""}]}}})());
\No newline at end of file