From 687ba1c9efb4f57d2aa948b8bb2cea4bcfd5c7fa Mon Sep 17 00:00:00 2001 From: axel Date: Fri, 1 Dec 2006 09:14:14 +1000 Subject: [PATCH] Add completions for the find command darcs-hash:20061130231414-ac50b-4636dbd460ad23479c5740b22dcba011c2e140a3.gz --- share/completions/find.fish | 110 ++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 share/completions/find.fish diff --git a/share/completions/find.fish b/share/completions/find.fish new file mode 100644 index 000000000..2bcd5b7cd --- /dev/null +++ b/share/completions/find.fish @@ -0,0 +1,110 @@ +# Completions for the 'find' command + +# There are quite a few of them... + +# Switches for how to handle symlinks + +complete -c find -s P -d (N_ "Never follow symlinks") +complete -c find -s L -o follow -d (N_ "Follow symlinks") +complete -c find -s H -d (N_ "Do not follow symbolic links, except while processing the command line arguments") + + +# General options + +complete -c find -o daystart -d (N_ "Measure from the beginning of today rather than from 24 hours ago") +complete -c find -s d -o depth -d (N_ "Process subdirectories before the directory itself") +complete -c find -o help -l help -d (N_ "Display help and exit") +complete -c find -o ignore_readdir_race -d (N_ "Do not print error messages for files that are deleted while running find") +complete -c find -o maxdepth -d (N_ "Maximum recursion depth") -a "1 2 3 4 5 6 7 8 9" +complete -c find -o mindepth -d (N_ "Do not apply any tests or actions at levels less than specified level") -a "1 2 3 4 5 6 7 8 9" +complete -c find -o mount -o xdev -d (N_ "Don't descend directories on other filesystems") +complete -c find -o noignore_readdir_race -d (N_ "Print error messages for files that are deleted while running find") +complete -c find -o noleaf -d (N_ "Do not optimize by assuming that directories contain 2 fewer subdirectories than their hard link count") +complete -c find -o regextype -d (N_ "Specify regular expression type") -a "emacs posix-awk posix-basic posiz-egrep posix-extended" +complete -c find -o version -l version -d (N_ "Display version and exit") +complete -c find -o warn -d (N_ "Turn warnings on") +complete -c find -o nowarn -d (N_ "Turn warnings off") + + +# Tests + +complete -c find -o amin -d (N_ "File last accessed specified number of minutes ago") -r +complete -c find -o anewer -d (N_ "File last accessed more recently than file was modified") -r +complete -c find -o atime -d (N_ "File last accessed specified number of days ago") -r + +complete -c find -o cmin -d (N_ "File status last changed specified number of minutes ago") -r +complete -c find -o cnewer -d (N_ "File status last changed more recently than file was modified") -r +complete -c find -o ctime -d (N_ "File status last changed specified number of days ago") -r + +complete -c find -o empty -d (N_ "File is empty and is either a regular file or a directory") +complete -c find -o false -d (N_ "Always false") +complete -c find -o fstype -d (N_ "File is on filesystem of specified type") -a "(__fish_print_filesystems)" -r +complete -c find -o gid -d (N_ "Numeric group id of file") -r +complete -c find -o group -d (N_ "Group name of file") -a "(__fish_complete_groups)" + +complete -c find -o ilname -d (N_ "File is symlink matching specified case insensitive pattern") -r +complete -c find -o iname -d (N_ "File name matches case insensitive pattern") -r +complete -c find -o inum -d (N_ "File has specified inode number") -r +complete -c find -o ipath -o iwholename -d (N_ "File path matches case insensitive pattern") -r +complete -c find -o iregex -d (N_ "File name matches case insensetive regex") -r + +complete -c find -o links -d (N_ "File has specified number of links") -r -a "1 2 3 4 5 6 7 8 9" +complete -c find -o lname -d (N_ "File is symlink matching specified pattern") -r + +complete -c find -o mmin -d (N_ "File last modified specified number of minutes ago") -r +complete -c find -o newer -d (N_ "File last modified more recently than file was modified") -r +complete -c find -o mtime -d (N_ "File last modified specified number of days ago") -r + +complete -c find -o name -d (N_ "File name matches pattern") -r + +complete -c find -o nouser -d (N_ "No user corresponds to file's numeric user ID") +complete -c find -o nogroup -d (N_ "No group corresponds to file's numeric group ID") + +complete -c find -o path -o wholename -d (N_ "File path matches pattern") -r + +complete -c find -o perm -d (N_ "Files has specified permissions set") -r + +complete -c find -o iregex -d (N_ "File name matches regex") -r + +complete -c find -o samefile -d (N_ "File refers to the same inode as specified file") -r +complete -c find -o size -d (N_ "File uses specified units of space") -r +complete -c find -o true -d (N_ "Always true") + +set -l type_comp 'b\t"Block device" c\t"Character device" d\t"Directory" p\t"Named pipe" f\t"File" l\t"Symbolic link" s\t"Socket"' +complete -c find -o type -d (N_ "File is of specified type") -x -a $type_comp + +complete -c find -o uid -d (N_ "File's owner has specified numeric user ID") -r +complete -c find -o used -d (N_ "File was last accessed specified number of days after its status was last changed") -r +complete -c find -o user -d (N_ "File's owner") -a "(__fish_complete_users)" -r +complete -c find -o xtype -d (N_ "Check type of file - in case of symlink, check the file that is not checked by -type") -x $type_comp +complete -c find -o context -d (N_ "File's security context matches specified pattern") -r + + +# Actions + +complete -c find -o delete -d (N_ "Delete selected files") +complete -c find -o exec -d (N_ "Execute specified command for each located file") -r +complete -c find -o execdir -d (N_ "Execute specified command for each located file, in the files directory") -r +complete -c find -o fls -d (N_ "List file in ls -dils format, write to specified file") -r +complete -c find -o fprint -d (N_ "Print full file names into specified file") -r +complete -c find -o fprint0 -d (N_ "Print null separated full file names into specified file") -r +complete -c find -o fprintf -d (N_ "Print formated data into specified file") -r +complete -c find -o ok -d (N_ "Execute specified command for each located file after asking user") -r +complete -c find -o print -d (N_ "Print full file names") +complete -c find -o okdir -d (N_ "Execute specified command for each located file, in the files directory, after asking user") -r +complete -c find -o print0 -d (N_ "Print null separated full file names") +complete -c find -o printf -d (N_ "Print formated data") -r +complete -c find -o prune -d (N_ "Do not recurse unless -depth is specified") +complete -c find -o quit -d (N_ "Exit at once") +complete -c find -o ls -d (N_ "List file in ls -dils format") -r + +# Grouping + +complete -c find -o not -d (N_ "Negate result of action") +complete -c find -o and -s a -d (N_ "Result is only true if both previous and next action are true") +complete -c find -o or -s o -d (N_ "Result is true if either previous or next action are true") + + + + +