> Here is what I propose:
> - Keyboard shortcuts will be preferences, though I may not get around to the
> GUI for some time
Just make a menu item. So the keyboard shortcuts can be changed in the
system preferences until the preference GUI is finished.
> From all the autocomplete systems I've worked with over the years,
> XCode's seems the least intrusive and thus the least annoying.
>
> Therefore, my vote goes towards autocompletion ghosts.
I think one reason its not that intrusive is, that the word
suggestions are very well sorted and context sensitive. If we use it
for all the words we would complete right now, things may change.
There should be noted, that Xcode too has autocompletion with ESC, and
completes a lot more words that way. Maybe we should keep ghost-
completion and ESC-completion separated? The user could choose which
variant he prefers and which words will be completed.
Maybe I have big hands, but to press ESC, I can leave my thenar
resting next to the keypad and only need to move my fingers. Its
really easy and fast to press ESC and move back to the writing
position. To access the keypad however, I need to move my whole hand,
and even my arm. Thats why I really would like to keep the ESC-cycling
ability, if possible. To close the autocomplete overlay, just keep on
typing until no more match is found and the window disappears, or
press backspace.
Xcode also implements the previously mentioned "keep on typing to
filter" feature within the ESCish autocompletion. However, this will
need the backspace key to not leave autocompletion, so you can
rebroaden your filter or correct typos.
The main reason I want to cycle thru a autocomplete list at all, are
cases like "veryLongWord_foo" vs. "veryLongWord_bar". I don't want to
type the whole "veryLongWord" just to tell the autocomplete system
that I need to append "_foo" instead of "_bar".
An alternate approach to solve this could be the use of TAB to
complete until any of the possibilities differ. (Similar to path
completion in bash.)
And one final idea: If you use TAB to accept the autocompletion, keep
the autocompletion list open. An additional TAB will select the next
item, SHIFT-TAB the previous. Any other key will act like usual and
additionally close the autocompletion list.