summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md20
-rwxr-xr-xgit-radar2
-rwxr-xr-xradar-base.sh22
3 files changed, 41 insertions, 3 deletions
diff --git a/README.md b/README.md
index 2f508a8..7e84317 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/git-radar b/git-radar
index a8dd72e..f736e41 100755
--- a/git-radar
+++ b/git-radar
@@ -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