mirror of
https://bitbucket.org/pdo/rpl-tools.git
synced 2024-11-16 19:49:22 +01:00
Better eldoc messages.
This commit is contained in:
parent
6faec172f8
commit
bc6a6d07fa
5 changed files with 6055 additions and 36700 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
16263
data/sysrpl-data.49G.el
16263
data/sysrpl-data.49G.el
File diff suppressed because one or more lines are too long
26
rpl-edb.el
26
rpl-edb.el
|
@ -67,7 +67,7 @@ description. Move point to the start of the next line."
|
|||
(setq desc (cons (rpl-edb-get-line) desc)))
|
||||
(list name (rpl-trim-stack-effect-description (reverse desc)))))
|
||||
(t
|
||||
(list "" "")))))
|
||||
(list nil nil)))))
|
||||
|
||||
;;; Parsing keyword lines
|
||||
;;;
|
||||
|
@ -175,8 +175,7 @@ flags for this calculator."
|
|||
(setq entry-description (cons (rpl-edb-consume-description-line) entry-description)))
|
||||
((eql (char-after) ?.)
|
||||
;; A keyword line
|
||||
(cl-destructuring-bind (keyword &rest params)
|
||||
(rpl-edb-consume-keyword-line)
|
||||
(cl-destructuring-bind (keyword &rest params) (rpl-edb-consume-keyword-line)
|
||||
(cond ((eql keyword :AKA)
|
||||
(dolist (name params)
|
||||
(push name entry-names)))
|
||||
|
@ -189,10 +188,13 @@ flags for this calculator."
|
|||
;; An identifier/stack-effect line
|
||||
(when entry-names
|
||||
(push (list entry-names entry-stack-effect (reverse entry-description) entry-calc-infos) entries))
|
||||
(cl-destructuring-bind (name stack-effect)
|
||||
(rpl-edb-consume-ident-line)
|
||||
(setq entry-names (list name))
|
||||
(setq entry-stack-effect stack-effect)
|
||||
(cl-destructuring-bind (name stack-effect) (rpl-edb-consume-ident-line)
|
||||
(cond (name
|
||||
(setq entry-names (list name))
|
||||
(setq entry-stack-effect stack-effect))
|
||||
(t
|
||||
(setq entry-names nil)
|
||||
(setq entry-stack-effect nil)))
|
||||
(setq entry-calc-infos nil)
|
||||
(setq entry-description nil)))))
|
||||
(when entry-names
|
||||
|
@ -219,8 +221,12 @@ Assumes `rpl-edb-entries' has been set by calling
|
|||
(let* ((addr-str (cadr calc-info))
|
||||
(fmt-str (if (caddr calc-info) (caddr calc-info) "%s"))
|
||||
(flags (cdddr calc-info))
|
||||
(stack-str (apply 'concat (mapcar (lambda (s) (concat s "\n")) stack-effect)))
|
||||
(descrip-str (apply 'concat (mapcar (lambda (s) (concat s "\n")) description)))
|
||||
(stack-str (concat (car stack-effect)
|
||||
(apply 'concat (mapcar (lambda (s) (concat "\n" s))
|
||||
(cdr stack-effect)))))
|
||||
(descrip-str (concat (car description)
|
||||
(apply 'concat (mapcar (lambda (s) (concat "\n" s))
|
||||
(cdr description)))))
|
||||
(data (cons stack-str (cons descrip-str (cons addr-str flags)))))
|
||||
(dolist (name names)
|
||||
(puthash (format fmt-str name) data table)))))))
|
||||
|
@ -245,7 +251,7 @@ calculator model, e.g. :48G, :49G etc."
|
|||
(unless rpl-edb-entries
|
||||
(rpl-edb-parse-buffer))
|
||||
(dolist (calculator '(:38G :39G :48G :49G))
|
||||
(rpl-edb-make-calculator-data-file rpl-edb-entries calculator)))
|
||||
(rpl-edb-make-calculator-data-file calculator)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; Functions to read and query calculator data files
|
||||
|
|
Loading…
Reference in a new issue