mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:57:44 +00:00
Shell: Correctly handle commands after heredoc contents
Previously we did not emit a newline after the ending heredoc key, which wreaked havoc on the parser logic, leading to parse errors.
This commit is contained in:
parent
93413f8682
commit
7b031138fc
4 changed files with 11 additions and 1 deletions
|
@ -581,9 +581,13 @@ ErrorOr<Lexer::ReductionResult> Lexer::reduce_start()
|
|||
m_state.on_new_line = true;
|
||||
|
||||
m_state.buffer.clear();
|
||||
m_state.position.start_offset = m_state.position.end_offset;
|
||||
m_state.position.start_line = m_state.position.end_line;
|
||||
|
||||
Vector<Token> tokens { move(token), Token::newline() };
|
||||
|
||||
return ReductionResult {
|
||||
.tokens = { move(token) },
|
||||
.tokens = move(tokens),
|
||||
.next_reduction = Reduction::Start,
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue