diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-05-11 01:22:49 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-05-11 01:22:49 +0200 |
commit | 1c50bcb1e89ecad683148a4e67fecfc1d82a93ce (patch) | |
tree | 3c240e35c02f239825b83eb63824868b64bd05fb /geiser/completion.scm | |
parent | 63ebbc1c5343be09167f84090cf9cf69bb8e776a (diff) | |
download | geiser-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.scm | 9 |
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 |