From 2156b7bb868cacc50832ec1b42a7e1a4e02e5ee0 Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Thu, 18 Dec 2008 15:38:40 +0100 Subject: [PATCH] FUEL: Description for vocabularies in autodoc mode. --- extra/fuel/fuel.factor | 14 ++++++++++---- misc/fuel/fuel-help.el | 15 ++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index dacf57cc7f..017b20b54b 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -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 diff --git a/misc/fuel/fuel-help.el b/misc/fuel/fuel-help.el index e618fd130a..3bfd788702 100644 --- a/misc/fuel/fuel-help.el +++ b/misc/fuel/fuel-help.el @@ -76,12 +76,15 @@ (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