Commit a086d081 authored by Chong Yidong's avatar Chong Yidong
Browse files

(shell-dynamic-complete-filename): New fun.

(shell-dynamic-complete-functions): Use it.
parent 71082167
......@@ -186,7 +186,7 @@ This is a fine thing to set in your `.emacs' file.")
shell-dynamic-complete-environment-variable
shell-dynamic-complete-command
shell-replace-by-expanded-directory
comint-dynamic-complete-filename)
shell-dynamic-complete-filename)
"List of functions called to perform completion.
This variable is used to initialize `comint-dynamic-complete-functions' in the
shell buffer.
......@@ -1010,6 +1010,19 @@ See `shell-dynamic-complete-filename'. Returns t if successful."
(insert " "))
success)))
(defun shell-dynamic-complete-filename ()
"Dynamically complete the filename at point.
This completes only if point is at a suitable position for a
filename argument."
(interactive)
(let ((opoint (point))
(beg (comint-line-beginning-position)))
(when (save-excursion
(goto-char (if (re-search-backward "[;|&]" beg t)
(match-end 0)
beg))
(re-search-forward "[^ \t][ \t]" opoint t))
(comint-dynamic-complete-as-filename))))
(defun shell-match-partial-variable ()
"Return the shell variable at point, or nil if none is found."
......@@ -1023,7 +1036,6 @@ See `shell-dynamic-complete-filename'. Returns t if successful."
(re-search-forward "\\$?{?[A-Za-z0-9_]*}?" limit)
(buffer-substring (match-beginning 0) (match-end 0))))))
(defun shell-dynamic-complete-environment-variable ()
"Dynamically complete the environment variable at point.
Completes if after a variable, i.e., if it starts with a \"$\".
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment