aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ariketa.sh17
-rw-r--r--config/examples.sh22
-rw-r--r--config/examples.sh.sample25
3 files changed, 44 insertions, 20 deletions
diff --git a/ariketa.sh b/ariketa.sh
index 658588f..38ac242 100644
--- a/ariketa.sh
+++ b/ariketa.sh
@@ -27,6 +27,20 @@ _sourced? || {
ARIKETA_DIR=$(_ariketa.dir)
+# load examples array
+source "${ARIKETA_DIR:?}/config/examples.sh"
+
+# if examples array has no content, bail with USAGE text
+(( ${#_examples[@]} )) || {
+ >&2 printf "** %s\n" \
+ "" ""\
+ "$(declare -p _examples)"\
+ "_examples array needs content -- see 'configuration' below"\
+ "" ""
+ _ariketa.help
+ return $?
+}
+
# preserve multiline commands as such in history
shopt -s lithist
@@ -39,8 +53,5 @@ source "${ARIKETA_DIR:?}/lib/functions.sh"
# set up bash macros to page through examples
source "${ARIKETA_DIR:?}/lib/bindings.sh"
-# load examples array
-source "${ARIKETA_DIR:?}/config/examples.sh"
-
# unset example index/directionality markers
unset _I _D
diff --git a/config/examples.sh b/config/examples.sh
index 41d5c0c..acb0885 100644
--- a/config/examples.sh
+++ b/config/examples.sh
@@ -1,20 +1,8 @@
-_examples=(
-
-'example tag:
-echo "example command"'
-
-'example tag:
-printf "%s\n" "this is a second example tag example"'
+#!/bin/bash
-'example tag:
-printf "%s\n" good for measure another | sort'
-
-'a different tag:
-echo "did you notice the tag above along with its adjacency indicators (+) ?"'
-
-'a different tag:
-uniq \
- <(sort \
- <(printf "%s\n" "${_examples[@]//:$'\n'*/}") )'
+# each array element will be an example code snippet
+# code must be preceded by a tag, followed by a ':' and a newline
+_examples=(
+ # place quoted examples here
)
diff --git a/config/examples.sh.sample b/config/examples.sh.sample
new file mode 100644
index 0000000..fffb4d4
--- /dev/null
+++ b/config/examples.sh.sample
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# each array element will be an example code snippet
+# code must be preceded by a tag, followed by a ':' and a newline
+
+_examples=(
+
+'example tag:
+echo "example command"'
+
+'example tag:
+printf "%s\n" "this is a second example tag example"'
+
+'example tag:
+printf "%s\n" good for measure another | sort'
+
+'a different tag:
+echo "did you notice the tag above along with its adjacency indicators (+) ?"'
+
+'a different tag:
+uniq \
+ <(sort \
+ <(printf "%s\n" "${_examples[@]//:$'\n'*/}") )'
+
+)