]> gitweb.factorcode.org Git - factor.git/commitdiff
FUEL: Description for vocabularies in autodoc mode.
authorJose A. Ortega Ruiz <jao@gnu.org>
Thu, 18 Dec 2008 14:38:40 +0000 (15:38 +0100)
committerJose A. Ortega Ruiz <jao@gnu.org>
Thu, 18 Dec 2008 14:38:40 +0000 (15:38 +0100)
extra/fuel/fuel.factor
misc/fuel/fuel-help.el

index dacf57cc7fa679a9dd5bff4a14dcc94b595f3841..017b20b54b6ff369caebb126ca1f92d7e4a1a652 100644 (file)
@@ -6,8 +6,8 @@ combinators compiler.units continuations debugger definitions
 eval help io io.files io.pathnames io.streams.string kernel
 lexer listener listener.private make math memoize namespaces
 parser prettyprint prettyprint.config quotations sequences sets
-sorting source-files strings tools.vocabs vectors vocabs
-vocabs.loader ;
+sorting source-files strings summary tools.vocabs vectors
+vocabs vocabs.loader ;
 
 IN: fuel
 
@@ -160,6 +160,8 @@ M: source-file fuel-pprint path>> fuel-pprint ;
 
 : fuel-end-eval ( -- ) [ ] (fuel-end-eval) ; inline
 
+: fuel-run-file ( path -- ) run-file ; inline
+
 ! Edit locations
 
 : fuel-get-edit-location ( defspec -- )
@@ -173,7 +175,7 @@ M: source-file fuel-pprint path>> fuel-pprint ;
 ! Completion support
 
 : fuel-filter-prefix ( seq prefix -- seq )
-    [ drop-prefix nip length 0 = ] curry filter ; inline
+    [ drop-prefix nip length 0 = ] curry filter prune ; inline
 
 : (fuel-get-vocabs) ( -- seq )
     all-vocabs-seq [ vocab-name ] map ; inline
@@ -184,6 +186,9 @@ M: source-file fuel-pprint path>> fuel-pprint ;
 : fuel-get-vocabs/prefix ( prefix -- )
     (fuel-get-vocabs) swap fuel-filter-prefix fuel-eval-set-result ; inline
 
+: fuel-vocab-summary ( name -- )
+    >vocab-link summary fuel-eval-set-result ; inline
+
 MEMO: (fuel-vocab-words) ( name -- seq )
     >vocab-link words [ name>> ] map ;
 
@@ -200,7 +205,8 @@ MEMO: (fuel-vocab-words) ( name -- seq )
 : fuel-get-words ( prefix names -- )
     (fuel-get-words) fuel-eval-set-result ; inline
 
-: fuel-run-file ( path -- ) run-file ; inline
+
+! -run=fuel support
 
 : fuel-startup ( -- ) "listener" run-file ; inline
 
index e618fd130a961fa15518e6150f59a569be8203ff..3bfd788702b5ad7d06efd22016ce65b8ce49bedd 100644 (file)
   (let ((word (or word (fuel-syntax-symbol-at-point)))
         (fuel-log--inhibit-p t))
     (when word
-      (let* ((cmd `(:fuel* (((:quote ,word) synopsis :get)) t))
-             (ret (fuel-eval--send/wait cmd 20)))
-        (when (and ret (not (fuel-eval--retort-error ret)))
+      (let* ((cmd (if (fuel-syntax--in-using)
+                      `(:fuel* (,word fuel-vocab-summary) t t)
+                    `(:fuel* (((:quote ,word) synopsis :get)) t)))
+             (ret (fuel-eval--send/wait cmd 20))
+             (res (fuel-eval--retort-result ret)))
+        (when (and ret (not (fuel-eval--retort-error ret)) (stringp res))
           (if fuel-help-minibuffer-font-lock
-              (fuel-help--font-lock-str (fuel-eval--retort-result ret))
-            (fuel-eval--retort-result ret)))))))
+              (fuel-help--font-lock-str res)
+            res))))))
 
 (make-variable-buffer-local
  (defvar fuel-autodoc-mode-string " A"
@@ -234,6 +237,8 @@ buffer."
     (define-key map "n" 'fuel-help-next)
     (define-key map (kbd "SPC")  'scroll-up)
     (define-key map (kbd "S-SPC") 'scroll-down)
+    (define-key map "\C-cz" 'run-factor)
+    (define-key map "\C-c\C-z" 'run-factor)
     map))
 
 (defconst fuel-help--headlines