Use native Emacs completion in shell mode

Evaluating INSIDE_EMACS might also be helpful in setting a usable prompt, even if TERM is "dumb".
This commit is contained in:
Daniel Borchmann 2025-03-15 19:56:35 +01:00
parent 3515f3e084
commit 5e03486be9
No known key found for this signature in database
GPG Key ID: 784AA8DF0CCDF625

16
init.el
View File

@ -2543,12 +2543,7 @@ eventuelly be set to nil, however)."
comint-scroll-show-maximum-output t comint-scroll-show-maximum-output t
comint-completion-addsuffix t comint-completion-addsuffix t
comint-buffer-maximum-size 100000 comint-buffer-maximum-size 100000
comint-input-ring-size 5000) comint-input-ring-size 5000))
:config (progn
;; Never let bash know that we are inside Emacs;
;; cf. https://coredumped.dev/2020/01/04/native-shell-completion-in-emacs/
(advice-add 'comint-term-environment
:filter-return #'(lambda (env) (cons "INSIDE_EMACS" env)))))
(use-package term (use-package term
:commands (term-send-string :commands (term-send-string
@ -2591,14 +2586,7 @@ eventuelly be set to nil, however)."
:config (progn :config (progn
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m) (add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)
(add-hook 'shell-mode-hook 'with-editor-export-editor) (add-hook 'shell-mode-hook 'with-editor-export-editor)))
;; We may want to use readline support in bash, don't inhibit this
;; with explicit command line arguments;
;; cf. https://coredumped.dev/2020/01/04/native-shell-completion-in-emacs/
(setq explicit-bash-args
(delete "--noediting" explicit-bash-args))))
(use-package db-eshell (use-package db-eshell
:commands (db/run-or-hide-eshell :commands (db/run-or-hide-eshell