this fixes file completion in normal usage without
using quotes. it basically cut out the space at the
end which prevented normal usage without adding an
additional space or using quotes for file
completion
this also makes the completion functions `bins`
and `files` also return the prefix to pass
to the completion handler.
this is an overhaul to the completion system,
which gets the completion handler from lua
instead of being made to only have lua provided
*command* completions.
it does not have any performance deficit, even
though it calls in to golua for completions.
changed the way file completions are handed
completely, which fixes#130 and makes the
full name appear in the completion menu instead
of it being cut off
this is a pretty big commit which mainly contains a refactor
and breaking change to how command completions are done.
before that, a hilbish.completion interface has been added
which for now just has 2 functions (`files` and `bins`)
for completions of normal files and executables.
hilbish.complete is now expected to return a table of
"completions groups," which are as the name suggests a group
for a completion. a completion group is a table which has
the fields `type`, which can be either `list` or `grid`,
and `items`, being an array (or string keyed table) of items
if an item is string keyed the item itself is the key name
and the value is a table with the first value in it being the
description for the item. this description is only applied
with the list type.
this is probably the longest commit message ive written