Commit Graph

76 Commits

Author SHA1 Message Date
Mads Hartmann 8ca2ecd52d Add support for exporting environment variables (#4)
* Add support for exporting environment variables

* Support multiple exports in one command

Also improves the structure of the AST so the variable name and the
assigned expression aren't free-floating

* Allow for multiple declarations in local declarations as well

Simplify the generated nodes.

* Commit generated code

* Consolidate declarations into a single declaration_command

This also adds support for declare, typeset, and readonly

* Rename environment_variable_assignment to variable_assignment
2018-02-27 13:22:28 -08:00
Mads Hartmann 0ed39445d3 Support local variable declarations 2018-02-25 00:02:24 +01:00
Mads Hartmann 741cfce4b4 Handle empty default value during variable expansion (#1)
* Handle empty default value during variable expansion

* Make expression after colon optional

As suggested by @maxbrunsfeld
2018-02-24 13:40:43 -08:00
Max Brunsfeld 145d4e86a4 Add missing array syntax 2017-12-26 14:55:37 -08:00
Max Brunsfeld 52d54bb173 Add missing function definition forms 2017-12-26 14:27:05 -08:00
Max Brunsfeld dce4ee6937 Handle words concatenated with strings and expansions 2017-07-17 10:47:34 -07:00
Max Brunsfeld 403361626d Add length operator in variable expansions 2017-07-15 23:12:22 -07:00
Max Brunsfeld 3abfbbd7bd Handle strings containing command substitutions 2017-07-15 22:41:56 -07:00
Max Brunsfeld 5081293f65 Add process substitutions 2017-07-15 22:22:38 -07:00
Max Brunsfeld 1b5e1557f2 Reorganize, rename a bunch of things 2017-07-15 22:13:55 -07:00
Max Brunsfeld f73de068e7 Add for statements 2017-07-14 17:51:06 -07:00
Max Brunsfeld 66693d7575 Add empty environment variable values 2017-07-14 17:41:14 -07:00
Max Brunsfeld 6d341b8314 Add function definitions 2017-07-14 17:35:51 -07:00
Max Brunsfeld 5446533c20 Add quoted command names, subshells 2017-07-14 17:32:55 -07:00
Max Brunsfeld a0406c8906 Fix distinction between numeric args and redirect file descriptors 2017-07-14 17:14:23 -07:00
Max Brunsfeld 86e67f9403 Add quoted arguments, bracket expressions 2017-07-14 16:47:25 -07:00
Max Brunsfeld 5b26947ca8 Add case statements 2017-07-14 16:29:28 -07:00
Max Brunsfeld 9f38e36bc3 Add if statements 2017-07-14 16:18:46 -07:00
Max Brunsfeld cce4a65d33 Add while statements 2017-07-14 16:11:35 -07:00
Max Brunsfeld d68e65d8f9 Add escaped newlines 2017-07-14 14:39:28 -07:00
Max Brunsfeld 5a9bfe1571 Add comments 2017-07-14 14:34:49 -07:00
Max Brunsfeld a46748839e Add variable expansion inside of heredocs 2017-07-14 14:27:13 -07:00
Max Brunsfeld 6be8857926 Start work on heredocs 2017-07-14 13:54:05 -07:00
Max Brunsfeld d2ac184c81 Add variable expansions 2017-07-14 13:00:41 -07:00
Max Brunsfeld af279907bb Add file redirects 2017-07-14 12:43:42 -07:00
Max Brunsfeld ab1d553e1d Initial commit 2017-07-14 12:28:54 -07:00