Prism.languages.smalltalk = {
comment: {
pattern: /"(?:""|[^"])*"/,
greedy: true,
},
char: {
pattern: /\$./,
greedy: true,
},
string: {
pattern: /'(?:''|[^'])*'/,
greedy: true,
},
symbol: /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
'block-arguments': {
pattern: /(\[\s*):[^\[|]*\|/,
lookbehind: true,
inside: {
variable: /:[\da-z]+/i,
punctuation: /\|/,
},
},
'temporary-variables': {
pattern: /\|[^|]+\|/,
inside: {
variable: /[\da-z]+/i,
punctuation: /\|/,
},
},
keyword: /\b(?:new|nil|self|super)\b/,
boolean: /\b(?:false|true)\b/,
number: [
/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
/\b\d+(?:\.\d+)?(?:e-?\d+)?/,
],
operator: /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
punctuation: /[.;:?\[\](){}]/,
};
mandphilippot.com
|
| The frontend of my personal website. | Armand Philippot |
blob: 3acf73eb0209e7579985594c937c11fef6405626 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Prism.languages.lua = {
comment: /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,
// \z may be used to skip the following space
string: {
pattern:
/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
greedy: true,
},
number:
/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
keyword:
/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,
function: /(?!\d)\w+(?=\s*(?:[({]))/,
operator: [
/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,
{
// Match ".." but don't break "..."
pattern: /(^|[^.])\.\.(?!\.)/,
lookbehind: true,
},
],
punctuation: /[\[\](){},;]|\.+|:+/,
};
|