Fixes an issue where the buffer local value of
`company-preview-frontend' was being altered prior to switching to
the e-shell mode buffer.
See issue #2401.
Now (i guess after the 2.1 release) magit-status can be executed
directly in eshell. If magit-status is called with the path as parameter
the path must be the git repo root. If not from the git repo root magit
will ask if a new repo should be created.
- move the magit, helm and other dependencies to their own init
functions
- remove all nested use-package forms and enable correct lazy-loading
of eshell
- import interesting features from trishume like auto-completion and
automatic jump to prompt when switching to insert state
- new layer variable `shell-enable-smart-eshell` to conditionally enable
`em-smart` (default is not enabled)
- document all the last additions to the layer in README.org
- Only set Eshell by default on Windows; in other OSes we use `ansi-term`,
NOT `term`. The reason is that `ansi-term` can use Emacs key bindings
such as C-x b, C-x 1... even editing commands such as M-u/M-l. `term`
cannot and we have to use the default `C-c b` variants i.e. C-c b to
switch buffer instead of "C-x b". `ansi-term` is currently the best
terminal emulator in Emacs.
- Allow ansi-term/term to close its shell-pop window when a user type
"exit".
- With shell-pop, we can allow ansi-term/term to track current directory
of current buffer. It is a useful feature and it also makes ansi-term
consistent with eshell/shell.
- Swap "term" and "ansi-term" key bindings, since the old "ast" was used
for multi-term, which is a wrapper around ansi-term.