Warning when variable starts with a number
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 11.9k
- Forks
- 1.5k
- Avg merge
- 17h 55m
- Merged PRs (30d)
- 3
Description
Hello, I think you might be able to help me with this issue.
when parsing a template that contains a variable that begins with a number I get this warning here:
script = '{% if variable==true or 2variable==false%}{% remove %}{% endif %}'
Liquid::Template.parse(script, error_mode: :warn).warnings
Liquid::SyntaxError: Liquid syntax error: Expected end_of_string but found id in "variable==true or 2variable==false"
If I change the variable name to not begin with a number I don't get any warnings.
I don't understand why this scenario translates into a warning
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the template through Liquid::Template.parse with error_mode: :warn and inspect how the expression parser handles the 2variable identifier. Compare it with the same expression using a nonnumeric variable name; done means the intended warning or error behavior is established and covered by a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100