1234567891011121314151617181920212223242526272829303132 |
- #
- # Moves files to the macOS trash.
- #
- # function trash {
- emulate -L zsh
- setopt LOCAL_OPTIONS EXTENDED_GLOB
- local file
- local -a files=()
- for file in $@; do
- if [[ -e $file ]]; then
- # ':a' gets the full path (do not use ':A', which would resolve symlinks)
- files+=("the POSIX file \"${file:a}\"")
- else
- print "trash: No such file or directory '$file'." >&2
- return 1
- fi
- done
- if (( $#files == 0 )); then
- print 'usage: trash <files...>' >&2
- return 64 # Match rm's return code.
- fi
- # Join file list with commas, and tell Finder to trash that list.
- local file_list="${(pj., .)files}"
- osascript 2>&1 > /dev/null -e "tell app \"Finder\" to move { "${file_list}" } to trash"
- # }
|