kkk-eshell.el 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ;;; kkk-eshell.el --- Eshell Config -*- lexical-binding: t; -*-
  2. ;; Copyright (C) 2023 Vinicius Teshima <vini.tes@pm.me>
  3. ;; Author: Vinicius Teshima <vini.tes@pm.me>
  4. ;; This program is free software; you can redistribute it and/or modify
  5. ;; it under the terms of the GNU General Public License as published by
  6. ;; the Free Software Foundation, either version 3 of the License, or
  7. ;; (at your option) any later version.
  8. ;; This program is distributed in the hope that it will be useful,
  9. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. ;; GNU General Public License for more details.
  12. ;; You should have received a copy of the GNU General Public License
  13. ;; along with this program. If not, see <https://www.gnu.org/licenses/>.
  14. ;;; Commentary:
  15. ;; Eshell Config
  16. ;;; Code:
  17. (defvar eshell-ls-initial-args '("-lahg" "--group-directories-first"
  18. "--color=no"))
  19. (defvar kkk-eshell--ls-highlights
  20. '(("^drwx.* \\(.*\\)" . (1 'font-lock-string-face))
  21. ("^lrwxrwxrwx\\( *.*? \\)\\{6\\}\\(.*?\\) " . (2 'font-lock-constant-face))
  22. ("^.rwxrwxrwx\\( *.*? \\)\\{6\\}\\(.*\\)" . (2 'font-lock-type-face)))
  23. )
  24. (defun kkk-eshell--set-font-lock-default ()
  25. "Set `font-lock-defaults' to `kkk-eshell--ls-highlights'."
  26. (setq font-lock-defaults kkk-eshell--ls-highlights))
  27. (add-hook 'eshell-mode-hook #'kkk-eshell--set-font-lock-default)
  28. (provide 'kkk-eshell)
  29. ;;; kkk-eshell.el ends here