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

Feature Request: adaptive-mode in more commands #751

Closed
aiguofer opened this issue Dec 12, 2014 · 6 comments
Closed

Feature Request: adaptive-mode in more commands #751

aiguofer opened this issue Dec 12, 2014 · 6 comments

Comments

@aiguofer
Copy link

So after reading #485, I think it's a shame that so few commands have the ability to use adaptive-mode. Although helm-M-x has something similar, it doesn't persist across uses. Would it be possible to add this as an option for more commands?

I think the most useful places would be in helm-M-x and the "stock" helm complete screens, like when you go into "M-x customize-variable" or if you go into regular M-x while in helm-mode

@codecoll
Copy link

@aiguofer According to the source history save/load is implemented. It should save the history in ~/.emacs.d/helm-adaptive-history

@aiguofer
Copy link
Author

@nerton adaptive-mode does, but there's very few commands that use it.

According to https://groups.google.com/forum/#!topic/emacs-helm/S6FXhGfDFqA, only helm-aliases.el, helm-bookmark.el, helm-emms.el, helm-firefox.el, helm-w3m.el, and helm-grep.el use it right now... and I use none of those.

The functionality in helm-M-x is simply to add a section above called "Emacs Command History", which isn't persistent. However, this just got me to do another search and found #431, but this would still only solve it for this command. Ideally, more (if not all) commands would use the same adaptive-mode framework so we don't have to keep adding one-off fixes.

@thierryvolpiatto
Copy link
Member

Diego Fernandez notifications@github.com writes:

So after reading #485, I think it's a shame that so few commands have
the ability to use adaptive-mode.

What is a shame is you don't know how to save your variables, see below.

Although helm-M-x has something similar, it doesn't persist across
uses.

Look at the emacs manual about desktop.el or at related packages around
here that allow saving your variables.

Would it be possible to add this as an option for more commands?

No.

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@aiguofer
Copy link
Author

@thierryvolpiatto Yes, I figured out how to save variables as mentioned in the previous comment. That only addresses the issue with helm-M-x. That still doesn't do much for some of the other modes, especially the "default" helm completes (like inside customize-variable).

However if it's not possible then that's that and you can close this.

@thierryvolpiatto
Copy link
Member

Diego Fernandez notifications@github.com writes:

@thierryvolpiatto Yes, I figured out how to save variables as
mentioned in the previous comment.

Good, you have also external packages that do this, mine is psession.el.

That only addresses the issue with helm-M-x.

You have to keep in mind that helm-adaptive is a sort function and all
sort functions generally slow down computation of sources, especially
when a sort function is already running (e.g fuzzy).
So when the use of adaptive doesn't slow down too much things, we can
use adaptive and in other places the slowness will break all the benefit
of using adaptive.

That still doesn't do much for some of the other modes, especially the
"default" helm completes (like inside customize-variable).

All these helmized functions (customize-*, etc...), are build on the fly
by helm-generic function(s) in helm-mode, the job of these functions is to
provide the same thing you have under emacs vanilla but with the helm
interface, no more, no less, adding something specific to helm there
(adaptive or whatever) would complicate and do not work in all cases.
(i.e One function that do helm completion for all these emacs commands)

Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997

@aiguofer
Copy link
Author

Ah great, thanks for the explanation! (and all the hard work)

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

3 participants