From f7e12091da5049c7b75d3c9c04d704445c916e02 Mon Sep 17 00:00:00 2001 From: radekk Date: Tue, 31 Jan 2017 14:22:46 +0100 Subject: [PATCH] Fixes #13. Different param name on OSX for Sed program. Sed on Mac OSX is using "-E" param instead of "-r" param on Linux for extended regexp evaluation. Adding switch/case statement allows to set valid parameter depending on the operating system type. --- git-recall | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/git-recall b/git-recall index 3d3cfcd..7727a57 100644 --- a/git-recall +++ b/git-recall @@ -149,7 +149,12 @@ echo "\t quit" | lesskey -o $HOME/.lsh_less_keys_tmp -- - &> /dev/null ## Get commit's diff. function get_diff() { - ELT="$(echo "${COMMITS[$CP-1]}" | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")" # remove colors escape codes + case "$OSTYPE" in + darwin*) SED_BIN="sed -E" ;; + *) SED_BIN="sed -r" ;; + esac + + ELT="$(echo "${COMMITS[$CP-1]}" | $SED_BIN "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")" # remove colors escape codes DIFF_TIP=${ELT:0:7} DIFF_CMD="git show $DIFF_TIP --color=always" DIFF=$(eval ${DIFF_CMD} 2>/dev/null)