From 116bb31321c5c94b1adbdd95acafd3a532e44580 Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Wed, 24 Dec 2008 03:12:17 +0100 Subject: [PATCH] FUEL: A bit of font-lock in the uses buffer. --- misc/fuel/fuel-debug-uses.el | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/misc/fuel/fuel-debug-uses.el b/misc/fuel/fuel-debug-uses.el index bdcc511a3b..127e11d23e 100644 --- a/misc/fuel/fuel-debug-uses.el +++ b/misc/fuel/fuel-debug-uses.el @@ -32,6 +32,9 @@ (fuel-font-lock--defface fuel-font-lock-debug-uses-header 'bold fuel-debug "headers in Uses buffers") +(fuel-font-lock--defface fuel-font-lock-debug-uses-prompt + 'italic fuel-debug "prompts in Uses buffers") + ;;; Utility functions: @@ -53,7 +56,7 @@ (defun fuel-debug--highlight-names (names ref face) (dolist (n names) (when (not (member n ref)) - (put-text-property 0 (length n) 'face face n)))) + (put-text-property 0 (length n) 'font-lock-face face n)))) (defun fuel-debug--uses-new-uses (file uses) (pop-to-buffer (find-file-noselect file)) @@ -67,7 +70,7 @@ (open-line 2) (insert "USING: ")) (let ((start (point))) - (insert (mapconcat 'identity uses " ") " ;") + (insert (mapconcat 'substring-no-properties uses " ") " ;") (fill-region start (point) nil))) (defun fuel-debug--uses-filter (restarts) @@ -179,9 +182,9 @@ (fuel-debug--uses-new-uses fuel-debug--uses-file fuel-debug--uses) (message "USING: updated!") (with-current-buffer (fuel-debug--uses-buffer) - (insert "\n Done!") + (insert "\nDone!") (fuel-debug--uses-clean) - (fuel-popup--quit))))) + (bury-buffer))))) (defun fuel-debug--uses-restart (n) (when (and (> n 0) (<= n (length fuel-debug--uses-restarts))) @@ -205,6 +208,25 @@ (define-key map "\C-c\C-c" 'fuel-debug--uses-update-usings) map)) +(defconst fuel-debug--uses-header-regex + (format "^%s.*$" (regexp-opt '("Infering USING: stanza for " + "Current USING: is already fine!" + "Current vocabulary list:" + "Correct vocabulary list:" + "Sorry, couldn't infer the vocabulary list." + "Done!")))) + +(defconst fuel-debug--uses-prompt-regex + (format "^%s" (regexp-opt '("Asking Factor. Please, wait ..." + "Please, type the number of the desired vocabulary:" + "Type 'y' to update your USING: to the new one.")))) + +(defconst fuel-debug--uses-font-lock-keywords + `((,fuel-debug--uses-header-regex . 'fuel-font-lock-debug-uses-header) + (,fuel-debug--uses-prompt-regex . 'fuel-font-lock-debug-uses-prompt) + (,fuel-debug--restart-regex (1 'fuel-font-lock-debug-restart-number) + (2 'fuel-font-lock-debug-restart-name)))) + (defun fuel-debug-uses-mode () "A major mode for displaying Factor's USING: inference results." (interactive) @@ -212,6 +234,8 @@ (buffer-disable-undo) (setq major-mode 'fuel-debug-uses-mode) (setq mode-name "Fuel Uses:") + (set (make-local-variable 'font-lock-defaults) + '(fuel-debug--uses-font-lock-keywords t nil nil nil)) (use-local-map fuel-debug-uses-mode-map))