wip
This commit is contained in:
parent
d0930f097a
commit
92cb83258f
5 changed files with 330 additions and 9 deletions
|
@ -65,8 +65,8 @@ alias devlog="cd ~/projects/personal/devlog && hx logs/$(date '+%Y-%m-%d').gmi &
|
|||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
eval "$(direnv hook zsh)"
|
||||
eval "$(jj util completion zsh)"
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
||||
# export NVM_DIR="$HOME/.nvm"
|
||||
# [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
||||
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
|
||||
|
||||
function reldate() {
|
||||
|
@ -83,3 +83,87 @@ export FZF_DEFAULT_OPTS=" \
|
|||
--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \
|
||||
--color=selected-bg:#45475a \
|
||||
--color=border:#313244,label:#cdd6f4"
|
||||
|
||||
task_inbox_count_prompt() {
|
||||
local count
|
||||
count=$(task +inbox +PENDING count 2>/dev/null)
|
||||
if [[ $count -gt 0 ]]; then
|
||||
echo "%B%F{yellow}(inbox:$count)%f%b "
|
||||
fi
|
||||
}
|
||||
|
||||
select_project() {
|
||||
local project_list result query selection project
|
||||
|
||||
project_list=$(task _unique project | grep -v '^$')
|
||||
result=$(echo "$project_list" | fzf --prompt="select project: " --print-query --expect=enter)
|
||||
|
||||
query=$(echo "$result" | sed -n 1p)
|
||||
key=$(echo "$result" | sed -n 2p)
|
||||
selection=$(echo "$result" | sed -n 3p)
|
||||
|
||||
if [ -z "$selection" ]; then
|
||||
project="$query"
|
||||
else
|
||||
project="$selection"
|
||||
fi
|
||||
|
||||
if [ -z "$project" ] || [ "$project" = "enter" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "$project"
|
||||
}
|
||||
|
||||
work_on() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: work_on <task_id>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
task "$1" start
|
||||
|
||||
description=$(task _get "$1".description)
|
||||
|
||||
klog switch -s "$description"
|
||||
if [ $? -ne 0 ]; then
|
||||
klog start -s "$description"
|
||||
fi
|
||||
}
|
||||
|
||||
task_file() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: task_file <task_id>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
task "$1" modify -inbox project:"$(select_project)"
|
||||
}
|
||||
|
||||
task_schedule() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: task_schedule <task_id> [<date>]"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local id="$1"
|
||||
local date="$2"
|
||||
|
||||
if [ -n "$date" ]; then
|
||||
task "$id" modify scheduled:"$date"
|
||||
return
|
||||
fi
|
||||
|
||||
local current_scheduled
|
||||
current_scheduled=$(task "$id" _get scheduled)
|
||||
|
||||
if [ -z "$current_scheduled" ]; then
|
||||
task "$id" modify scheduled:today
|
||||
else
|
||||
task "$id" modify scheduled:
|
||||
fi
|
||||
}
|
||||
|
||||
export PS1='
|
||||
$(task_inbox_count_prompt)%(!.%B%F{red}%n%f%b in .${SSH_TTY:+"%B%F{yellow}%n%f%b in "})${SSH_TTY:+"%B%F{green}%m%f%b in "}%B%F{cyan}%~%f%b${(e)git_info[prompt]}${VIRTUAL_ENV:+" via %B%F{yellow}${VIRTUAL_ENV:t}%f%b"}${duration_info}
|
||||
%B%(1j.%F{blue}*%f .)%(?.%F{green}.%F{red}%? )$(_prompt_asciiship_vimode)%f%b '
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue