Replace readline completion
authorJack Miller <jack@codezen.org>
Sun, 12 Oct 2014 02:34:58 +0000 (21:34 -0500)
committerJack Miller <jack@codezen.org>
Sun, 12 Oct 2014 02:34:58 +0000 (21:34 -0500)
commit2d87b4a369fc0a9bd6e812c436bda9e66e781c60
tree3177ced30bfc9deee16c12acd5085616e889ecff
parent9cd5057284d060f00962ecc9e2e04a184cc15e9a
Replace readline completion

It seems like I've been frustrated by readline left and fucking right.

In this case, using readline completion, the completer function gets
called to populate a list of strings. That's cool, but it gets called
every single time the displayed completion changes even if the prefix is
the same.  This falls flat on its face (in terms of performance) with
more than a few hundred completions.

I'm not sure if it's readline interacting with python that's adding so
much overhead, but if it's taking like 30 milliseconds to generate the
completions and over a second to feed it into readline, then there's a
problem.

So, I just stopped using it for completion. Since I had to subsequently
hack in custom getc support, and all of the completion generating
infrastructure was present it was pretty trivial.

If it wasn't for line-editing I'd nix the entire library gladly.

I also got rid of help text on completion because it has started to seem
useless and the hook disappeared now. :help is way better. This might
make a reappearance, however.
canto_curses/command.py
canto_curses/input.py
canto_curses/screen.py