tree-sitter-bash/src
Max Brunsfeld 675a581839 Allow special characters in bare word arguments
I've moved tokenization of bare words into the external scanner. This
way we can keep the grammar simple, but support some fancy rules that
I've inferred from experimenting with bash:

- Only allow '}' inside of a bare word if '}' isn't a valid lookahead
token (i.e. we're not inside of a variable expansion).
- Only allow ']' at the *start* of a bare word if neither ']' nor ']]'
are valid lookahead tokens (i.e. we're not inside of a square bracket
command or an array subscript).
- Parentheses seem to never be allowed in bare words. You have to quote
them.

For alphanumeric words, I fall through to the normal scanner so that it
can continue to distinguish reserved words from other words.

Fixes #5
2018-02-27 16:55:20 -08:00
..
tree_sitter Regenerate with latest tree-sitter 2018-02-12 16:53:11 -08:00
binding.cc Initial commit 2017-07-14 12:28:54 -07:00
grammar.json Allow special characters in bare word arguments 2018-02-27 16:55:20 -08:00
parser.c Allow special characters in bare word arguments 2018-02-27 16:55:20 -08:00
scanner.cc Allow special characters in bare word arguments 2018-02-27 16:55:20 -08:00