From de6fc09551730fe87f7f3d6f532bafd189c97236 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Wed, 24 Oct 2012 05:17:34 +0200 Subject: Completing file names at the REPL, but only in string contexts --- NEWS | 1 + elisp/geiser-repl.el | 4 +++- elisp/geiser-syntax.el | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 290d0b3..6458861 100644 --- a/NEWS +++ b/NEWS @@ -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))) -- cgit v1.2.3