summaryrefslogtreecommitdiff
path: root/lisp/pcmpl-gnu.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/pcmpl-gnu.el')
-rw-r--r--lisp/pcmpl-gnu.el36
1 files changed, 36 insertions, 0 deletions
diff --git a/lisp/pcmpl-gnu.el b/lisp/pcmpl-gnu.el
index f84a1ceba41..e4e8f3a2c53 100644
--- a/lisp/pcmpl-gnu.el
+++ b/lisp/pcmpl-gnu.el
@@ -329,6 +329,42 @@
nil 'identity))))
;;;###autoload
+
+(defun pcomplete/find ()
+ "Completion for the 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-dirs) nil 'identity))))
+
+;;;###autoload
(defalias 'pcomplete/gdb 'pcomplete/xargs)
;;; pcmpl-gnu.el ends here