mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 09:39:52 +08:00
a1dd93df41
- Generally better descriptions, - uname checks to not complerte unavailable options on NetBSD, FreeBSD, DragonFly, Solaris, Darwin - Describe/complete GNU's --time=access,mtime... arg - Remove -f it is a no-op and not documented.
35 lines
1.7 KiB
Fish
35 lines
1.7 KiB
Fish
complete touch -d "change file access and modification times"
|
|
# common options
|
|
complete touch -s a -d "change access time (atime)"
|
|
complete touch -s m -d "change modification time (mtime)"
|
|
complete touch -s t -d "use specified time [[CC]YY]MMDDhhmm[.SS]"
|
|
|
|
if touch --version 2>/dev/null >/dev/null # GNU
|
|
complete touch -s B -l backward -x -d "set date back"
|
|
complete touch -s c -l no-create -d "don't create file if it doesn't exist"
|
|
complete touch -s d -l date -x -d "set to specified YYYY-MM-DDThh:mm:SS[.frac][tz]"
|
|
complete touch -s f -l forward -x -d "set date forward"
|
|
complete touch -s r -l reference -d "use times from specified reference file"
|
|
# TODO these may require that = but builtin complete doesn't seem to infer it should
|
|
# use = here
|
|
complete touch -l time -x -d "change specified kind of timestamp" -a \
|
|
"atime\t'change access time (atime) only'
|
|
access\t'change access time (atime) only'
|
|
use\t'change access time (atime) only'
|
|
mtime\t'change modification time (mtime) only'
|
|
modify\t'change modification time (mtime) only'"
|
|
complete touch -l help -d "display help"
|
|
complete touch -l version -d "display version"
|
|
else # not GNU
|
|
set -l uname (uname -s)
|
|
contains $uname Darwin DragonFly FreeBSD
|
|
and complete touch -s A -d "adjust timestamps by relative value [-][hh]mm]SS" -x
|
|
contains $uname Darwin DragonFly FreeBSD NetBSD
|
|
and complete touch -s h -d "act on symbolic links themselves"
|
|
contains $uname Darwin DragonFly FreeBSD OpenBSD SunOS
|
|
and complete touch -s d -d "set to specified YYYY-MM-DDThh:mm:SS[.frac][tz]" -x
|
|
# common BSD options
|
|
complete touch -s c -d "don't create file if it doesn't exist"
|
|
complete touch -s r -d "use times from specified reference file" -r
|
|
end
|