diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-02-09 22:47:17 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-02-09 22:47:17 +0900 |
| commit | 4cabbe1668879aa784af91ad276ece294bcf65fd (patch) | |
| tree | 206169a3e9133d522d74fa7efadb507828c6e346 /src/common/text | |
| parent | #140 (diff) | |
| download | sharkey-4cabbe1668879aa784af91ad276ece294bcf65fd.tar.gz sharkey-4cabbe1668879aa784af91ad276ece294bcf65fd.tar.bz2 sharkey-4cabbe1668879aa784af91ad276ece294bcf65fd.zip | |
Method and property support
Diffstat (limited to 'src/common/text')
| -rw-r--r-- | src/common/text/elements/code.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/common/text/elements/code.js b/src/common/text/elements/code.js index 958bbe8d87..bda3816a7b 100644 --- a/src/common/text/elements/code.js +++ b/src/common/text/elements/code.js @@ -240,6 +240,33 @@ const elements = [ } }, + // method + code => { + const match = code.match(/^([a-zA-Z_-]+?)\(/); + if (!match) return null; + + if (match[1] == '-') return null; + + return { + html: `<span class="method">${match[1]}</span>`, + next: match[1].length + }; + }, + + // property + (code, i, source) => { + const prev = source[i - 1]; + if (prev != '.') return null; + + const match = code.match(/^[a-zA-Z_-]+/); + if (!match) return null; + + return { + html: `<span class="property">${match[0]}</span>`, + next: match[0].length + }; + }, + // symbol code => { const match = symbols.filter(s => code[0] == s)[0]; |