regexp support

This commit is contained in:
syuilo 2017-02-09 21:47:45 +09:00
parent 4fada029ce
commit 7bec5e52be
2 changed files with 32 additions and 0 deletions

View file

@ -132,6 +132,35 @@ const elements = [
}
},
// regexp
code => {
if (code[0] != '/') return null;
let regexp = '';
let thisIsNotARegexp = false;
for (let i = 1; i < code.length; i++) {
const char = code[i];
if (char == '\\') {
i++;
continue;
} else if (char == '/') {
break;
} else if (char == '\n' || i == (code.length - 1)) {
thisIsNotARegexp = true;
break;
} else {
regexp += char;
}
}
if (thisIsNotARegexp) return null;
if (regexp[0] == ' ' && regexp[regexp.length - 1] == ' ') return null;
return {
html: `<span class="regexp">/${escape(regexp)}/</span>`,
next: regexp.length + 2
};
},
// extract vars
(code, i, source, vars) => {
const prev = source[i - 1];

View file

@ -117,6 +117,9 @@ pre > code
.string
color #e96900
.regexp
color #e9003f
.keyword
color #2973b7