summaryrefslogtreecommitdiff
path: root/lex.c
diff options
context:
space:
mode:
authorÁkos Kőrösi <korakos99@gmail.com>2026-05-12 15:14:24 +0200
committerÁkos Kőrösi <korakos99@gmail.com>2026-05-12 15:14:24 +0200
commit32babee5145bb0248566960a69b674484deb3f94 (patch)
tree8180b6a10b0c8b20bacd4d63bebe4fd731014f75 /lex.c
parentce7bc08b1db6011a82b27dbccf4e5502b948a820 (diff)
fixes
Diffstat (limited to 'lex.c')
-rw-r--r--lex.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lex.c b/lex.c
index 3689432..8ffb2a8 100644
--- a/lex.c
+++ b/lex.c
@@ -214,6 +214,11 @@ TokenVec lex_level(RawLine* line, char until, RegionVec* reg_arena) {
case '\"':
lex_double_quoted_section(line, &state.word_germ, reg_arena);
break;
+ case '|':
+ line->pos++;
+ close_word_and_lit_germs(&state);
+ push_to_TokenVec(&state.tokens, (Token){.kind = TOK_SPECIAL, .as.spec = PIPE});
+ break;
case '$':
line->pos++;
MaybeChunk mchunk = lex_expansion_chunk(line, reg_arena, UN_Q);
@@ -256,9 +261,8 @@ TokenVec lex_level(RawLine* line, char until, RegionVec* reg_arena) {
line->pos++;
push_to_TokenVec(&state.tokens, (Token){.kind = TOK_PROCSUB_IN, .as.procsub_region = reg_ptr});
- break;
} else {
- push_to_TokenVec(&state.tokens, (Token){.kind = TOK_SPECIAL, .as.spec = READ_REDIR});
+ push_to_TokenVec(&state.tokens, (Token){.kind = TOK_SPECIAL, .as.spec = READ_REDIR});
}
break;
default: