From 5fcd29025e754fbedc4c64fb9bb217469d2c0c82 Mon Sep 17 00:00:00 2001
From: Richard Hartmann <richih.mailinglist@gmail.com>
Date: Tue, 22 Nov 2011 23:55:50 +0100
Subject: [PATCH] Warn when source-only functions are called in executed
context
---
doc/error_codes.md | 3 +++
vcsh | 9 +++++++++
2 files changed, 12 insertions(+)
create mode 100644 doc/error_codes.md
diff --git a/doc/error_codes.md b/doc/error_codes.md
new file mode 100644
index 0000000..06d760d
--- /dev/null
+++ b/doc/error_codes.md
@@ -0,0 +1,3 @@
+* 0: OK
+* 1: Generic error
+* 10: source-only command was called without vcsh being sourced
diff --git a/vcsh b/vcsh
index 6fa6644..4ba30e5 100755
--- a/vcsh
+++ b/vcsh
@@ -5,6 +5,13 @@
[ -z "$VCSH_BASE" ] && VCSH_BASE="$XDG_CONFIG_HOME/vcsh/repo.d"
SELF=$(basename $0)
+if [ "$SELF" = 'bash' ] ||
+ [ "$SELF" = 'dash' ] ||
+ [ "$SELF" = 'sh' ] ||
+ [ "$SELF" = 'zsh' ]; then
+ SELF='vcsh'
+ VCSH_SOURCED=1
+fi
help() {
@@ -176,6 +183,7 @@ elif [ "$VCSH_COMMAND" = 'exit' ]; then
# unset VCSH_NO_IGNORE_EOF
# setopt NO_IGNORE_EOF
# fi
+ [ -z "$VCSH_SOURCED" ] && echo "$SELF $VCSH_COMMAND: You need to source vcsh if you want to run in this mode" && return 10
leave
# [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1
verbose "exit end"
@@ -251,6 +259,7 @@ elif [ "$VCSH_COMMAND" = 'use' ]; then
# zle -N vcsh_exit
# bindkey '^d' 'vcsh_exit'
# fi
+ [ -z "$VCSH_SOURCED" ] && echo "$SELF $VCSH_COMMAND: You need to source vcsh if you want to run in this mode" && return 10
use || return $?
# [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1
verbose "use end"
--
GitLab