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