void writer(string args) { if (streql(splitArg(args, 1),"-H")) { writerHelp(); } else if (streql(splitArg(args, 1),"STABLE")) { oldWriter(); } else { //writing = true; writerContents = initWriter(); //writing = false; clearScreen(); } }
void launchShell() { //allocate some memory for command string buffer. 1kB should be enough for now const int bufSize = 128; char bufStr[bufSize]; while (true) { print("\nQ-Kernel> ", 0x08); typingCmd = true; newCmd = true; readStr(bufStr, bufSize); typingCmd = false; if (strEql(strTrim(bufStr), "")) { print(COMMAND_HELP, 0x0F); } else if(strEql(bufStr, "help")) { kbHelp(); println(PRO_TIP, 0x0F); print(COMMAND_HELP, 0x0F); } else if(strEql(bufStr, "reboot")) { //reboots the computer reboot(); } else if(strEql(bufStr, "skip")) { // It literally does nothing... (Useful at callback) } else if(strEql(bufStr, "hi")) { print("\nHello!", 0x3F); } else if(strEql(bufStr, "files")) { newline(); listTree(); } else if(strEql(bufStr, "cat")) { print("\nFile Name> ", 0x0F); readStr(bufStr, bufSize); ASSERT(strlength(bufStr) < MAX_FNAME_LEN); catFile(finddir_fs(fs_root, bufStr)); } else if(strEql(bufStr,"execute")) { execute(); } else if(strEql(bufStr,"switch")) { print("\nThe specified directory was not found ", 0x0F); } else if(strEql(bufStr,"writer")) { writer(); } else if(strEql(bufStr, "writer -h")) { writerHelp(); } else if(strEql(bufStr, "calc")){ calc(); } else if(strEql(bufStr, "calc -h")){ calcHelp(); } else if(strEql(bufStr, "clear")) { clearScreen(); cursorX = 0; cursorY = 0; updateCursor(); } else if(strEql(bufStr, "clear -i")) { clearScreen(); printIntro(); } else if(strEql(bufStr, "newdir")) { print("\nReserved", 0x0F); } else if(strEql(bufStr, "erase")) { print("\nReserved", 0x0F); } else { print("\nCommand Not Found ", 0x0F); } newline(); } }