+++ /dev/null
-
-require("curses");
-
-function read_cmd()
- curses.attron(curses.A_BOLD);
- curses.addstr("Command: ");
- curses.attron(underline);
- local s = "";
- while (true) do
- local c = string.char(curses.getch());
- if (c == '\n') then break; end
- s = s .. c;
- end
- curses.attroff(underline);
- curses.attroff(curses.A_BOLD);
- curses.addch("\n");
-
- return s;
-end
-
-
-curses.filter();
-curses.initscr();
-curses.cbreak();
-curses.keypad(curses.stdscr(), TRUE);
-
-if (curses.has_colors()) then
- curses.start_color();
- curses.init_pair(1, curses.COLOR_CYAN, curses.COLOR_BLACK);
- underline = curses.COLOR_PAIR(1);
-else
- underline = curses.A_UNDERLINE;
-end
-
-while (true) do
- local s = read_cmd();
- if (s == "exit") then break; end
- curses.reset_shell_mode();
- io.write("\n");
- io.flush(io.stdout);
- os.execute(s);
- curses.reset_prog_mode();
- curses.touchwin(curses.stdscr());
- curses.erase();
- curses.refresh();
-end
-
-curses.endwin();
-