Commit Graph

174 Commits

Author SHA1 Message Date
Tyler Akins
e0b3b95eba
Possible fix for Bash 3.2 2024-10-23 18:38:59 -05:00
Tyler Akins
7e86c1a5f5
Detect when variables are declared and not set
It is possible to declare a variable but not assign a value to it using
`export x`. When you do this, `declare -p x` shows the variable but does
not show an "=" nor any value afterwards.

When running another command, this variable will not be added to the
environment variables even though it is flagged as exported. Most likely
it's because the value is not a string and can't be easily converted to
a string; this is the same behavior as arrays.

Using `[[ -v x ]]` is also inadequate and I believe its because there
are false positives when trying to access data, which goes on to break
tests and the new braces and parenthesis indirection. Perhaps it could
be reviewed and made to work.

The best solution so far is to combine `declare -p` with `[[ -v` to see
if the variable is declared and if a value is set.

Closes #75.
2024-07-24 12:22:03 -05:00
Tyler Akins
b595ad26b7
Documenting that parents are not supported 2024-06-21 20:44:16 -05:00
Tyler Akins
5a49fe9900
Releasing 3.0.6 2024-06-16 21:13:43 -05:00
Tyler Akins
8056ee6961
Only cut strings once
It's faster to loop through the string and check the character at an
index than it is to trim single characters from the end in a loop.
Trimming multiple characters in the loop is surprisingly slower than
trimming one.

Addresses more of the speed problem reported in #73.
2024-06-16 21:11:45 -05:00
Tyler Akins
5db34e55d3
Caching function name lookups
Faster than dumping functions each time.
Related to #73.
2024-06-16 21:11:02 -05:00
Tyler Akins
26ca5059d8
Fix slowness with larger templates
Closes #69 and #71
Released 3.0.5
2024-03-27 21:57:11 -05:00
Tyler Akins
6e57510ba9
Making it more clear that sourced files are shell
Addresses part of the concerns from #69
2023-11-16 16:04:52 -06:00
Tyler Akins
54b2184b70
Bumping version 2023-09-10 08:11:54 -05:00
Tyler Akins
84d17268c9
Work with symbolic links 2023-09-10 08:10:51 -05:00
Tyler Akins
68306c4c6d
More Bash 4.x compatibility issues found and fixed 2023-05-12 08:17:57 -05:00
Tyler Akins
6cc72acde0
Fix #67 - unbound variable error
Release 3.0.1
2023-05-12 07:44:48 -05:00
Tyler Akins
0ce41dedb1
Releasing 3.0.0 2023-05-07 21:18:00 -05:00
Tyler Akins
0617b2ed35
Various bugfixes
Specs: 181 total, 119 pass (with 7 overridden), 55 fail, 7 skip
2023-04-23 10:04:59 -05:00
Tyler Akins
1d4e186486
All tests pass.
Specs: 181 total, 111 pass (with 7 overridden), 63 fail, 7 skip.
2023-04-23 09:24:36 -05:00
Tyler Akins
0f150ccb19
Fixing standalone detection with blocks
27 tests pass, 18 still fail
2023-04-22 08:16:49 -05:00
Tyler Akins
00af7d49f0
Bugfixes 2023-04-21 21:18:55 -05:00
Tyler Akins
0896e2b966
Parser rewritten again 2023-04-21 20:59:31 -05:00
Tyler Akins
511a3187e8
Changing how parsed/unparsed content is tracked
Use global variables instead of passing to every function.

