reprism
Version:
Modular Syntax highlighting for the web
19 lines (18 loc) • 650 B
JavaScript
export default {
language: 'matlab',
init: Prism => {
Prism.languages.matlab = {
comment: [/%\{[\s\S]*?\}%/, /%.+/],
string: {
pattern: /\B'(?:''|[^'\r\n])*'/,
greedy: true,
},
// FIXME We could handle imaginary numbers as a whole
number: /(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,
keyword: /\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/,
function: /(?!\d)\w+(?=\s*\()/,
operator: /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,
punctuation: /\.{3}|[.,;\[\](){}!]/,
}
},
}