Commit graph

47 commits

Author SHA1 Message Date
Henrik Lissner
4dab595ad3
Minor refactors & comment revision 2020-11-20 14:10:29 -05:00
Henrik Lissner
892493741f
term/eshell: add syntax highlighting 2020-11-19 00:44:15 -05:00
Henrik Lissner
6f3f4de46d
Fix #4279: runaway duplication in eshell-command-aliases-list 2020-11-17 12:46:10 -05:00
Youmu
d20590b8d6
Remove eshell obsolete variable
`eshell-buffer-shorthand` was removed in Emacs 25, see https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.25#L1078-L1082
2020-11-05 23:10:51 +08:00
Henrik Lissner
57ef63d6ba
Fix #4176: wrong-type-arg keymapp opening eshell 2020-10-29 05:42:10 -04:00
Henrik Lissner
1b44cf9215
Fix #4176: eshell keybinds bound too soon
eshell-mode-map is defined in esh-mode.el, which isn't loaded
immediately by eshell.el.
2020-10-29 01:54:59 -04:00
Henrik Lissner
8eb8f41b33
EMACS28+ gate eshell keymap fix 2020-10-29 01:42:09 -04:00
Henrik Lissner
f33b141650
term/eshell: fix eshell resetting eshell-mode-map
This "backports" a Emacs 28 fix which prevents eshell from resetting
eshell-mode-map every time eshell-mode is activated.

Now users can bind keys to eshell-mode-map like they could for any
normal mode.
2020-10-27 21:19:59 -04:00
Henrik Lissner
72c03965cc
Bump :editor evil
emacs-evil/evil@25fc5c6 -> emacs-evil/evil@017b442
emacs-evil/evil-collection@e065da3 -> emacs-evil/evil-collection@3e62b6b
emacs-evil/evil-surround@1c34944 -> emacs-evil/evil-surround@346d4d8
redguardtoo/evil-nerd-commenter@1bd2de5 -> redguardtoo/evil-nerd-commenter@87734b9

Some functionality has been upstreamed into evil-collection and thus
removed from their respective modules.

Closes #3577
2020-07-17 19:40:19 -04:00
Henrik Lissner
d93b789ef5
Move point to eshell prompt when switching to insert mode
This advice was broken (and superseded) by changes upstream in
evil-collection-eshell.
2020-06-05 13:08:01 -04:00
Henrik Lissner
2d3eab7a35
Make C-c {h,j,k,l} eshell keybinds evil-only
The h,j,k,l paradigm is distinctly vim's, and should not be bound for
vanilla users, so now it's only available to evil users.

Also, since C-c l is the vanilla localleader prefix, this causes "Key
sequence C-c l b starts with non-prefix key C-c l" errors.

Fixes #3224
2020-05-26 14:06:19 -04:00
Henrik Lissner
eafad7bbad
Reformat term/eshell module
- Two newlines between use-package! blocks
- Remove comment that was redundant with the code below it
2020-05-15 22:54:50 -04:00
Henrik Lissner
ceb1d4e91f
Disable {bash,fish}-completion on Windows
Because neither is available on windows, you'll get errors when trying
to complete in eshell. Better to disable it so eshell can fall back to
pcomplete.
2020-05-15 22:53:17 -04:00
Henrik Lissner
ea18c83c0a
General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Steven vanZyl
c881f98960
Merge branch 'develop' into eshell-improvements 2020-05-13 09:17:10 -04:00
Henrik Lissner
1529dcaaf5
Fix #3007: wrong-type-arg stringp on eshell completion 2020-05-11 05:32:51 -04:00
Steven vanZyl
a82d93630f Fix DYM and add aliases
Fixed the use-package! declaration for eshell-did-you-mean since it
needed a different mode in the :after than I thought.
I also put together a quick hack to try and fix an issue with
did-you-mean, but it doesn't seem to work reliably right now. More
testing required.

Also added two aliases, one `gg` for to open magit-status and one `ff`
as an additional alias to find-file that follows the Doom keybindings
better.
2020-04-28 16:54:34 -04:00
Steven vanZyl
85cf7a794b Fixes from PR feedback
This contains fixes suggested by Henrik as feedback from the initial PR,
including updating and correcting the Eshell module README, and few
tweaks to the module configuration, and properly pinning
eshell-did-you-mean.
2020-04-28 09:35:06 -04:00
Steven vanZyl
73de701073 Merge branch 'develop' into eshell-improvements 2020-04-28 09:33:56 -04:00
Henrik Lissner
06d5d5e6c0
General refactors, reformatting & comment revision 2020-04-23 23:56:17 -04:00
Steven vanZyl
a9d7fc099d Improved Eshell module part 1
Added a README file detailing the Eshell module, a few minor tweaks to
the config, some keybindings, and the eshell-did-you-mean package.

