bashlex
bashlex copied to clipboard
Cannot parse line continuations in let assignment
The following bash code throws a parsing error
let
X=1
ParsingError: unexpected token '\n' (position 3)
Unable to reproduce this issue.
In a Python interactive session with bashlex
version 0.18
:
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bashlex
>>> bashlex.parse('let')
[CommandNode(parts=[WordNode(parts=[] pos=(0, 3) word='let')] pos=(0, 3))]
>>> bashlex.parse('let\n\n\nX=1')
[CommandNode(parts=[WordNode(parts=[] pos=(0, 3) word='let')] pos=(0, 3)), CommandNode(parts=[AssignmentNode(parts=[] pos=(6, 9) word='X=1')] pos=(6, 9))]
>>> bashlex.parse('let \
... \
... \
... X=1')
[CommandNode(parts=[WordNode(parts=[] pos=(0, 3) word='let'), WordNode(parts=[] pos=(4, 7) word='X=1')] pos=(0, 7))]