Swish needs to be run with LuaJIT on a system that has libncurses available.
This is designed to demonstrate an ideal shell -- in a world where you know all available commands and completions, you can do wonderful things for usability of a terminal interface.
if you backspace too far, it will crash. if you enter a free-input region (like text or numbers) things break, but it still demos reasonably well.
Right now, the Lua code here is essentiall proprietary code. The reason for this is that it really isn't something you should use in the real world. Recreating the code (and exceeding it) in its current state would take a handful of hours, so it really isn't worth using this code. However, feel free to clone this repo and play with it. The ncurses.h and ncurses.hh files are not mine. ncurses.hh was generated by running ncurses.h through the preprocessor, that was LuaJIT's FFI could understand it. That code is copyrighted under the notice at the top of ncurses.h.