From cafea12bd6b418ef6cba49b1c6141c664d5a0585 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 8 Jan 2022 22:58:48 -0700 Subject: [PATCH] Stream.takeLineAsStream() --- src/kiss/Stream.hx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/kiss/Stream.hx b/src/kiss/Stream.hx index d39a4a9..897af3b 100644 --- a/src/kiss/Stream.hx +++ b/src/kiss/Stream.hx @@ -249,6 +249,23 @@ class Stream { }; } + public function takeLineAsStream():Option { + var lineNo = this.line; + var column = this.column; + var absoluteChar = this.absoluteChar; + return switch (takeLine()) { + case Some(line): Some({ + var s = Stream.fromString(line); + s.line = lineNo; + s.column = column; + s.file = this.file; + s.absoluteChar = absoluteChar; + s; + }); + default: None; + }; + } + public function expect(whatToExpect:String, f:Void->Option):String { var position = position(); switch (f()) {