# CRITICAL NOTES + flex might be total overkill as scanf might entirely suffice # Used technologies + C style C++ with pottential future "back" porting + flex history parsers + SQLite + ncurses + readline # Rationale ### C/C++ + fuck pust ### NCurses + i know nothing better that is: - portable - reliable - C compatible - anyway better than ncurses ### SQLite + sharing history between shell types could be desirable, this is the simplest approach + having our own storage means that we could support meta informations globally which are not standard for every application ### Flex + its *actually* reusable ### Readline + we are not trying to replace it in anyways; it only makes sense # CLI ``` histui : [format] [format] [options] ``` ## Import Read history entries from \ into histuidb \. Unless all lines are pure entry values, a format will have to be specified. If no files are specified, precomposed formats shall be printed. E.g. format for "Bash with timestamps". ## Export Dump the contents of histuidb \ to stdout using [format]. ## Init Used for printing reasonable default configuration for using histui with the selected shell. The default configuration, if possible should have the following features: + override history search with invoking histui + sync further commands a histuidb If no shell is specified, the available options shall be printed. # TUI ``` $ histui tui [options] --command : start in search mode --normal : start in normal mode ``` ``` +---+---------------+ | p | | | o | listing | | s | | +---+---------------+ | ruler | +-------------------+ | input | +-------------------+ ``` #### Input **