#!/usr/bin/env bash # This hook script replaces the shadow file feature, found in Taskwarrior # prior to version 2.4.0. # # This script assumes that the legacy shadow file settings are still used. # Although those settings are now not recognized by Taskwarrior, іt is # harmless to store configuration settings for extensions in .taskrc. # The command to run, to generate the shadow file. If this is not available, # then the default.command is used. SHADOW_COMMAND=$(task _get rc.shadow.command) if [[ -z "$SHADOW_COMMAND" ]] then SHADOW_COMMAND=$(task _get rc.default.command) fi # The file to overwrite. SHADOW_FILE=$(task _get rc.shadow.file) # Run the command, inserting a series of override settings: # rc.detection=off Disables terminal size detection # rc.gc=off Disables GC, thus not changing IDs unexpectedly # rc.color=off Disable color in the shadow file # rc.hooks=off Disable hooks, to prevent race condition task $SHADOW_COMMAND rc.detection=off rc.gc=off rc.color=off rc.hooks=off > $SHADOW_FILE 2>/dev/null if [[ $? != 0 ]] then echo Could not create $SHADOW_FILE exit 1 fi echo Shadow file $SHADOW_FILE updated. exit 0