Streamlined Input
Suggestions
- <Tab>: Complete shared last part if available or delete first entry otherwise
- <CR>: If more than one completion available, substitute and execute the first term
This would probably be most useful if entries where sorted most-recently-used-first.
Not sure what order you'll view these in, so I'm going to prefix all of the recent issues you've made with:
I've got a skybison 2.0 ~90% done with many improvements. There's some (external) blockers keeping me from finishing and publishing it (and a bunch of other vim projects of mine...) immediately, but I fully plan to do so as soon as is reasonably possible.
- : Complete shared last part if available or delete first entry otherwise
If that was cut off at the "or", I'd think you're looking for what <tab> (and
<c-l>) already do. Once the rest of the statement is included, I'm lost as
to what you're trying to express.
- : If more than one completion available, substitute and execute the first term
That sounds a lot like what 1<cr> does already. If you're asking for a way
to do this in one keystroke, the user-customizable mappings for 2.0 should
allow this relatively easily.
I'm not completely sure what you mean by either of these. Could you rephrase, expand, or provide examples?
This would probably be most useful if entries where sorted most-recently-used-first.
I currently do not have any plans to implement most-recently-used tracking. Part of the appeal of SkyBison over other plugins is that it largely just leverages built-in Vim functionality that is not readily accessible, leaving it relatively slim. If there's enough desire, I can add it. I added fuzzing after enough push from others. However, I'd rather not add it just to extend the feature list.
I just think tab should still work after completing the last shared part. For example:
" 1st <Tab> 2nd <Tab> 3rd <Tab> 4th <Tab> 5th <Tab> 6th <Tab> 7th <Tab> 8th <Tab 9th <Tab> 10th <Tab> Further <Tab>s
" completes to have no effect
" these reults
" Imaginary ticker-tape scrollback:
" |... .... .... .... .... .... .... .... .... ....
" |... .... .... .... .... .... .... .... .... ....
" |... .... .... .... .... .... .... .... .... ....
1 aaaa 1 jjjj 1 ssss 1 tttt 1 uuuu 1 vvvv 1 wwww 1 xxxx 1 yyyy 1 zzzz 1 zzzz
2 bbbb 2 kkkk 2 tttt 2 uuuu 2 vvvv 2 wwww 2 xxxx 2 yyyy 2 zzzz
3 cccc 3 llll 3 uuuu 3 vvvv 3 wwww 3 xxxx 3 yyyy 3 zzzz
4 dddd 4 mmmm 5 vvvv 5 wwww 5 xxxx 5 yyyy 4 zzzz
5 eeee => 5 nnnn => 5 wwww => 5 xxxx => 5 yyyy => 5 zzzz => => => =>
6 ffff 6 oooo 6 xxxx 6 yyyy 6 zzzz
7 gggg 7 pppp 7 yyyy 7 zzzz
8 hhhh 8 qqqq 8 zzzz
9 iiii 9 rrrr
-- more -- -- more --
" Imaginary ticker-tape scrollback:
" .... ....
" .... ....
" .... ....
Or perhaps further <Tab>s (11+) act as <CR>, selecting the final element.
I currently do not have any plans to implement most-recently-used tracking.
That's fine.
I still don't think I quite follow what you're looking for. Is the only input there just tabs?
If you'd like a way to view/select more than just the first nine items, that is one of the primary changes for 2.0. You can both customize the height of the window (so you can limit it to five items, or have it show twenty) as well as have mappings to scroll the window (something like what ctrl-e/ctrl-e and ctrl-f/ctrl-b normally do.)
There was input before the first column to generate the list of results, but yes, the input there is only tabs. I'd like a way to combine <Tab>, <C-e>/<C-y>, <C-f>/<C-b> into a single key. The <Tab> key only works to complete the last shared part, after which it doesn't do anything. I propose that the <Tab> key does the following:
- Complete last shared part
- If last shared part complete, page down
- If on last page, scroll single line down
Hmm. That won't be trivial, but it should be do-able with 2.0.