diff options
Diffstat (limited to 'lisp/pcmpl-unix.el')
-rw-r--r-- | lisp/pcmpl-unix.el | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el index 822f6f37e78..13de4b65e5b 100644 --- a/lisp/pcmpl-unix.el +++ b/lisp/pcmpl-unix.el @@ -82,10 +82,14 @@ being via `pcmpl-ssh-known-hosts-file'." ;;;###autoload (defun pcomplete/xargs () "Completion for `xargs'." - (pcomplete-here (funcall pcomplete-command-completion-function)) + ;; FIXME: Add completion of xargs-specific arguments. + (funcall pcomplete-command-completion-function) (funcall (or (pcomplete-find-completion-function (pcomplete-arg 1)) pcomplete-default-completion-function))) +;; FIXME: Add completion of sudo-specific arguments. +(defalias 'pcomplete/sudo #'pcomplete/xargs) + ;;;###autoload (defalias 'pcomplete/time 'pcomplete/xargs) @@ -144,7 +148,7 @@ documentation), this function returns nil." ;; ssh support by Phil Hagelberg. -;; http://www.emacswiki.org/cgi-bin/wiki/pcmpl-ssh.el +;; https://www.emacswiki.org/cgi-bin/wiki/pcmpl-ssh.el (defun pcmpl-ssh-known-hosts () "Return a list of hosts found in `pcmpl-ssh-known-hosts-file'." @@ -217,6 +221,29 @@ Includes files as well as host names followed by a colon." (pcmpl-ssh-hosts))))))) (complete-with-action action table string pred)))))) +(defsubst pcmpl-unix-complete-hostname () + "Complete a command that wants a hostname for an argument." + (pcomplete-here (pcomplete-read-host-names))) + +(defalias 'pcomplete/ftp 'pcmpl-unix-complete-hostname) +(defalias 'pcomplete/ncftp 'pcmpl-unix-complete-hostname) +(defalias 'pcomplete/ping 'pcmpl-unix-complete-hostname) +(defalias 'pcomplete/rlogin 'pcmpl-unix-complete-hostname) + +;;;###autoload +(defun pcomplete/telnet () + (pcomplete-opt "xl(pcmpl-unix-user-names)") + (pcmpl-unix-complete-hostname)) + +;;;###autoload +(defun pcomplete/rsh () + "Complete `rsh', which, after the user and hostname, is like xargs." + (pcomplete-opt "l(pcmpl-unix-user-names)") + (pcmpl-unix-complete-hostname) + (pcomplete-here (funcall pcomplete-command-completion-function)) + (funcall (or (pcomplete-find-completion-function (pcomplete-arg 1)) + pcomplete-default-completion-function))) + (provide 'pcmpl-unix) ;;; pcmpl-unix.el ends here |