summaryrefslogtreecommitdiff
path: root/lisp/pcmpl-gnu.el
diff options
context:
space:
mode:
authorThierry Volpiatto <thierry.volpiatto@gmail.com>2016-02-25 16:43:52 +1030
committerLars Ingebrigtsen <larsi@gnus.org>2016-02-25 16:43:52 +1030
commite65d4d3a5d7748aa742112a6065e1eeeac0275a6 (patch)
tree183ed8d7b15ec88d74124fa8cd2bc2cd52008466 /lisp/pcmpl-gnu.el
parentfecd5e589d01b39e9c0c2f0a9ed300ba8cb09817 (diff)
downloademacs-e65d4d3a5d7748aa742112a6065e1eeeac0275a6.tar.gz
Add pcomplete support for find
* lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support for find (bug#10487).
Diffstat (limited to 'lisp/pcmpl-gnu.el')
-rw-r--r--lisp/pcmpl-gnu.el35
1 files changed, 35 insertions, 0 deletions
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index f84a1ceba41..84e42aefbf9 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -329,6 +329,41 @@
nil 'identity))))
;;;###autoload
+(defun pcomplete/find ()
+ "Completion for GNU find utility."
+ (let ((prec (pcomplete-arg 'last -1)))
+ (cond ((and (pcomplete-match "^-" 'last)
+ (string= "find" prec))
+ (pcomplete-opt "HLPDO"))
+ ((pcomplete-match "^-" 'last)
+ (while (pcomplete-here
+ '("-amin" "-anewer" "-atime" "-cmin" "-cnewer" "-context"
+ "-ctime" "-daystart" "-delete" "-depth" "-empty" "-exec"
+ "-execdir" "-executable" "-false" "-fls" "-follow"
+ "-fprint" "-fprint0" "-fprintf" "-fstype" "-gid" "-group"
+ "-help" "-ignore_readdir_race" "-ilname" "-iname"
+ "-inum" "-ipath" "-iregex" "-iwholename"
+ "-links" "-lname" "-ls" "-maxdepth"
+ "-mindepth" "-mmin" "-mount" "-mtime"
+ "-name" "-newer" "-nogroup" "-noignore_readdir_race"
+ "-noleaf" "-nouser" "-nowarn" "-ok"
+ "-okdir" "-path" "-perm" "-print"
+ "-print0" "-printf" "-prune" "-quit"
+ "-readable" "-regex" "-regextype" "-samefile"
+ "-size" "-true" "-type" "-uid"
+ "-used" "-user" "-version" "-warn"
+ "-wholename" "-writable" "-xdev" "-xtype"))))
+ ((string= "-type" prec)
+ (while (pcomplete-here (list "b" "c" "d" "p" "f" "l" "s" "D"))))
+ ((string= "-xtype" prec)
+ (while (pcomplete-here (list "b" "c" "d" "p" "f" "l" "s"))))
+ ((or (string= prec "-exec")
+ (string= prec "-execdir"))
+ (while (pcomplete-here* (funcall pcomplete-command-completion-function)
+ (pcomplete-arg 'last) t))))
+ (while (pcomplete-here (pcomplete-entries) nil 'identity))))
+
+;;;###autoload
(defalias 'pcomplete/gdb 'pcomplete/xargs)
;;; pcmpl-gnu.el ends here