SkyBison icon indicating copy to clipboard operation
SkyBison copied to clipboard

Streamlined Input

Open orbisvicis opened this issue 10 years ago • 5 comments

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.

orbisvicis avatar Apr 08 '15 18:04 orbisvicis

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.

paradigm avatar Apr 09 '15 22:04 paradigm

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.

orbisvicis avatar Apr 11 '15 17:04 orbisvicis

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.)

paradigm avatar Apr 11 '15 20:04 paradigm

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:

  1. Complete last shared part
  2. If last shared part complete, page down
  3. If on last page, scroll single line down

orbisvicis avatar Apr 12 '15 16:04 orbisvicis

Hmm. That won't be trivial, but it should be do-able with 2.0.

paradigm avatar Apr 20 '15 08:04 paradigm