diff --git a/emacs/guix-base.el b/emacs/guix-base.el index 3bee910b05..a479f6dbf5 100644 --- a/emacs/guix-base.el +++ b/emacs/guix-base.el @@ -414,6 +414,7 @@ following keywords are available: (buf-str (concat buf-type-str " buffer")) (prefix (concat "guix-" entry-type-str "-" buf-type-str)) (group (intern prefix)) + (faces-group (intern (concat prefix "-faces"))) (mode-map-str (concat prefix "-mode-map")) (parent-mode (intern (concat "guix-" buf-type-str "-mode"))) (mode (intern (concat prefix "-mode"))) @@ -442,6 +443,10 @@ following keywords are available: :prefix ,(concat prefix "-") :group ',(intern (concat "guix-" buf-type-str))) + (defgroup ,faces-group nil + ,(concat "Faces for " buf-type-str " buffer with " entry-str ".") + :group ',(intern (concat "guix-" buf-type-str "-faces"))) + (defcustom ,buf-name-var ,buf-name-val ,(concat "Default name of the " buf-str " for displaying " entry-str ".") :type 'string @@ -789,7 +794,7 @@ GENERATION is a generation number of `guix-profile' profile." (defface guix-operation-option-key '((t :inherit font-lock-warning-face)) "Face used for the keys of operation options." - :group 'guix) + :group 'guix-faces) (defcustom guix-operation-confirm t "If nil, do not prompt to confirm an operation." diff --git a/emacs/guix-info.el b/emacs/guix-info.el index 4bdd62a6a5..260c7680f5 100644 --- a/emacs/guix-info.el +++ b/emacs/guix-info.el @@ -33,25 +33,30 @@ :prefix "guix-info-" :group 'guix) +(defgroup guix-info-faces nil + "Faces for info buffers." + :group 'guix-info + :group 'guix-faces) + (defface guix-info-param-title '((t :inherit font-lock-type-face)) "Face used for titles of parameters." - :group 'guix-info) + :group 'guix-info-faces) (defface guix-info-file-path '((t :inherit link)) "Face used for file paths." - :group 'guix-info) + :group 'guix-info-faces) (defface guix-info-url '((t :inherit link)) "Face used for URLs." - :group 'guix-info) + :group 'guix-info-faces) (defface guix-info-time '((t :inherit font-lock-constant-face)) "Face used for timestamps." - :group 'guix-info) + :group 'guix-info-faces) (defface guix-info-action-button '((((type x w32 ns) (class color)) @@ -59,7 +64,7 @@ :background "lightgrey" :foreground "black") (t :inherit button)) "Face used for action buttons." - :group 'guix-info) + :group 'guix-info-faces) (defface guix-info-action-button-mouse '((((type x w32 ns) (class color)) @@ -67,7 +72,7 @@ :background "grey90" :foreground "black") (t :inherit highlight)) "Mouse face used for action buttons." - :group 'guix-info) + :group 'guix-info-faces) (defcustom guix-info-ignore-empty-vals nil "If non-nil, do not display parameters with nil values." @@ -414,43 +419,43 @@ See `insert-text-button' for the meaning of PROPERTIES." '((((type tty pc) (class color)) :weight bold) (t :height 1.6 :weight bold :inherit variable-pitch)) "Face for package name and version headings." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-name '((t :inherit font-lock-keyword-face)) "Face used for a name of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-name-button '((t :inherit button)) "Face used for a full name that can be used to describe a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-version '((t :inherit font-lock-builtin-face)) "Face used for a version of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-synopsis '((((type tty pc) (class color)) :weight bold) (t :height 1.1 :weight bold :inherit variable-pitch)) "Face used for a synopsis of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-description '((t)) "Face used for a description of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-license '((t :inherit font-lock-string-face)) "Face used for a license of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-location '((t :inherit link)) "Face used for a location of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-installed-outputs '((default :weight bold) @@ -462,17 +467,17 @@ See `insert-text-button' for the meaning of PROPERTIES." :foreground "green") (t :underline t)) "Face used for installed outputs of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-uninstalled-outputs '((t :weight bold)) "Face used for uninstalled outputs of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defface guix-package-info-obsolete '((t :inherit error)) "Face used if a package is obsolete." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defvar guix-info-insert-package-function #'guix-package-info-insert-with-heading @@ -541,7 +546,7 @@ Face name is `guix-package-info-TYPE-inputs'." (defface ,face '((t :inherit guix-package-info-name-button)) ,(concat "Face used for " type-desc "inputs of a package.") - :group 'guix-package-info) + :group 'guix-package-info-faces) (define-button-type ',btn :supertype 'guix-package-name @@ -672,7 +677,7 @@ ENTRY is an alist with package info." (defface guix-package-info-source '((t :inherit link :underline nil)) "Face used for a source URL of a package." - :group 'guix-package-info) + :group 'guix-package-info-faces) (defcustom guix-package-info-auto-find-source nil "If non-nil, find a source file after pressing a \"Show\" button. @@ -825,17 +830,17 @@ If nil, insert output in a default way.") (defface guix-generation-info-number '((t :inherit font-lock-keyword-face)) "Face used for a number of a generation." - :group 'guix-generation-info) + :group 'guix-generation-info-faces) (defface guix-generation-info-current '((t :inherit guix-package-info-installed-outputs)) "Face used if a generation is the current one." - :group 'guix-generation-info) + :group 'guix-generation-info-faces) (defface guix-generation-info-not-current '((t nil)) "Face used if a generation is not the current one." - :group 'guix-generation-info) + :group 'guix-generation-info-faces) (defvar guix-info-insert-generation-function nil "Function used to insert a generation information. diff --git a/emacs/guix-list.el b/emacs/guix-list.el index 9796464dbf..87d214bb4d 100644 --- a/emacs/guix-list.el +++ b/emacs/guix-list.el @@ -35,10 +35,15 @@ :prefix "guix-list-" :group 'guix) +(defgroup guix-list-faces nil + "Faces for list buffers." + :group 'guix-list + :group 'guix-faces) + (defface guix-list-file-path '((t :inherit guix-info-file-path)) "Face used for file paths." - :group 'guix-list) + :group 'guix-list-faces) (defcustom guix-list-describe-warning-count 10 "The maximum number of entries for describing without a warning. @@ -488,12 +493,12 @@ With prefix (if ARG is non-nil), describe entries marked with any mark." (defface guix-package-list-installed '((t :inherit guix-package-info-installed-outputs)) "Face used if there are installed outputs for the current package." - :group 'guix-package-list) + :group 'guix-package-list-faces) (defface guix-package-list-obsolete '((t :inherit guix-package-info-obsolete)) "Face used if a package is obsolete." - :group 'guix-package-list) + :group 'guix-package-list-faces) (defcustom guix-package-list-generation-marking-enabled nil "If non-nil, allow putting marks in a list with 'generation packages'. diff --git a/emacs/guix.el b/emacs/guix.el index 244696a184..ac6efbb475 100644 --- a/emacs/guix.el +++ b/emacs/guix.el @@ -39,6 +39,11 @@ :prefix "guix-" :group 'external) +(defgroup guix-faces nil + "Guix faces." + :group 'guix + :group 'faces) + (defcustom guix-list-single-package nil "If non-nil, list a package even if it is the only matching result. If nil, show a single package in the info buffer."