Allow passing arguments to functions

This commit is contained in:
vlad 2021-12-21 02:06:18 -08:00
parent bb695de69f
commit c7f7b0c6fb
4 changed files with 20 additions and 4 deletions

View File

@ -7,7 +7,7 @@
build() {
_help-line "Build an incredible script" "$@"
echo "echo hi" > .generated/potato
echo 'echo hi; echo "$@"' > .generated/potato
chmod +x .generated/potato
}

View File

@ -42,7 +42,7 @@ Look! It's like a task runner!
cd $(dirname $0)
⚡build() {
echo "echo hi" > .generated/potato
echo 'echo hi; echo "$@"' > .generated/potato
chmod +x .generated/potato
}

View File

@ -30,6 +30,20 @@ testReferingToALightningFunctionWorks() {
assertContains "$STDOUT" "Good Bye."
}
testArgumentsArePassedToLightningFunctions() {
echo '
#!/usr/bin/env bash
⚡hello() { echo "Hello, $@!" ; }
' > go
echo "source $REPO_ROOT/⚡" >> go
chmod +x go
try ./go hello banana
assertContains "$STDOUT" "Hello, banana!"
}
testDefiningALightningFunctionWorksWithSelector16() {
echo '
#!/usr/bin/env bash

6
View File

@ -2,8 +2,10 @@
main() {
redefine-functions-defined-with-selector-16
if [[ $(type -t "⚡$1") == "function" ]]; then
⚡$1
command="$1"
shift
if [[ $(type -t "⚡$command") == "function" ]]; then
⚡$command "$@"
else
⚡help
fi