(require 'riece-options)
(require 'riece-compat)
(require 'riece-misc)
+(require 'riece-addon-modules)
(defgroup riece-addon-list nil
"Add-on listing."
'((((class color) (background dark))
(:foreground "PaleTurquoise" :italic t))
(t
- (:italic t)))
+ ()))
"Face used for displaying the disabled addon."
:group 'riece-addon-list-faces)
(defvar riece-addon-list-disabled-face 'riece-addon-list-disabled-face)
-(defface riece-addon-list-unsupported-face
- '((((class color) (background dark))
- (:foreground "PaleTurquoise"))
- (t
- ()))
- "Face used for displaying the unsupported addon."
+(defface riece-addon-list-uninstalled-face
+ '((t
+ (:italic t)))
+ "Face used for displaying the uninstalled addon."
:group 'riece-addon-list-faces)
-(defvar riece-addon-list-unsupported-face 'riece-addon-list-unsupported-face)
+(defvar riece-addon-list-uninstalled-face 'riece-addon-list-uninstalled-face)
-(defface riece-addon-list-unknown-face
+(defface riece-addon-list-unloaded-face
'((t
- (:foreground "red")))
- "Face used for displaying the unknown addon."
+ (:italic t :inverse-video t)))
+ "Face used for displaying the unloaded addon."
:group 'riece-addon-list-faces)
-(defvar riece-addon-list-unknown-face 'riece-addon-list-unknown-face)
+(defvar riece-addon-list-unloaded-face 'riece-addon-list-unloaded-face)
(defface riece-addon-list-description-face
'((((class color)
(defcustom riece-addon-list-mark-face-alist
'((?+ . riece-addon-list-enabled-face)
(?- . riece-addon-list-disabled-face)
- (?! . riece-addon-list-unsupported-face)
- (?? . riece-addon-list-unknown-face))
+ (?? . riece-addon-list-uninstalled-face)
+ (? . riece-addon-list-unloaded-face))
"An alist mapping marks on riece-addon-list-buffer to faces."
:type 'list
:group 'riece-addon-list)
(defcustom riece-addon-list-font-lock-keywords
- '(("^\\([-+!?] [^:]+\\): \\(.*\\)"
+ '(("^\\([-+? ] \\S-+\\)\\s-+\\(.*\\)"
(1 (cdr (assq (aref (match-string 1) 0)
riece-addon-list-mark-face-alist)))
(2 riece-addon-list-description-face)))
(let ((keymap (make-sparse-keymap)))
(define-key keymap "+" 'riece-command-enable-addon)
(define-key keymap "-" 'riece-command-disable-addon)
+ (define-key keymap "i" 'riece-command-insinuate-addon)
+ (define-key keymap "u" 'riece-command-uninstall-addon)
+ (define-key keymap "U" 'riece-command-unload-addon)
(define-key keymap "n" 'next-line)
(define-key keymap "p" 'previous-line)
(define-key keymap " " 'scroll-up)
dependencies)
(while addons
(require (car addons)) ;error will be reported here
- (let* ((requires
- (funcall (or (intern-soft
- (concat (symbol-name (car addons)) "-requires"))
- #'ignore)))
+ (let* ((requires-function
+ (intern-soft
+ (concat (symbol-name (car addons)) "-requires")))
+ (requires
+ (if (and requires-function
+ (fboundp requires-function))
+ (funcall requires-function)))
(pointer requires)
entry)
;; Increment succs' pred count.
;; Merge pred's succs.
(while pointer
(if (setq entry (assq (car pointer) dependencies))
- (setcdr (cdr entry)
- (cons (car addons) (nthcdr 2 entry)))
+ (setcdr (cdr entry) (cons (car addons) (nthcdr 2 entry)))
(setq dependencies (cons (list (car pointer) 0 (car addons))
dependen