diff options
-rw-r--r-- | README.md | 20 | ||||
-rwxr-xr-x | git-radar | 2 | ||||
-rwxr-xr-x | radar-base.sh | 22 |
3 files changed, 41 insertions, 3 deletions
@@ -190,6 +190,25 @@ export PROMPT="$PROMPT\$(git-radar --zsh --fetch) " ``` [(note: the `\` escaping the `$` is important)](#ensuring-prompt-execution) +You may also choose to fetch at a customized interval of time. To do so, add +this to your .bashrc, .zshrc: + +```bash +export GIT_RADAR_FETCH_TIME=<seconds> +``` + +For example, to fetch every 30 seconds (instead of the default 5 minutes): + +```bash +export GIT_RADAR_FETCH_TIME=30 +``` + +You can also do this in the gitradarrc file: + +```bash +GIT_RADAR_FETCH_TIME=30 +``` + ## Customise your prompt Git Radar is highly customisable using a prompt format string. The 4 features @@ -235,6 +254,7 @@ The default prompt format uses this to add spaces only if the feature would render. In that way the prompt always looks well spaced out no matter how many features are rendering. + ## Support ### Ensuring prompt execution @@ -95,9 +95,11 @@ while [[ $# > 0 ]];do if [[ "$command" == "--fetch" ]]; then nohup $dot/fetch.sh >/dev/null 2>&1 & fi + if [[ "$command" == "--zsh" ]]; then $dot/prompt.zsh $args fi + if [[ "$command" == "--bash" || "$command" == "--fish" ]]; then $dot/prompt.bash $args fi diff --git a/radar-base.sh b/radar-base.sh index f11d3ae..0f4a35a 100755 --- a/radar-base.sh +++ b/radar-base.sh @@ -14,6 +14,20 @@ timethis() { echo "$1 - $dur" >> $HOME/duration.dat } +get_fetch_time() { + if [ -f "$rcfile_path/.gitradarrc.bash" ]; then + source "$rcfile_path/.gitradarrc.bash" + elif [ -f "$rcfile_path/.gitradarrc.zsh" ]; then + source "$rcfile_path/.gitradarrc.zsh" + elif [ -f "$rcfile_path/.gitradarrc" ]; then + source "$rcfile_path/.gitradarrc" + fi + + FETCH_TIME="${GIT_RADAR_FETCH_TIME:-"$((5 * 60))"}" + echo $FETCH_TIME + +} + prepare_bash_colors() { if [ -f "$rcfile_path/.gitradarrc.bash" ]; then source "$rcfile_path/.gitradarrc.bash" @@ -171,8 +185,7 @@ time_now() { time_to_update() { if is_repo; then local timesincelastupdate="$(($(time_now) - $(timestamp)))" - local fiveminutes="$((5 * 60))" - if (( $timesincelastupdate > $fiveminutes )); then + if (( $timesincelastupdate > $1 )); then # time to update return 0 (which is true) return 0 else @@ -185,7 +198,10 @@ time_to_update() { } fetch() { - if time_to_update; then + # Gives $FETCH_TIME a value + get_fetch_time + + if time_to_update $FETCH_TIME; then record_timestamp git fetch --quiet > /dev/null 2>&1 fi |