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
31c17c066b
Regenerate with latest tree-sitter
2018-02-12 16:53:11 -08:00
Max Brunsfeld
0259c5bce2
Guard against buffer overflow when serializing scanner
...
/cc philipturnbull
2018-01-19 09:52:45 -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
d85b6287e6
Upgrade tree-sitter for new lexer API
2017-12-21 17:13:14 -08:00
Max Brunsfeld
e51dfb661a
Regenerate with latest tree-sitter
2017-09-18 09:32:01 -07:00
Max Brunsfeld
8f67869b16
Use string::copy rather than memcpy
2017-08-01 10:26:42 -07:00
Max Brunsfeld
ccc07eab4b
Use new alias API
2017-08-01 10:17:28 -07:00
Max Brunsfeld
4340002e38
Implement external scanner serialization
2017-08-01 10:12:16 -07: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
e9afbb4381
Name inlined rules as if they were hidden
2017-07-15 22:23:38 -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