             :n "d"       #'+eshell/evil-delete
             :n "D"       #'+eshell/evil-delete-line
             :ig "C-d"     #'+eshell/quit-or-delete-char
+            "TAB"   #'+eshell/pcomplete
+            [tab]   #'+eshell/pcomplete
             "C-s"   #'+eshell/search-history
             ;; Emacs bindings
             "C-e"   #'end-of-line

            [remap doom/backward-to-bol-or-indent] #'eshell-bol
            [remap doom/backward-kill-to-bol-and-indent] #'eshell-kill-input
            [remap evil-window-split]   #'+eshell/split-below
            [remap evil-window-vsplit]  #'+eshell/split-right))))


(use-package! eshell-up

      ;; time `eshell-mode' is enabled. Why? It is not for us mere mortals to
      ;; grasp such wisdom.
      (map! :map eshell-mode-map
            :n "RET"     #'+eshell/goto-end-of-prompt
            :n [return]  #'+eshell/goto-end-of-prompt
            :n "c"       #'+eshell/evil-change
