mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 06:27:45 +00:00
parent
81c5b35dce
commit
335221d830
2 changed files with 8 additions and 0 deletions
|
@ -429,6 +429,7 @@ public:
|
||||||
|
|
||||||
virtual bool is_list() const { return false; }
|
virtual bool is_list() const { return false; }
|
||||||
virtual bool would_execute() const { return false; }
|
virtual bool would_execute() const { return false; }
|
||||||
|
virtual bool should_override_execution_in_current_process() const { return false; }
|
||||||
|
|
||||||
const Position& position() const { return m_position; }
|
const Position& position() const { return m_position; }
|
||||||
void set_is_syntax_error(const SyntaxError& error_node)
|
void set_is_syntax_error(const SyntaxError& error_node)
|
||||||
|
@ -829,6 +830,7 @@ private:
|
||||||
virtual HitTestResult hit_test_position(size_t) override;
|
virtual HitTestResult hit_test_position(size_t) override;
|
||||||
virtual Vector<Line::CompletionSuggestion> complete_for_editor(Shell&, size_t, const HitTestResult&) override;
|
virtual Vector<Line::CompletionSuggestion> complete_for_editor(Shell&, size_t, const HitTestResult&) override;
|
||||||
virtual bool would_execute() const override { return true; }
|
virtual bool would_execute() const override { return true; }
|
||||||
|
virtual bool should_override_execution_in_current_process() const override { return true; }
|
||||||
|
|
||||||
NameWithPosition m_name;
|
NameWithPosition m_name;
|
||||||
Vector<NameWithPosition> m_arguments;
|
Vector<NameWithPosition> m_arguments;
|
||||||
|
|
|
@ -729,6 +729,12 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (command.argv.is_empty() && !command.next_chain.is_empty() && command.should_immediately_execute_next && command.next_chain.first().node->should_override_execution_in_current_process()) {
|
||||||
|
for (auto& next_in_chain : command.next_chain)
|
||||||
|
run_tail(command, next_in_chain, last_return_code);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
Vector<const char*> argv;
|
Vector<const char*> argv;
|
||||||
Vector<String> copy_argv = command.argv;
|
Vector<String> copy_argv = command.argv;
|
||||||
argv.ensure_capacity(command.argv.size() + 1);
|
argv.ensure_capacity(command.argv.size() + 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue