1
0
Fork 0

JavaScript Highlighter: Fix numbers starting with dot

Dieser Commit ist enthalten in:
Shadowfacts 2020-04-05 12:12:26 -04:00
Ursprung 7b54a18bcc
Commit 7b090bcb4a
Signiert von: shadowfacts
GPG-Schlüssel-ID: 94A5AB95422746E5
2 geänderte Dateien mit 14 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -295,8 +295,19 @@ class JavaScriptHighlighter {
private func consumeDotLookup() {
consume() // .
print("Dot lookup")
emit(token: .punctuation, range: prevCharRange())
guard let char = peek() else { return }
if identifierStarts.contains(char) {
print("Dot lookup")
emit(token: .punctuation, range: prevCharRange())
consumeIdentifier()
} else if CharacterSet.decimalDigits.contains(char) {
let numberStart = text.index(before: currentIndex)
while let char = peek(), CharacterSet.decimalDigits.contains(char) {
consume()
}
print("Number: \(text[numberStart..<currentIndex])")
emit(token: .number, range: range(from: numberStart, to: currentIndex))
}
}
private func consumeArray() {

Datei anzeigen

@ -8,7 +8,7 @@
import Foundation
let source = "`$foo ${blah} bar`"
let source = ".1 + .2"
let highlighter = JavaScriptHighlighter(text: source)
highlighter.debug = true
highlighter.highlight()