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:
parent
4c3a415dc3
commit
b0ce8d725a
4 changed files with 99 additions and 87 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue