diff options
Diffstat (limited to 'src/text/parse/core/syntax-highlighter.ts')
| -rw-r--r-- | src/text/parse/core/syntax-highlighter.ts | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/text/parse/core/syntax-highlighter.ts b/src/text/parse/core/syntax-highlighter.ts index c0396b1fc6..3fb7a3b73d 100644 --- a/src/text/parse/core/syntax-highlighter.ts +++ b/src/text/parse/core/syntax-highlighter.ts @@ -1,4 +1,4 @@ -function escape(text) { +function escape(text: string) { return text .replace(/>/g, '>') .replace(/</g, '<'); @@ -110,7 +110,14 @@ const symbols = [ '?' ]; -const elements = [ +type Token = { + html: string + next: number +}; + +type Element = (code: string, i: number, source: string) => (Token | null); + +const elements: Element[] = [ // comment code => { if (code.substr(0, 2) != '//') return null; @@ -305,7 +312,7 @@ export default (source: string, lang?: string) => { let i = 0; - function push(token) { + function push(token: Token) { html += token.html; code = code.substr(token.next); i += token.next; |