Various updates to sh shortcuts

direnv commands
terraform commands
tmux clipboard hack
a better editor detector
This commit is contained in:
Gal Szkolnik 2022-07-11 17:59:11 -04:00
parent 4c40b724c8
commit 8238a75408
4 changed files with 101 additions and 1 deletions

View File

@ -0,0 +1,9 @@
if [[ -n "$(which-command direnv)" ]]; then
function _env() {
if [[ -z "$_DIRENV_ShowEnvLogic" ]]; then
echo "_DIRENV_ShowEnvLogic is not defined."
else
eval "$_DIRENV_ShowEnvLogic" | LC_ALL=C sort -h
fi
}
fi

View File

@ -16,8 +16,10 @@ if [[ -r "$HOME/.config/_my.emacs/spacemacs/emacs.d/init.el" \
&& -n "$(which-command emacs)" \ && -n "$(which-command emacs)" \
&& -n "$(which-command edit-with-spacemacs)" \ && -n "$(which-command edit-with-spacemacs)" \
]]; then ]]; then
alias my_editor='edit-with-spacemacs' EDITOR=$(which-command edit-with-spacemacs | head -1)
alias my_editor="$EDITOR "
else else
EDITOR="$PREFERRED_VI"
alias my_editor='my_vi' alias my_editor='my_vi'
fi fi
alias nvim="my_vi" alias nvim="my_vi"

View File

@ -0,0 +1,84 @@
TERRAFORM_BIN=$(which-command terraform | head -1)
if [[ -x $TERRAFORM_BIN ]]; then
function tfcontext() {
[[ -n $(find $PWD -name '*.tf') ]] || return -1
[[ -d _logs ]] || mkdir _logs
TF_VAR_FILE_NAME=${TF_VAR_FILE_CLI-:$(basename $PWD).tfvars}
[[ -r $TF_VAR_FILE_NAME ]] || unset TF_VAR_FILE_NAME
TF_VAR_FILE_CLI=${TF_VAR_FILE_CLI-:-var-file='$TF_VAR_FILE_NAME'}
basename $PWD
}
function _tfsedFullStop() {
sed --unbuffered '/^===FULLSTOP===$/q' | sed --unbuffered '/^===FULLSTOP===$/d'
}
function tf() {
[[ -z "$TF_LOG_TS" ]] && _tfSetLogTS
local NAME=$1
[[ "${@}" =~ "-destroy" ]] && NAME="$1-destroy"
echo "===_logs/0_$NAME.log===" > _logs/0_0_lastrun.log
[[ -z "$SZ_DEBUG" ]] || echo "Executing: terraform ${@}"
{
terraform "${@}" 2>&1 \
| tee _logs/${TF_LOG_TS}_$NAME.log \
| awk 'BEGIN {p=1}; /<<\W*EOT/ {print; p=0}; /^\W*EOT/ {p=1}; p; fflush();' \
| tee --append _logs/0_0_lastrun.log \
>> _logs/0_$NAME.log
echo "===FULLSTOP===" >> _logs/0_0_lastrun.log
} &
_tfless _logs/0_0_lastrun.log
}
function tfp() {
[[ -z "$SZ_DEBUG" ]] || echo "DEBUG: tfplan ${@}"
local _TF_TARGET=""
[[ ${#TF_TARGET} -gt 0 ]] && _TF_TARGET="$(printf -- '--target=%s ' ${TF_TARGET[@]})"
[[ "${@}" =~ "-destroy" ]] && [[ ${#TF_DESTROY_TARGET} -gt 0 ]] && _TF_TARGET="$(printf -- '--target=%s ' ${TF_DESTROY_TARGET[@]})"
tf plan ${_TF_TARGET} "${@}"
}
function _tfless() {
local _TF_LOG_FILE=${1-_logs/0_0_lastrun.log}
[[ -z "$SZ_DEBUG" ]] || echo "_tfless: ${@} | LESS_NO_WAIT = '${LESS_NO_WAIT}'"
[[ -n "$1" ]] && {
trap : INT;
tail -f $_TF_LOG_FILE | _tfsedFullStop;
} \
|| { [[ -z "${LESS_NO_WAIT}" ]] \
&& { less \
--no-init \
--raw-control-chars \
--line-numbers \
--quiet \
--hilite-unread \
--incsearch \
--ignore-case \
--force \
"${@:2}" -- \
"$_TF_LOG_FILE"
#\
#'+G?([^\w\W][\[0-9m+])Plan:' \
#'+3k'
}
}
}
function _tfSetLogTS() {
export TF_LOG_TS=$(date -d "today" +"%Y%m%d%H%M%S")
}
function tfinit() {
return 0
}
function tfplan() {
return 0
}
fi

View File

@ -0,0 +1,5 @@
if [[ -n "$(which-command tmux)" ]]; then
function clip-tmux() {
tmux save-buffer -a - | clip
}
fi