diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..3d4e2c3 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,133 @@ +#include +#include +#include +#include +#include "term.h" +std::string get(std::string); +std::map variables; +std::map functions; + +#define CALL "" +#ifdef _WIN32 +#undef CALL +#define CALL "call" +#endif + +#ifdef linux +#undef CALL +#define CALL "exec" +#endif + +#ifdef __APPLE__ +#undef CALL +#define CALL "exec" +#endif +#include "term.h" +int call( + std::string lines){ + std::string com; + com.append(CALL); + + success("command:%s\nexecuting\n\n",lines.c_str()); + com.append(lines.c_str()); + + system(com.c_str()); + success("\n\n"); + return 0; +} +ErrorLevel level(1); +int set(std::string setter){ + std::string name=setter.substr(setter.find_first_of(" ")+1,setter.find("=")-4); + std::string value=setter.substr(setter.find("=")+1); + variables[name]=value; + warning("key %s set as value %s\n\n",name.c_str(),value.c_str()); + //success("\nvar: %s\n",variables[name].c_str()); + return 0; +} + +int fn(std::string setter,int pos){ + std::string name=setter.substr(setter.find_first_of(":")+1); + functions[name]=pos; + warning("function %s set in position %i\n\n",name.c_str(),pos); + //success("\nvar: %s\n",variables[name].c_str()); + return 0; +} +std::string get(std::string key){ + std::string k=key.substr(key.find_first_of('%')+1,key.find_last_of('%')-1); + std::string var=variables[k]; + if (var==""){ + error("\ncould not get variable with key \"%s\"\n",k.c_str()); + exit(1); + } + //success("\ngetting variable \"%s\" with key \"%s\"\n",var.c_str(),k.c_str()); + return var; +} + +#define A lines.append +int main(int argc, char *argv[]){ + + for (int i=2;i