Files
fish-config/functions/copy.fish
T
rootiest 4c51ef7a33 docs(functions): add # CATEGORY to documented function headers
Records each documented function's manual category in its own header, so
Section 5 can later be generated from source instead of hand-maintained
alongside it. Values reproduce the current grouping in
docs/manual/05-functions/ exactly; no documentation changes meaning here.

Four functions are skipped because they have no header at all yet
(branch, fc, gitup, sudo-toggle); they get one in the merge that follows.
2026-07-26 03:44:03 -04:00

31 lines
765 B
Fish

# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# CATEGORY
# 01-file-and-directory
#
# SYNOPSIS
# copy <source> <dest>
#
# DESCRIPTION
# Wrapper for cp that strips trailing slashes from source directories,
# preventing unwanted nested copies when the destination already exists.
#
# ARGUMENTS
# source Source file or directory
# dest Destination path
#
# EXAMPLE
# copy ./mydir/ ~/backup
function copy
set count (count $argv)
if test "$count" = 2; and test -d "$argv[1]"
# 'string trim' is built straight into Fish and works everywhere
set from (string trim --right --chars=/ $argv[1])
set to (echo $argv[2])
command cp -r $from $to
else
command cp $argv
end
end