Commit Graph

91 Commits

Author SHA1 Message Date
Max Brunsfeld e10b52081d Bump tree-sitter-cli to 0.19 2021-03-04 14:15:19 -08:00
Kenneth Skovhus 8ece09ca4c
Add support for case fallthrough (#85)
Fixes https://github.com/tree-sitter/tree-sitter-bash/issues/40
2020-05-29 13:09:38 -07:00
Kenneth Skovhus f226a4b55a
Add support for empty expansions (#82)
Fixes https://github.com/tree-sitter/tree-sitter-bash/issues/57
2020-05-15 12:32:47 -07:00
Kenneth Skovhus 38e8ba4a3d
Expand function definition to support subshell and tests (#83)
Fixes https://github.com/tree-sitter/tree-sitter-bash/issues/60
2020-05-15 11:25:46 -07:00
Kenneth Skovhus 0477cc4460
Add support for ternary expression (#81)
Fixes https://github.com/tree-sitter/tree-sitter-bash/issues/64
2020-05-15 10:50:29 -07:00
Šimon Let 28e76c616d
WIP: Add '>|' redirection to grammar (#75)
* Add '>|' redirection to grammar

* add tests for >|

* generate grammar
2020-05-14 15:48:18 -07:00
Max Brunsfeld 7478c62b24 Add supertypes 2020-05-14 15:28:42 -07:00
Max Brunsfeld 60f2783804 ⬆️ tree-sitter-cli 2020-05-14 15:24:16 -07:00
Max Brunsfeld de690d849a Start adding fields 2019-12-10 13:18:29 -08:00
Max Brunsfeld 2a3aec5635 ⬆️ tree-sitter-cli to 0.16 2019-12-10 12:39:14 -08:00
Nathan Sobo 1c48cd1676 Support ANSII-C quoting in strings prefixed with $
See 
https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html 
for details
2019-07-26 11:29:35 -06:00
Max Brunsfeld 3b15f16973 Fix CRLF handling in external scanner 2019-07-03 12:01:02 -07:00
Max Brunsfeld 2d081f4bb2 ⬆️ tree-sitter-cli 2019-06-18 17:00:42 -07:00
Jason Rudolph 4f3cbc36b9 Handle heredoc delimiters that include spaces (#47)
* Handle heredoc delimiters that include spaces

* Update test to use multi-line heredoc to demonstrate bug

This change demonstrates the bug described in 
https://github.com/tree-sitter/tree-sitter-bash/pull/47#discussion_r280183823.

* Handle multi-line heredocs with spaces in delimiter

Fixes the failing test introduced in 0d8adbc335.

/xref https://github.com/tree-sitter/tree-sitter-bash/pull/47#discussion_r280183823
2019-05-01 13:59:21 -07:00
Max Brunsfeld 97e13b8145 ⬆️ tree-sitter-cli
Fixes #46
2019-05-01 12:28:34 -07:00
Max Brunsfeld 15a3a168f0 Handle
Fixes #39
2019-04-18 15:46:58 -07:00
Max Brunsfeld e9748c132b Require a terminator at the ends of some compound statements
Fixes #44
2019-04-18 15:38:39 -07:00
Max Brunsfeld 53446e0e81 Handle heredocs followed by pipes or redirects
Fixes atom/language-shellscript#134
2019-04-18 15:25:40 -07:00
Max Brunsfeld 25f56dd856 Allow $ at the end of a bare word
Fixes #38
2018-11-04 15:34:33 -08:00
Max Brunsfeld 47f3e5208b Fix brace-nesting logic in regex scanning
Refs #38
2018-11-04 15:34:15 -08:00
Max Brunsfeld 8426c3fefd Fix handling of delimiter characters as part of bare words
Fixes atom/atom#18387
2018-11-04 13:14:13 -08:00
Max Brunsfeld da116a1941 Handle heredocs w/ indented close delimiters
Fixes atom/language-shellscript#127
2018-10-19 13:06:56 -07:00
Max Brunsfeld a4fb636b2d Handle shorthand file redirect command substitutions
Fixes #34
2018-10-18 15:31:24 -07:00
Max Brunsfeld 48f7e22475 Handle lists of statements more consistently 2018-10-18 15:29:07 -07:00
Max Brunsfeld bdaf31057b Add raw (quoted) heredocs
Fixes #31
2018-10-18 12:55:14 -07:00
Max Brunsfeld 46cf157ad8 Handle escaped expansions in heredocs
Fixes #28
2018-10-18 11:12:48 -07:00
Max Brunsfeld cdbc8863cd Allow compound statements and redirects in more places
Fixes #35
2018-10-18 11:06:03 -07:00
Max Brunsfeld 246bad66dd Add double-paren expression
* Use the external scanner for regexes
* Add some missing operators

Fixes #22
Fixes #32
2018-10-01 13:29:04 -07:00
Max Brunsfeld 0123b9559f Allow semicolon before block in c-style for loop
Fixes #33
2018-10-01 12:48:50 -07:00
Max Brunsfeld 6ff7fe3c7e Don't require statement terminator at EOF
Fixes #15
2018-08-06 11:18:33 -07:00
Max Brunsfeld da2ba9cfdf Allow backslashes between tokens
Fixes #14
2018-08-06 11:14:00 -07:00
Max Brunsfeld 0e172361a8 Support #*# operator in variable expansions
Fixes #10
2018-08-06 11:09:45 -07:00
Max Brunsfeld 3a9b32284e Allow `!` operator in variable expansions
Fixes #21
2018-08-06 10:44:13 -07:00
Kenneth Skovhus 08cf72b615 [WIP] Support multiple statements (#26)
* Rename prebuild target clashing with build target

* Add test:watch target and documentation

* Support multiple statements in substitutions

* Inline the _statements rule

This removes a reduction step by the `_statements -> _statement` rule,
which avoids a reduce/reduce conflict between `_statements` and
`command`.
2018-08-06 10:39:05 -07:00
Kenneth Skovhus 9bbd80dee1 Add support for C-style for statements (#23) 2018-08-05 19:25:19 -07:00
Kenneth Skovhus 886a957d1e Add support for strings ending with $ (#24) 2018-08-02 16:32:30 -07:00
Max Brunsfeld 7873b864b1 ⬆️ tree-sitter-cli (new ABI version) 2018-07-18 13:19:42 -07:00
Max Brunsfeld 44b3de2594 ⬆️ tree-sitter-cli, add explicit word token 2018-06-15 14:05:05 -07:00
Max Brunsfeld 7b003599b3 Allow subshells in negated commands
Fixes #13
2018-05-24 15:00:53 -07:00
Max Brunsfeld 065a4ec425 Rework test expressions
Fixes #11
2018-05-24 11:47:12 -07:00
Max Brunsfeld 73d6705bc2 Allow other redirects between a heredoc's delimiter and body
Fixes #16
2018-03-29 09:54:08 -07:00
Max Brunsfeld f478eaddb3 ⬆️ tree-sitter-cli 2018-03-28 11:18:32 -07:00
Max Brunsfeld 90552dc38b ⬆️ tree-sitter 2018-03-05 17:44:34 -08:00
Max Brunsfeld 68e93bd898 Allow for statements without in clauses 2018-03-02 10:18:42 -08:00
Max Brunsfeld 87a832d94e Allow regexes after '==', not just '=~' 2018-03-01 14:22:38 -08:00
Max Brunsfeld c7484ad85f Allow ;; at end of line of case item 2018-03-01 14:04:29 -08:00
Max Brunsfeld 51b212b207 Allow redirects after bracket commands 2018-03-01 10:42:20 -08:00
Max Brunsfeld f33bf06de2 Distinguish unset commands from regular commands 2018-03-01 10:12:10 -08:00
Max Brunsfeld 384d920af5 Allow $ in strings 2018-03-01 09:54:08 -08:00
Max Brunsfeld 0d9f854862 Revert "Don't parse square bracket commands as special syntax"
This reverts commit c34619a1c4.

Bracket command syntax was actually not interfering with the parsing
of words with special characters.
2018-02-28 22:46:47 -08:00