Compare commits
3 commits
3664bb3f71
...
d4d5e4e9b3
Author | SHA1 | Date | |
---|---|---|---|
d4d5e4e9b3 | |||
d2ec8189d6 | |||
995cd4cb00 |
5 changed files with 45 additions and 13 deletions
2
.bashrc
2
.bashrc
|
@ -67,7 +67,7 @@ add_path() {
|
|||
###
|
||||
|
||||
__dotlib_load_libraries() {
|
||||
local os dot dots
|
||||
local os dot{,s}
|
||||
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
|
|
32
dotlib/generic-post/calendar.sh
Normal file
32
dotlib/generic-post/calendar.sh
Normal file
|
@ -0,0 +1,32 @@
|
|||
calendar-determine-holiday() {
|
||||
local month day
|
||||
read -r month day < <(date "+%m %d")
|
||||
|
||||
if (( 10#$month == 3 && 10#$day < 18 )); then
|
||||
if (( 17 - 10#$day == 0 )); then
|
||||
printf "Happy Saint Patrick's day!\n"
|
||||
else
|
||||
printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))"
|
||||
fi
|
||||
|
||||
PS1_prompt_sym=🍀
|
||||
elif (( 10#$month == 10 )); then
|
||||
if (( 31 - 10#$day == 0 )); then
|
||||
printf 'Have a spooky halloween!\n'
|
||||
else
|
||||
printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))"
|
||||
fi
|
||||
|
||||
PS1_prompt_sym=🎃
|
||||
elif (( 10#$month == 12 && 10#$day < 26 )); then
|
||||
if (( 25 - 10#$day == 0 )); then
|
||||
printf 'Merry Christmas!\n'
|
||||
else
|
||||
printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))"
|
||||
fi
|
||||
|
||||
PS1_prompt_sym=🌲
|
||||
fi
|
||||
}
|
||||
|
||||
calendar-determine-holiday
|
|
@ -1,12 +1,12 @@
|
|||
reset-elapsed() {
|
||||
cattle-reset-elapsed() {
|
||||
(( last_cmd_at = SECONDS ))
|
||||
}
|
||||
|
||||
ping-timer() {
|
||||
cattle-ping-timer() {
|
||||
kill -USR1 "$reaper_pid"
|
||||
}
|
||||
|
||||
slay-reaper() {
|
||||
cattle-slay-reaper() {
|
||||
kill -KILL "$reaper_pid"
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ cd() {
|
|||
|
||||
{
|
||||
trap "" INT
|
||||
trap reset-elapsed USR1
|
||||
trap cattle-reset-elapsed USR1
|
||||
last_cmd_at=0
|
||||
|
||||
while sleep 1; do
|
||||
|
@ -30,8 +30,8 @@ cd() {
|
|||
done
|
||||
} &
|
||||
|
||||
reaper_pid=$! PROMPT_COMMAND+=(ping-timer)
|
||||
trap slay-reaper EXIT
|
||||
reaper_pid=$! PROMPT_COMMAND+=(cattle-ping-timer)
|
||||
trap cattle-slay-reaper EXIT
|
||||
|
||||
if [[ -f /tmp/iterm2-prev-dir.txt ]]; then
|
||||
cur_time=$(date +%s)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
_ssh_hosts() {
|
||||
tab-ssh-hosts() {
|
||||
mapfile -t hosts < <(awk 'tolower($1) == "host" { print $2 }' ~/.ssh/config)
|
||||
mapfile -t COMPREPLY < <(compgen -W "${hosts[*]}" -- "${COMP_WORDS[COMP_CWORD]}")
|
||||
return 0
|
||||
}
|
||||
|
||||
complete -o default -F _ssh_hosts ssh scp ssh-copy-id sftp
|
||||
complete -o default -F tah-ssh-hosts ssh scp ssh-copy-id sftp
|
||||
|
||||
_make_targets() {
|
||||
tab-make-targets() {
|
||||
local arg prev file targets
|
||||
|
||||
if [[ -f makefile ]]; then
|
||||
|
@ -34,4 +34,4 @@ _make_targets() {
|
|||
)
|
||||
}
|
||||
|
||||
complete -o default -F _make_targets make gmake
|
||||
complete -o default -F tab-make-targets make gmake
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
setup-prompt() {
|
||||
prompt-init() {
|
||||
local last_res=$? color=$PS1_color_success
|
||||
PS1="\w "
|
||||
|
||||
|
@ -17,7 +17,7 @@ setup-prompt() {
|
|||
PS1+="\[$color\][$last_res]\[$PS1_color_reset\] $PS1_prompt_sym "
|
||||
}
|
||||
|
||||
PROMPT_COMMAND+=(setup-prompt)
|
||||
PROMPT_COMMAND+=(prompt-init)
|
||||
|
||||
PS1_prompt_sym=λ
|
||||
PS1_hostname=${HOSTNAME-"$(hostname)"}
|
||||
|
|
Loading…
Reference in a new issue