UNPKG

1.37 kBJavaScriptView Raw
1hljs.registerLanguage("dts",(()=>{"use strict";return e=>{const n={
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:"."}]},a={
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:{
8"meta-keyword":"if else elif endif define undef ifdef ifndef"},contains:[{
9begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{
10"meta-keyword":"include"},contains:[e.inherit(n,{className:"meta-string"}),{
11className:"meta-string",begin:"<",end:">",illegal:"\\n"}]
12},n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i={className:"variable",
13begin:/&[a-z\d_]*\b/},d={className:"meta-keyword",begin:"/[a-z][a-z\\d-]*/"},l={
14className:"symbol",begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},r={className:"params",
15begin:"<",end:">",contains:[a,i]},_={className:"class",
16begin:/[a-zA-Z_][a-zA-Z\d_@]*\s\{/,end:/[{;=]/,returnBegin:!0,excludeEnd:!0}
17;return{name:"Device Tree",keywords:"",contains:[{className:"class",
18begin:"/\\s*\\{",end:/\};/,relevance:10,
19contains:[i,d,l,_,r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,n]
20},i,d,l,_,r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,n,s,{
21begin:e.IDENT_RE+"::",keywords:""}]}}})());
\No newline at end of file