Skip to content

Commit 0c13369

Browse files
committed
Some fixes
1 parent 2b318ed commit 0c13369

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ trial.*
88
*.sublime-*
99
*.out
1010
tests/a.nim
11+
*.orig

src/kdl/lexer.nim

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,8 @@ proc skipWhile(lexer: var Lexer, x: set[char]): int {.discardable.} =
246246
inc lexer
247247
248248
proc disallowedRunes() {.lexing: tkEmpty.} =
249+
if lexer.eof():
250+
return
249251
let r = lexer.peekRune.int32
250252
if r == 0xFEFFi32:
251253
if lexer.getPos() == 0:
@@ -463,6 +465,7 @@ proc tokenIdent*() {.lexing: tkIdent.} =
463465
lexer.eof() or lexer.tokenWhitespace(addToStack = false) or
464466
lexer.tokenNewLine(addToStack = false) or lexer.peek() in nonIdenChars
465467
):
468+
lexer.setPos before
466469
return
467470
468471
block outer:
@@ -522,9 +525,9 @@ proc validToken*(
522525
523526
proc scanKdl*(lexer: var Lexer) =
524527
const choices = [
525-
tokenWhitespace, tokenNewLine, tokenLineCont, tokenSingleLineComment, tokenEqual,
526-
tokenRawString, tokenString, tokenIdent, tokenNumHex, tokenNumBin, tokenNumOct,
527-
tokenNumFloat, tokenNumInt, tokenLitMatches,
528+
disallowedRunes, tokenWhitespace, tokenNewLine, tokenLineCont,
529+
tokenSingleLineComment, tokenEqual, tokenRawString, tokenString, tokenIdent,
530+
tokenNumHex, tokenNumBin, tokenNumOct, tokenNumFloat, tokenNumInt, tokenLitMatches,
528531
]
529532
530533
while not lexer.eof():

src/kdl/utils.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ proc errorAt*(s: Stream or string, coord: Coord): string =
223223

224224
let lineNum = &"{coord.line + 1} | "
225225
result.add &"{lineNum}{line}\n"
226-
result.add align("^", lineNum.len + coord.col + extraLen + coord.colNonAscii)
226+
result.add unicode.align("^", lineNum.len + coord.col + extraLen + coord.colNonAscii)
227227

228228
# ----- Object variants -----
229229

0 commit comments

Comments
 (0)