Files
fish-config/functions/copy.fish
T
rootiest 1341e2559e docs(functions): standardize all function doc blocks to UNIX man-page style
Replace all ad-hoc inline comments between license headers and function
declarations with consistent SYNOPSIS / DESCRIPTION / ARGUMENTS / RETURNS /
EXAMPLE blocks across all 99 project-owned functions/ files. No executable
logic, variable names, or exit codes were modified.

Completes Task #6 from AGENTS.md (Retroactive Function Documentation
Standardization).
2026-06-05 20:18:49 -04:00

28 lines
726 B
Fish

# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# 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