- make use of full terminal space properly in doc and greenhouse
commands
- add some info in doc command like currently viewed doc
and description at the bottom instead of top of doc (this makes it persistent)
- add contents function to Greenhouse to allow showing custom contents
in the table of contents (this will be used for lazy loading in the future)
this means you can no longer scroll away the text until it isnt seen
this commit also fixes text cutoff when using lunacolors
(like in the doc command)
made some other minor changes (in terms of how much it
matters to the user)
the toc page is now a "special page"
in a next commit itll also be used for a help page
cursor gets hidden unless typing a command
another change in this commit is having a separate render
function for the greenhouse caller to handle ui
this means there isnt a hardcoded space at the bottom to
display command and status line
this is a simple command that returns a single key from the user.
this can be used to read keystrokes in an interactive program
like how greenhouse (the pager) does it
to write output, you would usually just use the print builtin
since commanders are just lua custom commands but this does not
consider the fact of pipes or other shell operators being used
to redirect or whatever.
this adds readable/writable "sinks" which is a type for input
or output and is currently only used for commanders but can be
used for other hilbish things in the future
- get docs properly for hilbish module and its interfaces
- deal with negative numbers causing yaml metadata parsing to fail
- change from index to _index to match hugo
changes the actual file format of docs to markup since that's basically what we have been
using in the first place.
the docgen command has been modified to write markdown headings with the function name and
yaml metadata for easy consumption by hugo for the website.
all other docs have been moved to markdown as well this is the main reason this is a "breaking" change
users will have to reinstall hilbish (task uninstall and task install) to remove the old plaintext docs