diff --git a/plugins/available/base.plugin.bash b/plugins/available/base.plugin.bash index 1efe4cca..1a905163 100644 --- a/plugins/available/base.plugin.bash +++ b/plugins/available/base.plugin.bash @@ -67,7 +67,7 @@ function passgen() { # Create alias pass to passgen when pass isn't installed or # BASH_IT_LEGACY_PASS is true. -if ! _command_exists pass || [[ "${BASH_IT_LEGACY_PASS:-}" = true ]]; then +if ! _command_exists pass || [[ "${BASH_IT_LEGACY_PASS:-}" == true ]]; then alias pass=passgen fi @@ -120,19 +120,26 @@ function usage() { esac } -if ! _bash-it-component-item-is-enabled plugin todo; then - # if user has installed todo plugin, skip this... - function t() { - about 'one thing todo' - param 'if not set, display todo item' - param '1: todo text' - if [[ "$*" == "" ]]; then - cat ~/.t - else - echo "$*" > ~/.t - fi - } -fi +function t() { + about 'todo.sh if available, otherwise one thing todo' + param 'if not set, display todo item' + param '1: todo text' + + local todotxt="${XDG_STATE_HOME:-~/.local/state}/bash_it/todo.txt" + + if _bash-it-component-item-is-enabled plugin todo; then + todo.sh "$@" + return + elif [[ ! -f "${todotxt}" && -f ~/.t ]]; then + mv -vn ~/.t "${todotxt}" # Verbose, so the user knows. Don't overwrite, just in case. + fi + + if [[ "$#" -eq 0 ]]; then + cat "${todotxt}" + else + echo "$@" >| "${todotxt}" + fi +} if _command_exists mkisofs; then function mkiso() { diff --git a/plugins/available/todo.plugin.bash b/plugins/available/todo.plugin.bash index be4806c2..6b495274 100644 --- a/plugins/available/todo.plugin.bash +++ b/plugins/available/todo.plugin.bash @@ -4,5 +4,3 @@ about-plugin 'Todo.txt integration' # you may override any of the exported variables below in your .bash_profile : "${TODOTXT_DEFAULT_ACTION:=ls}" export TODOTXT_DEFAULT_ACTION - -alias t='todo.sh'