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 | d7657c533921de69d1805f7bf3b40d9426d7800b (patch) | |
tree | 89db151833ddf64347f2de819ae04f74a19c4947 /elisp/geiser-completion.el | |
parent | c09f5bbaa836d04a9babdff0943dc596dbc68e38 (diff) | |
download | geiser-guile-d7657c533921de69d1805f7bf3b40d9426d7800b.tar.gz geiser-guile-d7657c533921de69d1805f7bf3b40d9426d7800b.tar.bz2 |
Improvements to module name support (using prefixes) and Guile support.
Diffstat (limited to 'elisp/geiser-completion.el')
-rw-r--r-- | elisp/geiser-completion.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/elisp/geiser-completion.el b/elisp/geiser-completion.el index d27ef0f..1e036c6 100644 --- a/elisp/geiser-completion.el +++ b/elisp/geiser-completion.el @@ -153,14 +153,17 @@ terminates a current completion." (quote (:scm ,(or (geiser-syntax--get-partial-sexp) "()")))))) :test 'string=)) -(defsubst geiser-completion--module-list () - (geiser-eval--send/result '(:eval ((:ge all-modules))))) +(defsubst geiser-completion--module-list (prefix) + (geiser-eval--send/result `(:eval ((:ge module-completions) ,prefix)))) (defvar geiser-completion--symbol-list-func (completion-table-dynamic 'geiser-completion--symbol-list)) +(defvar geiser-completion--module-list-func + (completion-table-dynamic 'geiser-completion--module-list)) + (defun geiser-completion--complete (prefix modules) - (let* ((symbols (if modules (geiser-completion--module-list) + (let* ((symbols (if modules (geiser-completion--module-list prefix) (geiser-completion--symbol-list prefix))) (completions (all-completions prefix symbols)) (partial (try-completion prefix symbols)) @@ -183,11 +186,11 @@ terminates a current completion." (let ((minibuffer-local-completion-map geiser-completion--module-minibuffer-map)) (geiser-eval--get-module (completing-read (or prompt "Module name: ") - (geiser-completion--module-list) - nil nil + geiser-completion--module-list-func + nil nil nil + (or history geiser-completion--module-history) (or default - (format "%s" (or (geiser-syntax--buffer-module) "("))) - (or history geiser-completion--module-history))))) + (format "%s" (or (geiser-syntax--buffer-module) ""))))))) (defun geiser--respecting-message (format &rest format-args) "Display TEXT as a message, without hiding any minibuffer contents." |