mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-15 06:32:40 +00:00
feat: Adds hpa-create helper script.
This commit is contained in:
25
env/.local/scripts/hpa
vendored
25
env/.local/scripts/hpa
vendored
@@ -88,8 +88,17 @@ create() {
|
|||||||
[[ -z $project ]] && echoerr "Must supply a project name." && exit 1
|
[[ -z $project ]] && echoerr "Must supply a project name." && exit 1
|
||||||
|
|
||||||
project_container_name="$(run create --quiet "/consults/$(date '+%Y.%m.%d').$project")"
|
project_container_name="$(run create --quiet "/consults/$(date '+%Y.%m.%d').$project")"
|
||||||
dir_name="$(basename "$project_container_name")"
|
dir_name="$CONSULTS_DIR/$(basename "$project_container_name")"
|
||||||
echo "$CONSULTS_DIR/$dir_name"
|
|
||||||
|
# Initialize git repo in the project and the initial commit.
|
||||||
|
pushd "$(echo "$dir_name" | tr -d '\r' | head -1)" &>/dev/null || exit 1
|
||||||
|
(
|
||||||
|
git init
|
||||||
|
git add .
|
||||||
|
git commit --all --message="Initial commit"
|
||||||
|
) &>/dev/null
|
||||||
|
popd &>/dev/null
|
||||||
|
echo "$dir_name"
|
||||||
}
|
}
|
||||||
|
|
||||||
############################## MAIN ##############################
|
############################## MAIN ##############################
|
||||||
@@ -101,17 +110,7 @@ if [[ $first_arg == "init" ]]; then
|
|||||||
init "$@"
|
init "$@"
|
||||||
elif [[ $first_arg == "create" ]]; then
|
elif [[ $first_arg == "create" ]]; then
|
||||||
shift
|
shift
|
||||||
dir=$(create "$@")
|
echo "$(create "$@")"
|
||||||
# Initialize project as a git repo.
|
|
||||||
pushd "$(echo "$dir" | tr -d '\r' | head -1)" &>/dev/null || exit 1
|
|
||||||
(
|
|
||||||
git init
|
|
||||||
git add .
|
|
||||||
git commit --all --message="Initial commit"
|
|
||||||
) >&/dev/null
|
|
||||||
popd &>/dev/null
|
|
||||||
# Echo the project directory.
|
|
||||||
echo "$dir"
|
|
||||||
else
|
else
|
||||||
run "$@"
|
run "$@"
|
||||||
fi
|
fi
|
||||||
|
|||||||
31
env/.local/scripts/hpa-create
vendored
Executable file
31
env/.local/scripts/hpa-create
vendored
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# NB: This wrapper script is required for the spinner to work, otherwise if declared in
|
||||||
|
# the 'hpa' (container wrapper script) then it doesn't work.
|
||||||
|
# https://github.com/charmbracelet/gum/issues/419
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<'EOF'
|
||||||
|
|
||||||
|
Create a home performance assesment project directory. This handles creating the project using
|
||||||
|
the preferred directory name (example '25.11.05.McTestface').
|
||||||
|
|
||||||
|
It show's a spinner while the project is being created and supresses all output except for the
|
||||||
|
generated directory. This allows the command to be called using `cd $(hpa-create McTestface)` to
|
||||||
|
cd into the directory once it's created and get to work!
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
$ hpa-create <FLAGS> <CUSTOMER>
|
||||||
|
|
||||||
|
FLAGS:
|
||||||
|
-h | --help: Show this help page.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
first_arg=${1:-""}
|
||||||
|
if [[ $first_arg == "-h" ]] || [[ $first_arg == "--help" ]]; then
|
||||||
|
usage && exit 0
|
||||||
|
else
|
||||||
|
gum spin --show-output --title "Creating project..." -- bash -c "hpa create $*" | tr -d '\r' | head -1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user