refractor
Version:
Lightweight, robust, elegant virtual syntax highlighting using Prism
27 lines (26 loc) • 970 B
JavaScript
'use strict';
var java = require('./java.js');
module.exports = scala;
scala.displayName = 'scala';
scala.aliases = [];
function scala(Prism) {
Prism.register(java);
Prism.languages.scala = Prism.languages.extend('java', {
keyword: /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,
string: [
{
pattern: /"""[\s\S]*?"""/,
greedy: true
},
{
pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
greedy: true
}
],
builtin: /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/,
number: /\b(?:0x[\da-f]*\.?[\da-f]+|\d*\.?\d+e?\d*[dfl]?)\b/i,
symbol: /'[^\d\s\\]\w*/
});
delete Prism.languages.scala['class-name'];
delete Prism.languages.scala['function'];
}