From fb017f273dab1d63764269ca02700316919522f4 Mon Sep 17 00:00:00 2001 From: bptato Date: Sat, 29 Jan 2022 20:25:27 +0100 Subject: Implement forms Note: for now, only input tags are supported. Also the implementation is extremely hacky and needs refactoring... But it works, I think. --- src/css/parser.nim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/css') diff --git a/src/css/parser.nim b/src/css/parser.nim index 0277bf41..1db94958 100644 --- a/src/css/parser.nim +++ b/src/css/parser.nim @@ -374,6 +374,8 @@ proc consumeComments(state: var CSSTokenizerState) = proc consumeToken(state: var CSSTokenizerState): CSSToken = state.consumeComments() + if not state.has(): + return let r = state.consume() case r of Rune('\n'), Rune('\t'), Rune(' '), Rune('\f'), Rune('\r'): @@ -456,7 +458,9 @@ proc tokenizeCSS*(inputStream: Stream): seq[CSSParsedItem] = state.stream = inputStream state.buf = state.stream.readLine().toRunes() while state.has(): - result.add(state.consumeToken()) + let tok = state.consumeToken() + if tok != nil: + result.add(tok) inputStream.close() -- cgit 1.4.1-2-gfad0