More to come!
2020-04-17 15:48:54 -04:00
Henrik Lissner
661fa18af0
eshell: replace company w/ fish/bash powered pcomplete 2020-04-14 15:33:19 -04:00
dive
bf1599635d set company-idle-delay to nil for eshell 2020-03-08 22:35:32 +00:00
dive
d1db28f417 make ls aliases work with subdirectories 2020-01-24 21:22:06 +00:00
Henrik Lissner
1fd18b88dd
Bind C-j/C-k to forward/backward history for eshell 2020-01-09 15:26:08 -05:00
Henrik Lissner
b88ff2a563
Fix s-backspace for non-evil users 2019-12-23 17:21:30 -05:00
Henrik Lissner
c1879945fd
Replace doom/backward-kill-to-bol-and-indent
WIth new evil-delete-back-to-indentation, with behaves exactly as C-u
does in vim.
2019-12-21 03:30:44 -05:00
Henrik Lissner
663d3aaba9
term/eshell: move eshell-aliases-file to aliases
Rather than "alias"
2019-12-13 16:17:09 -05:00
Henrik Lissner
0be962bb77
tools/eshell: remove ag alias, add dired alias 2019-11-18 14:19:10 -05:00
Henrik Lissner
449ddb986c
Minor refactors & reformatting across the board 2019-11-15 22:17:31 -05:00
Henrik Lissner
422c61a02a
term/eshell: integrate company + pcomplete 2019-10-22 12:36:43 -04:00
Henrik Lissner
a7a3e0e0e9
term/eshell: remove company integration
pcomplete simply provides better completion (but with a terrible UI).
There must be a way to integrate it into company...
2019-10-21 09:57:48 -04:00
Henrik Lissner
25f6d5fec0
term/eshell: remove esh-autosuggest, improve company integration
esh-autosuggest only provides history completion, which isn't very
useful, especially when we already have history search (via ivy/helm)
available on 'C-s' in eshell.

The active company-backends have been rearranged so that company-capf is
the main completer, but will fall back to company-files (since capf
doesn't complete files, only directories and commands).

I wish there were something more robust, however. Perhaps a way to
integrate pcomplete into company?
2019-10-21 09:42:14 -04:00
Henrik Lissner
45223b3785
term/eshell: remove use-package! shrink-path block
Just load it when it is needed, instead.
2019-10-19 22:22:50 -04:00
Henrik Lissner
96c053c91d
term/eshell: refactor company integration
Idle completion should be opt-in, especially for TRAMP users.
2019-10-19 22:22:50 -04:00
Henrik Lissner
9b95a18eb8
term/eshell: improve completion 2019-10-18 21:10:55 -04:00
Henrik Lissner
0344d6719c
term/eshell: add eldoc support 2019-10-18 21:10:55 -04:00
UndeadKernel
56d8e1e0f8 bindings: fix emacs bindings and add more 2019-09-07 00:32:34 +02:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
703b58f325
term/*: conform to new conventions 2019-07-23 00:07:14 +02:00
Henrik Lissner
1b79aa1b4d
term/eshell: remove redundant keys (with evil-collection)
And expand comments + use windmove-* instead of evil-window-* so as to
not exclude non-evil users from these keybinds.
2019-07-22 02:37:46 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
a56ce38903
term/eshell: refactor & update keybinds
- Replace +eshell|init-evil with an advice for
  evil-collection-eshell-next-prompt-on-insert
- Update C-n/C-j and C-p/C-k keybinds to use
  eshell-{next,previous}-matching-input-from-input, which behave much
  like zsh's history-substring-search-{up,down}
- Move window navigation keybinds C-{h,j,k,l} to C-c {h,j,k,l} (more
  tmux-esque).
2019-06-11 07:57:26 +02:00
Henrik Lissner
4fec3eb698
Revise term/vterm/eshell commands & keybinds
The semantics of SPC o t and SPC o T (or SPC o e and SPC o E in eshell's
case) have been reversed.

The lowercase keybind toggles the popup (and the prefix arg forciby
recreates the popup), and the uppercase keybind switches to that
terminal in the current buffer (whose prefix arg will open the terminal
in default-directory, rather than the project root).

- +{term,vterm,eshell}/open have been replaced with +X/here commands and
  are bound to SPC o T (and SPC o E in eshell's case).
- +{term,vterm,eshell}/popup* have been replaced with +x/toggle commands
  and are bound to SPC o t (and SPC o e in eshell's case).

The "toggle" behavior will do as the name implies, except will select
the popup if it is visible but unfocused.
2019-06-11 07:53:50 +02:00
Henrik Lissner
a583d69ae1
Fix #1442: void-function eshell-input-filter-initial-space
eshell-input-filter-initial-space was introduced in Emacs 26. I've
inlined its definition, at least until we drop 25.x support.
2019-05-29 23:44:23 -04:00
Henrik Lissner
8c65a63b1c
Move eshell, term & vterm modules to :term 2019-05-19 02:17:59 -04:00
Renamed from modules/emacs/eshell/config.el (Browse further)