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
: fuel-end-eval ( -- ) [ ] (fuel-end-eval) ; inline
+: fuel-run-file ( path -- ) run-file ; inline
+
! Edit locations
: fuel-get-edit-location ( defspec -- )
! 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
: 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 ;
: 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
(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"
(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