From 56b94a6eed9fe4642382f533666dc19901fad3fc Mon Sep 17 00:00:00 2001 From: koekeishiya Date: Sun, 3 Mar 2019 18:39:34 +0100 Subject: #53 allow opt-out for applications --- src/tokenize.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/tokenize.c') diff --git a/src/tokenize.c b/src/tokenize.c index a0fd93d..eaf0e3a 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -79,6 +79,14 @@ eat_string(struct tokenizer *tokenizer) } } +internal void +eat_option(struct tokenizer *tokenizer) +{ + while (*tokenizer->at && !isspace(*tokenizer->at)) { + advance(tokenizer); + } +} + internal inline bool isidentifier(char c) { @@ -150,6 +158,15 @@ get_token(struct tokenizer *tokenizer) case '*': { token.type = Token_Wildcard; } break; case '[': { token.type = Token_BeginList; } break; case ']': { token.type = Token_EndList; } break; + case '.': { + token.text = tokenizer->at; + token.line = tokenizer->line; + token.cursor = tokenizer->cursor; + + eat_option(tokenizer); + token.length = tokenizer->at - token.text; + token.type = Token_Option; + } break; case '"': { token.text = tokenizer->at; token.line = tokenizer->line; -- cgit v1.2.3