#! /usr/bin/env sh # yt - A fully featured command line YouTube client # # Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de> # SPDX-License-Identifier: GPL-3.0-or-later # # This file is part of Yt. # # You should have received a copy of the License along with this program. # If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>. die() { echo "$@" 1>&2 exit 1 } help() { cat <<EOF A copyright header managment tool. USAGE: cprh.sh [OPTIONS] contribute NAME EMAIL FILE.. OPTIONS: --help | -h Display this help and exit. ARGUMENTS: NAME := [[git config user.name]] Your name. NAME := [[git config user.email]] Your email address. FILE := [[git diff --name-only --cached]] The file you want to change. This can be given multiple times. EOF } for arg in "$@"; do case "$arg" in "--help" | "-h") help exit 0 ;; *) echo "'$1' is not a recognized option. See --help for more!" 1>&2 exit 1 ;; esac done user_name="$1" [ -z "$user_name" ] && die "No NAME set! See --help for more" user_email="$2" [ -z "$user_email" ] && die "No EMAIL set! See --help for more" shift 2 styleOne="" styleTwo="" [ "$COMMENT_STYLE" ] && styleOne="--style" && styleTwo="$COMMENT_STYLE" # The styleTwo must be unquoted to avoid adding empty args to reuse # shellcheck disable=2086 reuse annotate --copyright "$user_name <$user_email>" --copyright-prefix string-c --template default --multi-line $styleOne $styleTwo