dotfiles/.bash_functions
Michael Grote 79bea1364a bash: move gc to scripts
Signed-off-by: Michael Grote <michael.grote@posteo.de>
2024-06-05 20:18:01 +02:00

62 lines
1.6 KiB
Bash

#!/bin/bash
function rgf {
if [[ "$1" == "--help" ]]; then
# shellcheck disable=SC2140
echo "Finde alle Dateien die "\$1" im Namen haben."
echo ""
echo " Usage: rgf <string>"
return 0
fi
if [ -z "$1" ]; then
echo "[ERROR] Suchbegriff fehlt..."
return 1
fi
if command -v rg >/dev/null ; then
rg --ignore-case --files --hidden --glob=!.git/ --*"$1"*
else
echo "[INFO] ripgrep ist nicht installiert... suche mit 'find'"
find . -type f -not -path '*/\.git/*' -name -- *"$1"*
fi
}
function rgi {
if [[ "$1" == "--help" ]]; then
# shellcheck disable=SC2140
echo "Finde alle Dateien die "\$1" im Inhalt haben."
echo ""
echo " Usage: rgi <string>"
return 0
fi
if [ -z "$1" ]; then
echo "[ERROR] Suchbegriff fehlt..."
return 1
fi
if command -v rg >/dev/null ; then
rg --ignore-case --hidden --glob=!.git/ "$1"
else
echo "[INFO] ripgrep ist nicht installiert... suche mit 'grep'"
grep --recursive --line-number --ignore-case --exclude-dir=".git" "$1" .
fi
}
function ssh {
# benennt das aktuelle tmux-windows nach dem ssh-ziel
# baut ssh-verbindung auf
if [ -n "${TMUX}" ]; then
tmux rename-window "${@: -1}"
fi
command ssh "$@"
if [ -n "${TMUX}" ]; then
tmux rename-window "$(hostname -f)"
fi
}
function gcm {
if [ -z "$1" ]; then
echo "Commit-Message fehlt, setze Default-Message..."
git commit -s -m "changed Files: $(git diff --name-only --staged)"
else
# übergibt alle argumente an git commit -m als commit nachricht
git commit -s -m "$*"
fi
}
function gp {
git pull "$@"
}