From 3ae01982880b8fe85613318d9403f2d5e1209aec Mon Sep 17 00:00:00 2001 From: Tuan Nguyen Date: Mon, 7 Feb 2022 13:40:26 +0800 Subject: [PATCH 1/2] Add hashed command content to cache file name --- evalcache.plugin.zsh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/evalcache.plugin.zsh b/evalcache.plugin.zsh index 34215b0..f4bfde7 100644 --- a/evalcache.plugin.zsh +++ b/evalcache.plugin.zsh @@ -7,7 +7,17 @@ export ZSH_EVALCACHE_DIR=${ZSH_EVALCACHE_DIR:-"$HOME/.zsh-evalcache"} function _evalcache () { - local cacheFile="$ZSH_EVALCACHE_DIR/init-${1##*/}.sh" + local cmdHash="nohash" + + # Use md5 on MacOS + if command -v md5 > /dev/null; then + cmdHash=$(echo -n "$*" | md5) + # Fallback to md5sum + elif command -v md5sum > /dev/null; then + cmdHash=$(echo -n "$*" | md5sum | cut -d' ' -f1) + fi + + local cacheFile="$ZSH_EVALCACHE_DIR/init-${1##*/}-${cmdHash}.sh" if [ "$ZSH_EVALCACHE_DISABLE" = "true" ]; then eval "$("$@")" From 41a8fa4306d2410c38e51eb688a038ce90d26bbc Mon Sep 17 00:00:00 2001 From: Tuan Minh Nguyen Date: Wed, 4 May 2022 11:44:35 +0700 Subject: [PATCH 2/2] Address comments --- evalcache.plugin.zsh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/evalcache.plugin.zsh b/evalcache.plugin.zsh index f4bfde7..aff3b94 100644 --- a/evalcache.plugin.zsh +++ b/evalcache.plugin.zsh @@ -9,11 +9,9 @@ export ZSH_EVALCACHE_DIR=${ZSH_EVALCACHE_DIR:-"$HOME/.zsh-evalcache"} function _evalcache () { local cmdHash="nohash" - # Use md5 on MacOS - if command -v md5 > /dev/null; then + if builtin command -v md5 > /dev/null; then cmdHash=$(echo -n "$*" | md5) - # Fallback to md5sum - elif command -v md5sum > /dev/null; then + elif builtin command -v md5sum > /dev/null; then cmdHash=$(echo -n "$*" | md5sum | cut -d' ' -f1) fi