commit 4bf0ef3d6353b525f87d236193161db7852c673c
parent 5a9d8e7dc916a1131a04b06e1839eb63e487a3a5
Author: Sebastian <sebastian@sebsite.pw>
Date: Sat, 20 Apr 2024 22:21:21 -0400
strings: return done from peek_token
Signed-off-by: Sebastian <sebastian@sebsite.pw>
Diffstat:
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/strings/tokenize.ha b/strings/tokenize.ha
@@ -41,17 +41,18 @@ export fn next_token(s: *tokenizer) (str | done) = {
return match (bytes::next_token(s)) {
case let b: []u8 =>
yield fromutf8_unsafe(b);
- case void => yield done;
+ case void => return done;
};
};
// Same as next_token(), but does not advance the cursor
-export fn peek_token(s: *tokenizer) (str | void) = {
+export fn peek_token(s: *tokenizer) (str | done) = {
let s = s: *bytes::tokenizer;
return match (bytes::peek_token(s)) {
case let b: []u8 =>
yield fromutf8_unsafe(b);
- case void => void;
+ case void =>
+ return done;
};
};
@@ -77,11 +78,11 @@ export fn remaining_tokens(s: *tokenizer) str = {
assert(next_token(&tok) as str == "");
assert(peek_token(&tok) as str == "");
assert(next_token(&tok) as str == "");
- assert(peek_token(&tok) is void);
+ assert(peek_token(&tok) is done);
assert(next_token(&tok) is done);
let tok = tokenize("", "foo");
- assert(peek_token(&tok) is void);
+ assert(peek_token(&tok) is done);
assert(next_token(&tok) is done);
let tok = rtokenize("Hello, my name is drew", " ");
@@ -110,7 +111,7 @@ export fn splitn(in: str, delim: str, n: size) []str = {
};
};
match(peek_token(&tok)) {
- case void => void;
+ case done => void;
case let s: str =>
append(toks, remaining_tokens(&tok));
};
@@ -134,7 +135,7 @@ export fn rsplitn(in: str, delim: str, n: size) []str = {
};
};
match(peek_token(&tok)) {
- case void => void;
+ case done => void;
case let s: str =>
append(toks, remaining_tokens(&tok));
};