diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2012-10-24 05:17:34 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2012-10-24 05:17:34 +0200 |
commit | 0c2c66c68e0c43e55eb0ba0da74ee97508bf1fad (patch) | |
tree | 72a3553b6218f7509f32e28c18f995c7ee0dea1a | |
parent | 956ebbe3e14c3080dc5fc7440e2eef33d2c69a74 (diff) | |
download | geiser-0c2c66c68e0c43e55eb0ba0da74ee97508bf1fad.tar.gz geiser-0c2c66c68e0c43e55eb0ba0da74ee97508bf1fad.tar.bz2 |
Completing file names at the REPL, but only in string contexts
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 4 | ||||
-rw-r--r-- | elisp/geiser-syntax.el | 3 |
3 files changed, 7 insertions, 1 deletions
@@ -1,5 +1,6 @@ * Version 0.2.3 () + - TAB in a string context in the REPL triggers filename completion. - Indentation of scheme forms improved (specially for those of you using a single implementation). diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index dce6143..1a83565 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -15,6 +15,7 @@ (require 'geiser-autodoc) (require 'geiser-edit) (require 'geiser-completion) +(require 'geiser-syntax) (require 'geiser-impl) (require 'geiser-eval) (require 'geiser-connection) @@ -546,7 +547,8 @@ buffer." (interactive "p") (if (>= (point) (geiser-repl--last-prompt-end)) (or (completion-at-point) - (comint-replace-by-expanded-filename) + (and (geiser-syntax--in-string-p) + (comint-replace-by-expanded-filename)) (lisp-indent-line)) (compilation-next-error n))) diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el index 46ee350..46374a2 100644 --- a/elisp/geiser-syntax.el +++ b/elisp/geiser-syntax.el @@ -241,6 +241,9 @@ implementation-specific entries for font-lock-keywords.") (defsubst geiser-syntax--nesting-level () (or (nth 0 (syntax-ppss)) 0)) +(defsubst geiser-syntax--in-string-p () + (nth 3 (syntax-ppss))) + (defsubst geiser-syntax--pair-length (p) (if (cdr (last p)) (1+ (safe-length p)) (length p))) |