#!/usr/bin/env dash

# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH

ROOT="$(git rev-parse --show-toplevel)"

# Take first line from previous commit
if [ -f "$ROOT/.git/COMMIT_EDITMSG" ]; then
    sed '1s/\(.*\)\((.*)\)\?\(:.*\)/\1\2: /;1p;d' "$ROOT/.git/COMMIT_EDITMSG" >"$ROOT/.git/COMMIT_TEMPLATE"
else
    printf "\n" >"$ROOT/.git/COMMIT_TEMPLATE"
fi
sed '1d' "$(git config commit.template)" >>"$ROOT/.git/COMMIT_TEMPLATE"

git commit --template "$ROOT/.git/COMMIT_TEMPLATE" --verbose "$@"

# vim: ft=sh