Desejo ignorar completamente o suporte à conclusão do modo de comint, confiando no processo subordinado para fazer isso por mim. Especificamente, se eu estiver executando:
- emacs
- modo shell
- bater
- modo shell
Quero TABser passado para o processo bash e expandido por ele.
Se eu estiver correndo:
- emacs
- modo shell
- bater
- psql
- bater
- modo shell
Então eu gostaria TABde ser tratado pelo psql.
Eu tentei isso em um gancho no modo de shell sem sucesso:
(define-key shell-mode-map "\t" 'self-insert-command)
Quando isso é definido, a TABchave insere uma guia literal na linha de comando, o que não é de todo útil para mim.
Eu também tentei isso, mas quando acertei TABnada acontece:
(defun cr/comint-send-tab ()
"Send a tab character to the current buffer's process"
(interactive)
(comint-send-input t t)
(process-send-string (current-buffer) "\t"))
(define-key shell-mode-map "\t" 'cr/comint-send-tab)
Como posso fazer isso?