1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:37:46 +00:00

Shell: Move out run_commands and expand_aliases to be Shell member fns

This makes running commands from outside the AST chain easier.
This commit is contained in:
AnotherTest 2020-07-13 09:30:09 +04:30 committed by Andreas Kling
parent 4c3a415dc3
commit b0ce8d725a
4 changed files with 99 additions and 87 deletions

View file

@ -77,7 +77,7 @@ struct Rewiring : public RefCounted<Rewiring> {
};
struct Redirection : public RefCounted<Redirection> {
virtual Result<RefPtr<Rewiring>, String> apply() = 0;
virtual Result<RefPtr<Rewiring>, String> apply() const = 0;
virtual ~Redirection();
virtual bool is_path_redirection() const { return false; }
virtual bool is_fd_redirection() const { return false; }
@ -87,7 +87,7 @@ struct Redirection : public RefCounted<Redirection> {
struct CloseRedirection : public Redirection {
int fd { -1 };
virtual Result<RefPtr<Rewiring>, String> apply() override;
virtual Result<RefPtr<Rewiring>, String> apply() const override;
virtual ~CloseRedirection();
CloseRedirection(int fd)
: fd(fd)
@ -108,7 +108,7 @@ struct PathRedirection : public Redirection {
ReadWrite,
} direction { Read };
virtual Result<RefPtr<Rewiring>, String> apply() override;
virtual Result<RefPtr<Rewiring>, String> apply() const override;
virtual ~PathRedirection();
PathRedirection(String path, int fd, decltype(direction) direction)
: path(move(path))
@ -124,7 +124,7 @@ private:
struct FdRedirection : public Redirection
, public Rewiring {
virtual Result<RefPtr<Rewiring>, String> apply() override { return static_cast<RefPtr<Rewiring>>(this); }
virtual Result<RefPtr<Rewiring>, String> apply() const override { return static_cast<RefPtr<Rewiring>>(this); }
virtual ~FdRedirection();
FdRedirection(int source, int dest, Rewiring::Close close)
: Rewiring(source, dest, close)