flow 0.3.2

A realtime log analyzer
Documentation
*** DONE resize lines with VecoDeque
*** DONE use optargs; display help command when no arguments have been provided; use -n for number of lines
*** DONE attempt to exit gracefully if a file does not exist (status code must be greater than zero)
*** DONE move arg parsing to a struct
*** DONE add config fallback locations - option flag -> cwd -> user home -> memory (default)
*** DONE load config file to memory
*** DONE read tabs info from config file via optargs
*** DONE create a buffer (tab) object for each provided entry from config
*** DONE left, right keys should switch to the left and right tabs
*** DONE ensure tabs display only matching entries
*** DONE allow multiline matches (will probably have a significant performance penalty)
*** DONE test config regex
*** DONE write filter matcher tests
*** DONE ensure utf8 values work ok; if not allow locale to be set
*** DONE word search filter
*** DONE highlight matches
*** DONE add ncurses search input
*** DONE make search input realtime
*** DONE add 256 color support
*** DONE add a macro for process exit
*** DONE ncurses mouse scroll
*** DONE colorize ANSI codes
*** DONE refactor files, use mod.rs
*** DONE use "Q" key to quit and exit cleanly from terminal (use sig, investigate sigaction)
*** DONE exit search resets view
*** DONE no matches found displays message
*** DONE fix search cursor visibility
*** DONE handle screen resize
*** DONE allow scroll by page up, page down, home, shift + page up / down
*** DONE scroll top keeps incrementing reverse index
*** DONE adjust contents virtual height automatically
*** DONE fix readline when running --release
*** DONE jump to next / previous match
*** DONE menu names should be centered with a padding of one space
*** DONE scroll matches into view
*** DONE fix new lines rendering while searching
*** DONE add CI support (different rust versions)
*** DONE replace optargs with docopt
*** DONE add version flag and display it from the toml file
*** DONE unify settings and config code
*** DONE fallback to using default config
*** DONE fix filter boundaries
*** DONE add search history (enter key, navigating next / previous)
*** DONE resize search options
*** TODO allow color theme to be defined in config
*** TODO F1 should print keys and tips
*** TODO add a readme file
*** TODO add a gif to readme
*** TODO add partial macosx support
*** TODO create fedora packages
*** TODO create ubuntu packages
*** TODO cycle through menu items with the tab key
*** TODO move macros to utils directory
*** TODO add code comments
*** TODO enforce minimum delay between search requests
*** TODO add menu unicode support (implement menuw in curses-rs)
*** TODO add feedback to search navigation
*** DONE rename everything menu item to all
*** TODO add upcase keyboard shortcuts
*** TODO refactor quit macro to take format args
*** TODO tab key autocompletes current match
*** TODO smart case search
*** TODO async search