#ifndef _CMD_X_H_ #define _CMD_X_H_ #include "ast.hpp" #include <fstream> #include <iostream> #include <regex> #include <set> #include <sstream> #include <string> #include <unordered_map> #include <vector> namespace cmd { extern std::vector<std::string> argv; extern std::string app_name; extern std::string cmd_type; int exitCommand(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int helpCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int echoCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int catCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int grepCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int printCommand(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int cdCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int listCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int sortCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int findCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int pwdCommand(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int mkdirCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int cpCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int mvCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int touchCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int headCommand(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int tailCommand(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int wcCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int sedCommand(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int debugSet(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int debugGet(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int debugList(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int debugClear(const std::vector<Argument> &args, std::istream &input, std::ostream &output); int debugClearAll(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int debugSearch(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int printfCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int dumpVariables(const std::vector<std::string> &args, std::istream &input, std::ostream &output); int testCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int cmdCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int visualCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int atCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int lenCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int indexCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int strlenCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int strfindCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int strfindrCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int strtokCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int execCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int commandListCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int argvCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int externCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int externCleanupCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListAddCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListRemoveCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListGetCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListSetCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListClearCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListClearAllCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListExistsCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListInitCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListLenCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListTokens(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListSortCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListReverseCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListShuffleCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListCopyCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newListPopCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int concatListCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int newRandCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int exprCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int getLineCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int regexMatchCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int regexReplaceCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int regexSearchCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int regexSplitCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); int tokenizeCommand(const std::vector<cmd::Argument> &args, std::istream &input, std::ostream &output); } // namespace cmd #endif