diff options
Diffstat (limited to 'lex.c')
| -rw-r--r-- | lex.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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: |
