aboutsummaryrefslogtreecommitdiff
path: root/config/emacs/emacs.d/lisp
diff options
context:
space:
mode:
authorKenny Ballou <kb@devnulllabs.io>2021-10-14 12:17:36 -0600
committerKenny Ballou <kb@devnulllabs.io>2021-10-14 12:17:36 -0600
commit6a2792abf3e627de9d3934a872074daa54e90cfe (patch)
tree526a0cb0fd83ce55d25146769a0d518ec9e46347 /config/emacs/emacs.d/lisp
parent23e8a497fe54001c9b0ff44cc3bdefaeaf7be1c4 (diff)
downloaddotfiles-6a2792abf3e627de9d3934a872074daa54e90cfe.tar.gz
dotfiles-6a2792abf3e627de9d3934a872074daa54e90cfe.tar.xz
emacs: use native shell completion
- https://coredumped.dev/2020/01/04/native-shell-completion-in-emacs/ - https://blog.binchen.org/posts/thoughts-on-native-shell-completion-in-emacs-emacsenautocompleteshell/ Signed-off-by: Kenny Ballou <kb@devnulllabs.io>
Diffstat (limited to 'config/emacs/emacs.d/lisp')
-rw-r--r--config/emacs/emacs.d/lisp/init-shell.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/config/emacs/emacs.d/lisp/init-shell.el b/config/emacs/emacs.d/lisp/init-shell.el
index 53cfb954..927531a5 100644
--- a/config/emacs/emacs.d/lisp/init-shell.el
+++ b/config/emacs/emacs.d/lisp/init-shell.el
@@ -23,5 +23,15 @@
(add-hook 'shell-dynamic-complete-functions
'bash-completion-dynamic-complete)
+(with-eval-after-load 'shell
+ (native-complete-setup-bash))
+
+(defun shell-mode-hook-setup ()
+ "Setup `shell-mode'."
+ (add-hook 'completion-at-point-functions #'native-complete-at-point nil t)
+ (setq-local company-backends '((company-files company-native-complete)))
+ (local-set-key (kbd "TAB") #'company-complete))
+(add-hook 'shell-mode-hook #'shell-mode-hook-setup)
+
(provide 'init-shell)
;;; init-shell.el ends here