112 specs pass, 7 overridden, 62 fail, 7 skipped.
2023-04-10 21:07:45 -05:00
Tyler Akins
d32b912472
Moving delimiters and standalone to global vars 2023-04-10 13:24:06 -05:00
Tyler Akins
3a58ee390e
More bugfixes and shellcheck tweaks 2023-04-10 11:39:47 -05:00
Tyler Akins
7604ce3054
Pass shellcheck, more specs are handled, preserve function whitespace
This closes #49.
2023-04-10 08:10:14 -05:00
Tyler Akins
e0e9189355
Bugfixes, pretty printing, new tests added
Spec result: 108 specs pass, 6 skipped, 67 fail
2023-04-09 18:53:55 -05:00
Tyler Akins
a1e4398547
Overriding some tests so they work with mo + bugfix 2023-04-09 10:20:45 -05:00
Tyler Akins
47e10012ee
Splitting parse function, fixing variable bug 2023-04-09 09:52:18 -05:00
Tyler Akins
a237d23a2d
Fix standalone tag detection 2023-04-08 19:06:04 -05:00
Tyler Akins
72a0e426c7
Starting support for skipping/altering tests
Bash doesn't support advanced data structures, like objects. The goal is
to switch simple objects to associative arrays automatically, then
override other tests so they don't use deeply-created structures.
2023-04-08 12:41:46 -05:00
Tyler Akins
501ca2144f
Need to trim whitespace in the tag 2023-04-08 12:41:31 -05:00
Tyler Akins
2085dc2792
Rewriting how specs run 2023-04-08 11:52:22 -05:00
Tyler Akins
d997ad0e0a
Passes all of the tests 2023-04-07 23:10:47 -05:00
Tyler Akins
febd3467c8
Attempting to address shortcomings and whitespace issues 2023-04-07 19:35:25 -05:00
Tyler Akins
8e9fd680d4
Fixing a test, release 2.4.1 2023-04-05 21:14:19 -05:00
Tyler Akins
24e80aedaa
Bumping version
2.3.0 was already tagged
2023-04-05 20:55:16 -05:00
Tyler Akins
4311f29879
Fixing the build, some doc cleanup, update version 2023-04-05 20:54:27 -05:00
Tyler Akins
d6794de1e2
Merge pull request #57 from Swivelgames/loop-accessors
Feature: Key and Index Accessors Inside Loops
2023-04-05 20:51:13 -05:00
Joseph Dalrymple
b22baa9776 Added Functions/Helpers to README 2023-04-05 20:19:42 -05:00
Joseph Dalrymple
c28bffe708 Added @key loop accessor 2023-04-05 20:19:29 -05:00
Tyler Akins
b01fc43580
Merge pull request #60 from Swivelgames/portability
Improved portability by using /usr/bin/env pragma
2023-04-04 09:50:21 -05:00
Joseph Dalrymple
53e3208ba0 Improved portability by using /usr/bin/env pragma 2023-04-04 02:00:31 -05:00
Tyler Akins
6dc284f05a
Updating URLs
Closes #53
2023-04-03 12:57:14 -05:00
Tyler Akins
a62541fc98
Adding missing character, reported by brainchild0 2022-01-26 19:07:12 -06:00
Tyler Akins
b31a97cfb1
Merge pull request #51 from brainchild0/docker
improve docker image
2022-01-26 10:00:28 -06:00
Eric Levy
71f85fa4f2 Use latest Alpine image as Docker base 2022-01-25 17:34:56 -05:00
Eric Levy
14003ba24a Introduce general improvements for Docker image 2022-01-24 20:51:27 -05:00
Tyler Akins
54195a6c6e
Fixing test script to return 0 on success 2021-11-25 16:02:21 -06:00
Tyler Akins
81f9ec326d
Leaning away from committing package.json
Thank you yutachaos!
2021-11-25 15:59:30 -06:00
Tyler Akins
dae1c66f8f
Merge branch 'feature/added_github_action' of https://github.com/yutachaos/mo into yutachaos-feature/added_github_action 2021-11-25 15:57:52 -06:00
Tyler Akins
08576fca7b
Adding script to run against official specs 2021-11-25 15:40:13 -06:00
Tyler Akins
3aa5c462f8
Quoting variable
This suggestion is brought to you by neema80 - thank you!

This closes #48.
2021-11-25 15:36:47 -06:00
yutachaos
a28ed0ccd5 Added docker image push action 2021-04-23 13:01:42 +09:00