Since `helm-command-prefix-key' must be loaded before `helm-config', we
don't know if other Helm packages include `helm-config' and invalidate
custom prefix key. This change makes prefix binding independent from any
Helm package.
Conflicts:
modules/prelude-helm.el
helm-command-prefix-key is already defined with defcustom in
helm-config.el. It must be set before helm-config.el to take
effect. With current setting, "C-x c" is used instead of "C-c h" and it
conflicts with the guide on homepage. "C-x c" makes it easy to press
"C-x C-c" to close Emacs when pressing fast enough. "C-c h" is also
originally used for Helm in Prelude.
Currently, `prelude-open-with` does not work with files whose name has a
space or non-ascii character in it. I guess `shell-quote-argument` is
not needed for `start-process`.
I also refactor the code a little bit, and since we dot not care about
the output of `open`, so I removed the buffer name passed to `start-process`
Since Helm is another option to Ido, users who want to use it fully
should benefit from the default Prelude setup. If some users don't like,
they can always disable global Helm mode according to the instructions
in the homepage. User can enable Helm everywhere with
prelude-helm-everywhere.
This change also enables Helm version of command history in shell and
eshell. It also adds minibuffer history without overrides any key
binding in minibuffer-local-map.
Since some users prefer using default Prelude commands, a new global
mode is defined: prelude-global-helm-mode. When activate, Helm binds
some global key bindings to its own commands. When deactivate, Helm
removes the bindings and Prelude uses the default bindings.
The current prelude-helm only uses a single command of Helm, which
is a waste given how Helm contains many other commands. When
prelude-helm is activated, users should be able to utilize all of these
useful commands. If a user wants to use Helm, he will want to use all of
its features anyway.
prelude-helm is configured that it is able to be used with this [guide](http://tuhdo.github.io/helm-intro.html).