]> gitweb.factorcode.org Git - factor.git/commitdiff
FUEL: Accept '?' in prompts for word and vocabs.
authorJose A. Ortega Ruiz <jao@gnu.org>
Thu, 5 Feb 2009 09:28:57 +0000 (10:28 +0100)
committerJose A. Ortega Ruiz <jao@gnu.org>
Thu, 5 Feb 2009 09:28:57 +0000 (10:28 +0100)
misc/fuel/fuel-completion.el
misc/fuel/fuel-edit.el
misc/fuel/fuel-help.el
misc/fuel/fuel-markup.el
misc/fuel/fuel-scaffold.el
misc/fuel/fuel-xref.el

index e6ec8b2dc93e5d04ef5c16a5f85fc905e55b436c..165a9d9b66bbe295704c1d4fb3a4009877efd9a3 100644 (file)
 (require 'fuel-eval)
 (require 'fuel-log)
 
+\f
+;;; Aux:
+
+(defvar fuel-completion--minibuffer-map
+  (let ((map (make-keymap)))
+    (set-keymap-parent map minibuffer-local-completion-map)
+    (define-key map "?" 'self-insert-command)
+    map))
+
 \f
 ;;; Vocabs dictionary:
 
@@ -33,7 +42,8 @@
   fuel-completion--vocabs)
 
 (defun fuel-completion--read-vocab (&optional reload init-input history)
-  (let ((vocabs (fuel-completion--vocabs reload)))
+  (let ((minibuffer-local-completion-map fuel-completion--minibuffer-map)
+        (vocabs (fuel-completion--vocabs reload)))
     (completing-read "Vocab name: " vocabs nil nil init-input history)))
 
 (defsubst fuel-completion--vocab-list (prefix)
@@ -170,12 +180,21 @@ terminates a current completion."
     (cons completions partial)))
 
 (defun fuel-completion--read-word (prompt &optional default history all)
-  (completing-read prompt
-                   (if all fuel-completion--all-words-list-func
-                     fuel-completion--word-list-func)
-                   nil nil nil
-                   history
-                   (or default (fuel-syntax-symbol-at-point))))
+  (let ((minibuffer-local-completion-map fuel-completion--minibuffer-map))
+    (completing-read prompt
+                     (if all fuel-completion--all-words-list-func
+                       fuel-completion--word-list-func)
+                     nil nil nil
+                     history
+                     (or default (fuel-syntax-symbol-at-point)))))
+
+(defun fuel-completion--read-vocab (refresh)
+  (let* ((minibuffer-local-completion-map fuel-completion--minibuffer-map)
+         (vocabs (fuel-completion--vocabs refresh))
+         (prompt "Vocabulary name: "))
+    (if vocabs
+        (completing-read prompt vocabs nil nil nil fuel-edit--vocab-history)
+      (read-string prompt nil fuel-edit--vocab-history))))
 
 (defun fuel-completion--complete-symbol ()
   "Complete the symbol at point.
index e5f0ffd26fcc08bfe270d9fd546ec157a9396d3f..5860fb998a10e9697cf217d4d608357c2d1d2bec 100644 (file)
     (fuel-edit--visit-file (car loc) fuel-edit-word-method)
     (goto-line (if (numberp (cadr loc)) (cadr loc) 1))))
 
-(defun fuel-edit--read-vocabulary-name (refresh)
-  (let* ((vocabs (fuel-completion--vocabs refresh))
-         (prompt "Vocabulary name: "))
-    (if vocabs
-        (completing-read prompt vocabs nil nil nil fuel-edit--vocab-history)
-      (read-string prompt nil fuel-edit--vocab-history))))
-
 (defun fuel-edit--edit-article (name)
   (let ((cmd `(:fuel* (,name fuel-get-article-location) "fuel" t)))
     (fuel-edit--try-edit (fuel-eval--send/wait cmd))))
@@ -80,7 +73,7 @@
 When called interactively, asks for vocabulary with completion.
 With prefix argument, refreshes cached vocabulary list."
   (interactive "P")
-  (let* ((vocab (or vocab (fuel-edit--read-vocabulary-name refresh)))
+  (let* ((vocab (or vocab (fuel-completion--read-vocab refresh)))
          (cmd `(:fuel* (,vocab fuel-get-vocab-location) "fuel" t)))
     (fuel-edit--try-edit (fuel-eval--send/wait cmd))))
 
index a82de388da955748f960d6e6c8d7ea21e68a068c..cfc8cab7f104397dcbf5e830257668b45c9e59c0 100644 (file)
@@ -257,7 +257,7 @@ buffer."
 
 (defun fuel-help-vocab (vocab)
   "Ask for a vocabulary name and show its help page."
-  (interactive (list (fuel-edit--read-vocabulary-name nil)))
+  (interactive (list (fuel-completion--read-vocab nil)))
   (fuel-help--get-vocab vocab))
 
 (defun fuel-help-next (&optional forget-current)
index 4844233ae78a80bb7d0fad12abad8b9d274678e4..980ea111a662dc16ca02626e3dbae45ede1a34a7 100644 (file)
   (fuel-markup--insert-newline)
   (dolist (s (cdr e))
     (fuel-markup--snippet (list '$snippet s))
-    (newline)))
+    (newline))
+  (newline))
 
 (defun fuel-markup--markup-example (e)
   (fuel-markup--insert-newline)
index 05d825593c56612b40fcdd669613111f803ea019..ac400c5622eaad22de7b1c2ed1adcd196d01022e 100644 (file)
@@ -71,7 +71,7 @@ You can configure `fuel-scaffold-developer-name' (set by default to
 `user-full-name') for the name to be inserted in the generated file."
   (interactive "P")
   (let* ((vocab (or (and (not arg) (fuel-syntax--current-vocab))
-                   (fuel-edit--read-vocabulary-name nil)))
+                    (fuel-completion--read-vocab nil)))
          (cmd `(:fuel* (,vocab ,fuel-scaffold-developer-name fuel-scaffold-help)
                        "fuel"))
          (ret (fuel-eval--send/wait cmd))
index 4d444ebe3e19f0a58848a221d03775bc53387857..faf1897304a97cb74fc193a95f8614cec7140950 100644 (file)
@@ -244,7 +244,7 @@ With prefix argument, force reload of vocabulary list."
 With prefix argument, ask for the vocab."
   (interactive "P")
   (let ((vocab (or (and (not arg) (fuel-syntax--current-vocab))
-                   (fuel-edit--read-vocabulary-name))))
+                   (fuel-completion--read-vocab nil))))
     (when vocab
       (fuel-xref--show-vocab-words vocab
                                    (fuel-syntax--file-has-private)))))