summaryrefslogtreecommitdiff
path: root/geiser/completion.scm
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-11 01:22:49 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-05-11 01:22:49 +0200
commit1c50bcb1e89ecad683148a4e67fecfc1d82a93ce (patch)
tree3c240e35c02f239825b83eb63824868b64bd05fb /geiser/completion.scm
parent63ebbc1c5343be09167f84090cf9cf69bb8e776a (diff)
downloadgeiser-guile-1c50bcb1e89ecad683148a4e67fecfc1d82a93ce.tar.gz
geiser-guile-1c50bcb1e89ecad683148a4e67fecfc1d82a93ce.tar.bz2
Improvements to module name support (using prefixes) and Guile support.
Diffstat (limited to 'geiser/completion.scm')
-rw-r--r--geiser/completion.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/geiser/completion.scm b/geiser/completion.scm
index 4906368..f4342bb 100644
--- a/geiser/completion.scm
+++ b/geiser/completion.scm
@@ -25,8 +25,9 @@
;;; Code:
(define-module (geiser completion)
- #:export (completions)
+ #:export (completions module-completions)
#:use-module (geiser utils)
+ #:use-module (geiser modules)
#:use-module (ice-9 session)
#:use-module (ice-9 regex))
@@ -53,4 +54,10 @@
(loop (cons 'let (body form)) (cons (cadr form) bindings)))
(else (loop (cdr form) bindings)))))
+(define (module-completions prefix)
+ (let* ((prefix (string-append "^" (regexp-quote prefix)))
+ (matcher (lambda (s) (string-match prefix s)))
+ (names (filter matcher (all-modules))))
+ (sort! names string<?)))
+
;;; completions.scm ends here