[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-gauche 5876bc2 018/119: Deal with dotted signatures
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-gauche 5876bc2 018/119: Deal with dotted signatures in autodoc |
Date: |
Sun, 1 Aug 2021 18:27:49 -0400 (EDT) |
branch: elpa/geiser-gauche
commit 5876bc20adf3e1e755d56015a467f5b18281ec10
Author: András Simonyi <andras.simonyi@gmail.com>
Commit: András Simonyi <andras.simonyi@gmail.com>
Deal with dotted signatures in autodoc
---
geiser.scm | 45 +++++++++++++++++++++++++++++----------------
1 file changed, 29 insertions(+), 16 deletions(-)
diff --git a/geiser.scm b/geiser.scm
index 879283e..80b9d35 100644
--- a/geiser.scm
+++ b/geiser.scm
@@ -90,22 +90,35 @@
`(,id))))
(define (process-info info)
- (let* ((required '("required"))
- (optional '("optional"))
- (key '("key"))
- (section :required))
- (dolist (x (cdr info))
- (case x
- ((:optional :key) (set! section x))
- ((:rest))
- (else (case section
- ((:optional) (push! optional x))
- ((:key) (push! key x))
- (else (push! required x))))))
- `(,(car info) ("args"
- ,(map (cut reverse <>)
- (list required optional key)))
- ("module" user))))
+ `(,(car info)
+ ("args"
+ ,(if (list? info)
+ (let* ((required '("required"))
+ (optional '("optional"))
+ (key '("key"))
+ (section :required))
+ (dolist (x (cdr info))
+ (case x
+ ((:optional :key) (set! section x))
+ ((:rest))
+ (else (case section
+ ((:optional) (push! optional x))
+ ((:key) (push! key x))
+ (else (if (symbol=? x 'args)
+ (push! required "...")
+ (push! required x)))))))
+
+ (map (cut reverse <>)
+ (list required optional key)))
+ `(("required" ,@(process-dotted-info (cdr info)) "...")
+ ("optional")
+ ("key"))))
+ ("module" user)))
+
+(define (process-dotted-info info)
+ (if (pair? (cdr info))
+ (cons (car info) (process-dotted-info (cdr info)))
+ (list (car info))))
;; Further
- [nongnu] elpa/geiser-gauche 60c95ca 002/119: Add initial version of geiser.scm and geiser-gauche.el, (continued)
- [nongnu] elpa/geiser-gauche 60c95ca 002/119: Add initial version of geiser.scm and geiser-gauche.el, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 6da3f02 011/119: Fix geiser:eval, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche b474b09 014/119: Don't filter completions based on context (for now), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 9dafd9f 079/119: License-related updates, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 04208f5 075/119: Cleanup Cask file, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 687713c 085/119: Update README.md, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche f1ccc62 086/119: Update README.md, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche f9064d8 003/119: Implement get-module and other Emacs functions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche ca7629e 012/119: geieser-gauche fixes, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 4cb8586 007/119: Fix gauche prompt regexp, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 5876bc2 018/119: Deal with dotted signatures in autodoc,
Philip Kaludercic <=
- [nongnu] elpa/geiser-gauche 3fee273 027/119: Get autodoc info from all modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 98c52e6 023/119: Deal with complex key arguments, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche c9d367e 024/119: Fix complex key argument autodocs, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 5c18e45 030/119: Finish autodoc and symbol signature lookup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 752a496 031/119: Add code source reference, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 2ef21b4 044/119: Remove a TODO comment, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 762cd22 035/119: Add guessing functions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche fbcd9a4 050/119: Minor fix, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 2002cc0 056/119: Cleanup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche e406a0e 051/119: Minor fixes, Philip Kaludercic, 2021/08/01