X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/3d7cc479c6dcc9550b9f03176272f5a9c4655b4c..d7dee82420a04e5c92e5b5ad316e14a49bd4d689:/lisp/bandali-eshell.el diff --git a/lisp/bandali-eshell.el b/lisp/bandali-eshell.el deleted file mode 100644 index 099cbb3..0000000 --- a/lisp/bandali-eshell.el +++ /dev/null @@ -1,84 +0,0 @@ -;;; bandali-eshell.el --- bandali's Eshell setup -*- lexical-binding: t; -*- - -;; Copyright (C) 2018-2020 Amin Bandali - -;; Author: Amin Bandali -;; Keywords: processes - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; My awesome Eshell setup. - -;;; Code: - -(use-package eshell - :commands eshell - :bind ("C-c a s e" . eshell) - :config - (eval-when-compile - (defvar eshell-prompt-regexp) - (declare-function eshell-life-is-too-much "esh-mode") - (declare-function eshell-send-input "esh-mode" - (&optional use-region queue-p no-newline))) - (defun b/eshell-quit-or-delete-char (arg) - (interactive "p") - (if (and (eolp) (looking-back eshell-prompt-regexp nil)) - (eshell-life-is-too-much) - (delete-char arg))) - - (defun b/eshell-clear () - (interactive) - (let ((inhibit-read-only t)) - (erase-buffer)) - (eshell-send-input)) - - (defun b/eshell-setup () - (make-local-variable 'company-idle-delay) - (defvar company-idle-delay) - (eval-when-compile - (defvar eshell-mode-map) - (defvar eshell-hist-mode-map)) - (setq company-idle-delay nil) - (bind-keys :map eshell-mode-map - ("C-d" . b/eshell-quit-or-delete-char) - ("C-S-l" . b/eshell-clear) - ("M-r" . counsel-esh-history) - ;; ([tab] . company-complete) - :map eshell-hist-mode-map - ("M-r" . counsel-esh-history))) - - (setq - eshell-prompt-regexp "\\(.*\n\\)*[$#] " - eshell-prompt-function - (lambda () - (concat - (propertize (format "%s@%s:" (user-login-name) (system-name)) - 'face 'default) - (propertize (abbreviate-file-name default-directory) - 'face 'font-lock-comment-face) - (propertize "\n" 'face 'default) - (if (= (user-uid) 0) - (propertize "#" 'face 'red) - (propertize "$" 'face 'default)) - (propertize " " 'face 'default)))) - - :hook (eshell-mode . b/eshell-setup) - :custom - (eshell-hist-ignoredups t) - (eshell-input-filter 'eshell-input-filter-initial-space)) - -(provide 'bandali-eshell) -;;; bandali-eshell.el ends here