Spaces:
Sleeping
Sleeping
hljs.registerLanguage("python-custom", (hljs) => { | |
var python = hljs.getLanguage("python"); | |
python.name = "Python Custom"; | |
python.contains.push({ | |
className: "decorator", | |
begin: "/@/", | |
end: "/$/", | |
contains: [ | |
{ | |
className: "symbol", | |
match: "@", | |
}, | |
{ | |
className: "name", | |
begin: /[\w\.]+/, | |
}, | |
{ | |
className: "params", | |
begin: /\(/, | |
end: /\)/, | |
}, | |
], | |
}); | |
var yellowTokens = { | |
className: "yellow-char", | |
begin: /\*/, | |
}; | |
var whiteTokens = { | |
className: "white-char", | |
begin: /[,.:()@]/, | |
}; | |
var attributeTokens = { | |
className: "attribute", | |
begin: /\./, | |
end: /[\w]+/, | |
contains: [ | |
{ | |
begin: /\w+/, | |
className: "attr-name", | |
}, | |
], | |
}; | |
// Remove id from built-in keywords | |
python.keywords.built_in = python.keywords.built_in.filter( | |
(el) => el !== `id` | |
); | |
// Ensure custom rules are applied at the beginning | |
python.contains.push(whiteTokens); | |
python.contains.push(attributeTokens); | |
python.contains.push(yellowTokens); | |
return python; | |
}); | |
hljs.highlightAll(); | |
hljs.initLineNumbersOnLoad(); | |