UNPKG

2 kBJavaScriptView Raw
1hljs.registerLanguage("less",(()=>{"use strict";return e=>{
2var n="([\\w-]+|@\\{[\\w-]+\\})",a=[],s=[],t=e=>({className:"string",
3begin:"~?"+e+".*?"+e}),r=(e,n,a)=>({className:e,begin:n,relevance:a}),i={
4begin:"\\(",end:"\\)",contains:s,relevance:0}
5;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{
6begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",
7excludeEnd:!0}
8},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@\\{[\\w-]+\\}"),r("built_in","~?`[^`]*?`"),{
9className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0
10},{className:"meta",begin:"!important"});var c=s.concat({begin:/\{/,end:/\}/,
11contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{
12beginKeywords:"and not"}].concat(s)},g={begin:n+"\\s*:",returnBegin:!0,
13end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",
14excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}
15}]},d={className:"keyword",
16begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",
17starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},o={
18className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{
19begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{
20begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:/\{/}],returnBegin:!0,
21returnEnd:!0,illegal:"[<='$\"]",relevance:0,
22contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@\\{[\\w-]+\\}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{
23className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",
24begin:/:(:)?[a-zA-Z0-9_\-+()"'.]+/},{begin:"\\(",end:"\\)",contains:c},{
25begin:"!important"}]}
26;return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,d,o,g,b),{
27name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}})());
\No newline at end of file