[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-gauche 54a360a 029/119: Add symbol manual lookup su
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-gauche 54a360a 029/119: Add symbol manual lookup support |
Date: |
Sun, 1 Aug 2021 18:27:51 -0400 (EDT) |
branch: elpa/geiser-gauche
commit 54a360aebf65696ade3a7fa4a7f03a4719730125
Author: András Simonyi <andras.simonyi@gmail.com>
Commit: András Simonyi <andras.simonyi@gmail.com>
Add symbol manual lookup support
---
geiser-gauche.el | 37 ++++++++++++++++++++++++++++++++-----
1 file changed, 32 insertions(+), 5 deletions(-)
diff --git a/geiser-gauche.el b/geiser-gauche.el
index 4d74b34..cc885cc 100644
--- a/geiser-gauche.el
+++ b/geiser-gauche.el
@@ -48,8 +48,18 @@
(geiser-custom--defcustom geiser-gauche-extra-keywords nil
"Extra keywords highlighted in Gauche scheme buffers."
:type '(repeat string)
- :group 'geiser-chicken)
+ :group 'geiser-gauche)
+
+(geiser-custom--defcustom geiser-gauche-manual-lookup-nodes
+ '("Gauche")
+ "List of info nodes that, when present, are used for manual lookups"
+ :type '(repeat string)
+ :group 'geiser-gauche)
+(geiser-custom--defcustom geiser-gauche-manual-lookup-other-window-p t
+ "Non-nil means pop up the Info buffer in another window."
+ :type 'boolean
+ :group 'geiser-gauche)
;;; REPL support:
@@ -206,17 +216,34 @@
(and key (message msg) nil))
-
;;; Manual look up
-(defun gauche--manual-look-up (id mod)
+(defun geiser-gauche--info-spec (&optional nodes)
+ (let* ((nrx "^[ ]+-+ [^:]+:[ ]*")
+ (drx "\\b")
+ (res (when (Info-find-file "gauche-refe" t)
+ `(("(gauche-refe)Function and Syntax Index" nil ,nrx ,drx)))))
+ (dolist (node (or nodes geiser-gauche-manual-lookup-nodes) res)
+ (when (Info-find-file node t)
+ (mapc (lambda (idx)
+ (add-to-list 'res
+ (list (format "(%s)%s" node idx) nil nrx drx)))
+ '("Function and Syntax Index" "Module Index" "Class Index"
+ "Variable Index"))))))
+
+
+(info-lookup-add-help :topic 'symbol :mode 'geiser-gauche-mode
+ :ignore-case nil
+ :regexp "[^()`',\" \n]+"
+ :doc-spec (geiser-gauche--info-spec))
+
+(defun geiser-gauche--manual-look-up (id mod)
(let ((info-lookup-other-window-flag
geiser-gauche-manual-lookup-other-window-p))
(info-lookup-symbol (symbol-name id) 'geiser-gauche-mode))
(when geiser-gauche-manual-lookup-other-window-p
(switch-to-buffer-other-window "*info*"))
(search-forward (format "%s" id) nil t))
-
;;; Implementation definition:
@@ -239,7 +266,7 @@
(display-error geiser-gauche--display-error)
(binding-forms geiser-gauche--binding-forms)
(binding-forms* geiser-gauche--binding-forms*)
- ;; (external-help geiser-gauche--manual-look-up)
+ (external-help geiser-gauche--manual-look-up)
;; (check-buffer geiser-gauche--guess)
(keywords geiser-gauche--keywords)
(case-sensitive geiser-gauche-case-sensitive-p))
- [nongnu] elpa/geiser-gauche 524b594 046/119: Start work on module documentation, (continued)
- [nongnu] elpa/geiser-gauche 524b594 046/119: Start work on module documentation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche a1ef874 049/119: Finish module info for now, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 4027a84 053/119: Minor fix, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 2e6dbc4 076/119: Aesthetic changes, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 6806302 077/119: Cosmetic changes for MELPA, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 0be6e0a 081/119: Add setup elisp file, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche a3b2e3f 009/119: Remove test line, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 0050571 021/119: Minor fix in autodoc, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 7635884 020/119: Minor fix, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche c96701c 047/119: Continue work on module docs, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 54a360a 029/119: Add symbol manual lookup support,
Philip Kaludercic <=
- [nongnu] elpa/geiser-gauche f5ddefb 043/119: Prefer current-module visible alternatives in autodoc, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 4195803 028/119: Prefer longest require arg list in autodoc, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche d5d68fd 039/119: Don't import the geiser module at startup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 0fac12f 048/119: Improve module documentation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche a0eee47 068/119: Correctly detect current module in the repl, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 4890817 063/119: Add let1 and case-lambda to the syntax rules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche d71c212 074/119: Add compile to the require list, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 34490de 078/119: Small corrections, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche aeeb8b3 080/119: Minor fix, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche dd68fc7 087/119: Update README.md, Philip Kaludercic, 2021/08/01