X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-addon.el;h=a02d74e7cc75b9d0f71b6ff0cb3a7a56b5e17f43;hb=471451d5172c958ccf429c597fe402a45f07bd01;hp=28ea0dfbb78fabcae858e509216d752d82c751fc;hpb=f90308e96326e2ab95e39fbfac36d8aab45a43b2;p=riece diff --git a/lisp/riece-addon.el b/lisp/riece-addon.el index 28ea0df..a02d74e 100644 --- a/lisp/riece-addon.el +++ b/lisp/riece-addon.el @@ -24,6 +24,11 @@ ;;; Code: +(require 'font-lock) +(require 'riece-options) +(require 'riece-compat) +(require 'riece-misc) + (defgroup riece-addon-list nil "Add-on management" :tag "Addon" @@ -86,14 +91,14 @@ (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-unsupported-face) (?? . riece-addon-list-unknown-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 - '(("^\\([-+=?] [^:]+\\): \\(.*\\)" + '(("^\\([-+!?] [^:]+\\): \\(.*\\)" (1 (cdr (assq (aref (match-string 1) 0) riece-addon-list-mark-face-alist))) (2 riece-addon-list-description-face))) @@ -214,14 +219,17 @@ All normal editing commands are turned off." (kill-all-local-variables) (buffer-disable-undo) (setq major-mode 'riece-addon-list-mode - mode-name "AddOns" + mode-name "AddOns" mode-line-buffer-identification - (riece-mode-line-buffer-identification '("Riece: ")) + (riece-mode-line-buffer-identification '("Riece: %12b")) truncate-lines t buffer-read-only t) (use-local-map riece-addon-list-mode-map) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults '(riece-addon-list-font-lock-keywords t)) + ;; In XEmacs, auto-initialization of font-lock is not affective + ;; when buffer-file-name is not set. + (font-lock-set-defaults) (run-hooks 'riece-addon-list-mode-hook)) (defun riece-command-list-addons () @@ -230,7 +238,10 @@ All normal editing commands are turned off." (riece-addon-list-mode) (let ((inhibit-read-only t) buffer-read-only - (pointer riece-addons) + (pointer (sort (copy-sequence riece-addons) + (lambda (symbol1 symbol2) + (string-lessp (symbol-name symbol1) + (symbol-name symbol2))))) enabled description point) (erase-buffer) (riece-kill-all-overlays) @@ -244,7 +255,7 @@ All normal editing commands are turned off." (if (not (featurep (car pointer))) ?? (if (null enabled) - ?= + ?! (if (symbol-value enabled) ?+ ?-))) @@ -259,7 +270,7 @@ Symbols in the leftmost column: + The add-on is enabled. - The add-on is disabled. - = The add-on doesn't support enable/disable operation. + ! The add-on doesn't support enable/disable operation. ? The add-on status is unknown. ") (insert (substitute-command-keys " @@ -333,7 +344,7 @@ Useful keys: (delete-char 1) (insert "-") (put-text-property point (point) 'riece-addon addon)))))) - + (provide 'riece-addon) ;;; riece-addon.el ends here