Commit Graph

92 Commits

Author SHA1 Message Date
Andrew Hlynskyi 3243c9ab73
fix: escaped newline immediately after a char, resolves #100 (#102) 2021-09-21 21:30:05 -07:00
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