mirror of
https://github.com/tests-always-included/mo.git
synced 2024-12-18 16:27:52 +00:00
mo can now source a script before parsing templates
This commit is contained in:
parent
a1e22f1814
commit
f9aea51163
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@ diagnostic.test
|
||||
tests/*.diff
|
||||
spec/
|
||||
spec-runner/
|
||||
demo/sourcing.vars
|
||||
|
18
demo/sourcing
Executable file
18
demo/sourcing
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This sources a simple script with the env. variables needed for the template.
|
||||
|
||||
cd "$(dirname "$0")" # Go to the script's directory
|
||||
|
||||
cat <<EOF >sourcing.vars
|
||||
export NAME="Alex"
|
||||
export ARRAY=( AAA BBB CCC )
|
||||
EOF
|
||||
|
||||
cat <<EOF | ../mo --source=sourcing.vars
|
||||
Hello, my name is {{NAME}}.
|
||||
And this is ARRAY's conntents:
|
||||
{{#ARRAY}}
|
||||
* {{.}}
|
||||
{{/ARRAY}}
|
||||
EOF
|
11
mo
11
mo
@ -21,7 +21,9 @@
|
||||
#
|
||||
# $0 - Name of the mo file, used for getting the help message.
|
||||
# $* - Filenames to parse. Can use -h or --help as the only option
|
||||
# in order to show a help message.
|
||||
# in order to show a help message. Additionaly, --source=file
|
||||
# can be passed so that mo sources the file before parsing
|
||||
# the filenames.
|
||||
#
|
||||
# Returns nothing.
|
||||
mo() (
|
||||
@ -30,13 +32,18 @@ mo() (
|
||||
local moContent
|
||||
|
||||
IFS=$' \n\t'
|
||||
|
||||
|
||||
if [[ $# -gt 0 ]]; then
|
||||
case "$1" in
|
||||
-h|--h|--he|--hel|--help)
|
||||
moUsage "$0"
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--source=*)
|
||||
. "${1#--source=}"
|
||||
shift 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user