Files
emacs/lisp/treemacs/treemacs-faces.el
2025-03-11 21:14:26 +01:00

183 lines
5.8 KiB
EmacsLisp

;;; treemacs.el --- A tree style file viewer package -*- lexical-binding: t -*-
;; Copyright (C) 2024 Alexander Miller
;; 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 <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Treemacs faces.
;;; Code:
(defface treemacs-directory-face
'((t :inherit font-lock-function-name-face))
"Face used by treemacs for directories."
:group 'treemacs-faces)
(defface treemacs-directory-collapsed-face
'((t :inherit treemacs-directory-face))
"Face used by treemacs for collapsed directories.
This is the face used for the collapsed part of nodes, so if the node is
\"foo/bar/baz\", the face is used for \"foo/bar/\".
Using this face is incompatible with `treemacs-git-mode' (exept for the simple
variant), so it will only be used if git-mode is disabled or set to simple."
:group 'treemacs-faces)
(defface treemacs-window-background-face
'((t :inherit default))
"Face used for the background of the treemacs window."
:group 'treemacs-faces)
(defface treemacs-hl-line-face
'((t :inherit hl-line))
"Face used for the hl-line selection in the treemacs window."
:group 'treemacs-faces)
(defface treemacs-file-face
'((t :inherit default))
"Face used by treemacs for files."
:group 'treemacs-faces)
(defface treemacs-root-face
'((t :inherit font-lock-constant-face :underline t :bold t :height 1.2))
"Face used by treemacs for its root nodes."
:group 'treemacs-faces)
(defface treemacs-root-unreadable-face
'((t :inherit treemacs-root-face :strike-through t))
"Face used by treemacs for unreadable root nodes."
:group 'treemacs-faces)
(defface treemacs-root-remote-face
'((t :inherit (font-lock-function-name-face treemacs-root-face)))
"Face used by treemacs for remote (Tramp) root nodes."
:group 'treemacs-faces)
(defface treemacs-root-remote-unreadable-face
'((t :inherit treemacs-root-unreadable-face))
"Face used by treemacs for unreadable remote (Tramp) root nodes."
:group 'treemacs-faces)
(defface treemacs-root-remote-disconnected-face
'((t :inherit (warning treemacs-root-remote-face)))
"Face used by treemacs for disconnected remote (Tramp) root nodes."
:group 'treemacs-faces)
(defface treemacs-term-node-face
'((t :inherit font-lock-string-face))
"Face used by treemacs in the terminal for directory node symbols."
:group 'treemacs-faces)
(defface treemacs-git-unmodified-face
'((t :inherit treemacs-file-face))
"Face used for unmodified files."
:group 'treemacs-faces)
(defface treemacs-git-modified-face
'((t :inherit font-lock-variable-name-face))
"Face used for modified files."
:group 'treemacs-faces)
(defface treemacs-git-renamed-face
'((t :inherit font-lock-doc-face))
"Face used for renamed files."
:group 'treemacs-faces)
(defface treemacs-git-ignored-face
'((t :inherit font-lock-comment-face))
"Face for ignored files."
:group 'treemacs-faces)
(defface treemacs-git-untracked-face
'((t :inherit font-lock-string-face))
"Face for untracked files."
:group 'treemacs-faces)
(defface treemacs-git-added-face
'((t :inherit font-lock-type-face))
"Face for newly added files."
:group 'treemacs-faces)
(defface treemacs-git-conflict-face
'((t :inherit error))
"Face for conflicting files."
:group 'treemacs-faces)
(defface treemacs-tags-face
'((t :inherit font-lock-builtin-face))
"Face for tags."
:group 'treemacs-faces)
(defface treemacs-help-title-face
`((t :inherit ,(if (facep 'spacemacs-transient-state-title-face)
'spacemacs-transient-state-title-face
'font-lock-constant-face)))
"Face for the title of the helpful hydra."
:group 'treemacs-faces)
(defface treemacs-help-column-face
'((t :inherit font-lock-keyword-face :underline t))
"Face for column headers of the helpful hydra."
:group 'treemacs-faces)
(defface treemacs-on-failure-pulse-face
'((t :foreground "#111111" :background "#ab3737" :extend t))
"Pulse face used when an error occurs or an action fails."
:group 'treemacs-faces)
(defface treemacs-on-success-pulse-face
'((t :foreground "#111111" :background "#669966" :extend t))
"Pulse face used to signal a successful action."
:group 'treemacs-faces)
(defface treemacs-fringe-indicator-face
`((t :foreground ,(face-background 'cursor nil t)))
"Face for the fringe indicator."
:group 'treemacs-faces)
(defface treemacs-header-button-face
'((t :inherit 'font-lock-keyword-face))
"Face used for header buttons.
Applies to buttons like
- `treemacs-header-close-button'
- `treemacs-header-projects-button'
- `treemacs-header-workspace-button'"
:group 'treemacs-faces)
(defface treemacs-peek-mode-indicator-face
'((t :background "#669966"))
"Face used to indicate that `treemacs-peek-mode' is enabled."
:group 'treemacs-faces)
(defface treemacs-marked-file-face
'((t :foreground "#F0C674" :background "#AB3737" :bold t))
"Face for files marked by treemacs."
:group 'treemacs-faces)
(defface treemacs-git-commit-diff-face
'((t :inherit 'font-lock-comment-face))
"Face for `treemacs-git-commit-diff-mode' annotations."
:group 'treemacs-faces)
(defface treemacs-async-loading-face
'((t :inherit 'font-lock-comment-face :height 0.8))
"Face used for the \"Loading…\" string used by asynchronous extensions."
:group 'treemacs-faces)
(provide 'treemacs-faces)
;;; treemacs-faces.el ends here