creichert / ido-vertical-mode.el

makes ido-mode display vertically
211 stars 22 forks source link

Make the completion above instead below #13

Closed lazywei closed 10 years ago

lazywei commented 10 years ago

Can we make the completion candidates above the minibuffer instead of below it?

For example:

.gitignore
init.el
lisp/xxx.el
[.emacs.d] Find file: in

Just like http://kien.github.io/ctrlp.vim/

So we can make the make the display window adjust its height dynamically according to the number of candidates.

randymorris commented 10 years ago

I'm all for this. I'm not sure if the underlying ido configuration will allow it and I haven't looked at this code in ages but I would absolutely use it if someone were to implement it.

gempesaw commented 10 years ago

Can you think of another emacs package that does it like that? I'm not sure where to start.

In #12 we made it so the list stays at a constant height the whole time, the same way smex does.

I wonder if it'd be enough just to fiddle with the decorations...

lazywei commented 10 years ago

I'm new to Emacs, so I'm not sure if there is other packages implement such feature. It's just a minor point. Therefore, if you think it's not realistic, we can just ignore this issue :-) Thanks.

gempesaw commented 10 years ago

Hmm, considering that it's Emacs, it's probably entirely possible :)! Just not sure where to start.

In fact, perhaps we could do something like how magit makes a popup window? But, I'm not sure how I'd filter/update that buffer as we type. I'll keep this issue in mind in case I see anything that looks related

randymorris commented 10 years ago

I believe this is how helm and grizzl work. Moving to a system like this is probably a tall order and is very different from how ido works. Right now this package just tweaks ido's display settings and utilizes the minibuffer for all output. A change like this would probably require your own rendering instead of relying on ido.

gempesaw commented 10 years ago

Ah yeah, they pop an entirely new window/buffer with the results and filter it on the fly it seems. Seems to be a bit large of a change for this simple package. @lazywei perhaps trying out helm is what you're looking for? :)