This commit squashes a load of work by @Koushien, a dozen hours from
@cmcaine and some CSS by @bovine3dom.
@cmcaine is writing this commit message, but the work was mostly by
Koushien so the author is set to them. Thanks Koushien!
The following issues need to be fixed:
- The interface is over complicated (my fault)
- commandline_frame is hard-coded to use BufferCompletionSource. This
needs to be made more general
- BufferCompletionSource should be generalised
- completions.ts calls helper functions in commandline_frame. Should
just use browser proxy. If that's too slow can define a
completions_background.ts
After that's done, this should be fixed:
- Completion hiding/unhiding is currently too messy.
User shouldn't notice any difference besides:
* removing "buffer " from cli clears buffers
* retyping "buffer " repopulates buffers
* text after "buffer " filters with smartcase.
We no longer directly set completion's innerHTML.