about summary refs log tree commit diff
path: root/Functions/Completion/__find
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Completion/__find')
-rw-r--r--Functions/Completion/__find24
1 files changed, 24 insertions, 0 deletions
diff --git a/Functions/Completion/__find b/Functions/Completion/__find
new file mode 100644
index 000000000..b16bb09c7
--- /dev/null
+++ b/Functions/Completion/__find
@@ -0,0 +1,24 @@
+#function find
+
+compsave
+
+if [[ -mbetween -(ok|exec) \\\; ]]; then
+  compsub
+elif [[ -iprefix - ]]; then
+  complist -s 'daystart {max,min,}depth follow noleaf version xdev \
+{a,c,}newer {a,c,m}{min,time} empty false {fs,x,}type gid inum links \
+{i,}{l,}name {no,}{user,group} path perm regex size true uid used \
+exec {f,}print{f,0,} ok prune ls'
+  compreset
+elif [[ -position 1 ]]; then
+  complist -g '. ..'
+  __files -g '(-/)'
+elif [[ -mcurrent -1 -((a|c|)newer|fprint(|0|f)) ]]; then
+  __files
+elif [[ -current -1 -fstype ]]; then
+  complist -k '(ufs 4.2 4.3 nfs tmp mfs S51K S52K)'
+elif [[ -current -1 -group ]]; then
+  complist -k groups
+elif [[ -current -1 -user ]]; then
+  complist -u
+fi