aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update readmeHEADmainBenjamin Linskey40 hours1-15/+13
| | | | | | Fixed program name in main header, improved and expanded some text, fixed some inacurate specification details, fixed a typo, and improved formatting.
* Bump version to 1.0.1v1.0.1Benjamin Linskey3 days1-1/+1
|
* Improve variable substitution efficiencyBenjamin Linskey3 days1-1/+1
| | | | | | If a value in the variables file contains multiple instances of the same variable, they will all be replaced in a single function call, eliminating the need to loop over the same block of code multiple times.
* Remove a period from a comment headerBenjamin Linskey3 days1-1/+1
|
* Fix brace escaping in regexesBenjamin Linskey3 days1-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The POSIX extended regular expression spec requires that the left brace character be escaped when it appears outside of an interval expression. The results are undefined if the brace is not escaped.[^1] The ERE spec permits right braces to be escaped, though this isn't required.[^2] But the standard ERE escaping rules are superseded in the POSIX awk specification. The awk spec does not specify a right brace escape sequence, so the meaning of an escaped right brace is undefined.[^3] We have a number of escaped right braces and one instance of a string variable containing unescaped left braces being passed to a function as a regex. These don't cause any problems in practice, but to ensure maximum portability and pedantry, we bring everything into strict compliance with the spec here. [^1]: POSIX.1-2024 XBD 9.4.3: <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html#tag_09_04_03> [^2]: POSIX.1-2024 XBD 9.4.2: <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html#tag_09_04_02> [^3]: POSIX.1-2024 awk: <https://pubs.opengroup.org/onlinepubs/9799919799/utilities/awk.html#tag_20_06_13_04>
* Add version numberBenjamin Linskey7 days1-0/+2
|
* Add a note about regex metacharacter escapingBenjamin Linskey7 days1-0/+5
|
* Rename command to "tpl"Benjamin Linskey7 days3-6/+6
|
* Add header comment to scriptBenjamin Linskey7 days1-0/+6
|
* Add licenseBenjamin Linskey7 days2-0/+27
|
* Make a pedantic change to example textBenjamin Linskey8 days3-6/+6
|
* Improve readmeBenjamin Linskey8 days1-8/+8
|
* Add test scriptBenjamin Linskey8 days1-0/+20
|
* Improve handling of var references in vars fileBenjamin Linskey8 days4-28/+45
| | | | | | | Previously, if a previously defined variable was used as a value in a variable assignment, it had to stand alone. This change allows variables to be freely intermixed with text and multiple variables to be used in a single assignment.
* Add readme and example filesBenjamin Linskey8 days3-0/+116
|
* Allow vars to reference vars defined earlierBenjamin Linskey8 days1-1/+11
| | | | | | | | The template variable syntax can be used when defining a variable to reference the value of a previously defined variable: foo = bar baz = {{ foo }}
* Improve variable-matching regexBenjamin Linskey8 days1-1/+1
|
* Make spaces in template vars optionalBenjamin Linskey8 days1-1/+1
| | | | | Template variables can now have zero or more whitespace characters between the braces and the variable name.
* Add scriptBenjamin Linskey8 days1-0/+15