Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streamlined Input #24

Open
orbisvicis opened this issue Apr 8, 2015 · 5 comments
Open

Streamlined Input #24

orbisvicis opened this issue Apr 8, 2015 · 5 comments

Comments

@orbisvicis
Copy link

Suggestions

  • : Complete shared last part if available or delete first entry otherwise
  • : 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.

@paradigm
Copy link
Owner

paradigm commented Apr 9, 2015

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.

@orbisvicis
Copy link
Author

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 s (11+) act as , selecting the final element.

I currently do not have any plans to implement most-recently-used tracking.

That's fine.

@paradigm
Copy link
Owner

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

@orbisvicis
Copy link
Author

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

@paradigm
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants