Michael Go
c77ff68573
clean up all warnings by using new Environment
2024-11-04 16:15:05 -04:00
Ian Ker-Seymer and GitHub
b0cba0bfd2
Remove Liquid.cache_classes option ( #1847 )
2024-11-04 14:41:56 -05:00
Michael Go
29986d3704
remove TagRegistry
2024-11-04 15:22:56 -04:00
Michael Go
ffce6de8bb
avoid using StringScanner eos
2024-10-30 13:45:10 -03:00
Michael Go
f00670cb01
refactor lexer unit test
2024-10-30 13:44:36 -03:00
Michael Go
f6a3e25e2e
fix parsing quirky incomplete expressions
2024-10-30 13:44:35 -03:00
Michael Go
1375a9e4dc
fix lexer parsing ID 'contains' as comparison
2024-10-30 13:39:55 -03:00
Michael Go
8a9f33a060
raise syntax error from lexer parser with utf8 character
2024-10-29 22:04:37 -03:00
Michael Go and GitHub
1943441361
Merge pull request #1835 from Shopify/fix-multibyte-variable-parsing
...
fix parsing Variable blockbody with multibyte character
2024-10-28 19:31:21 -03:00
Michael Go
d94293a464
fix lexer parsing comparison without whitespaces
2024-10-28 19:30:12 -03:00
Michael Go
6c13805a60
fix parsing Variable blockbody with multibyte character
2024-10-28 17:33:55 -03:00
Ian Ker-Seymer and GitHub
b3553787c8
Speed up the lexer for Ruby 3.4+ ( #1832 )
...
* Speed up lexing
* Bump msrv to 3.0 (from 2.7)
* Normalize test for ruby-head compat
* Fix bug when parsing negative numbers
2024-10-23 14:15:33 -04:00
Ian Ker-Seymer and GitHub
fb6634f454
Add concept of Liquid::Environment ( #1815 )
...
* Add concept of `Liquid::World`
* Rename `World` to `Environment`
2024-08-07 15:00:44 -04:00
Ian Ker-Seymer
1b2b62964e
Allow for binary comparison of incompatible strings
2024-01-30 19:03:05 -05:00
Michael Go
a3c837687e
don't reset Liquid tag's whitespace control from comment tag
2024-01-05 10:21:33 -04:00
Michael Go
fc9c338682
refactor: rename comment tag unit test
2023-12-14 17:08:26 -04:00
Michael Go
3c5ad7db61
don't allow invalid syntax inside comment tag
2023-12-14 17:01:03 -04:00
Michael Go
c618ac1c9f
fix parsing comment tag with extra string
2023-12-12 16:23:37 -04:00
Ian Ker-Seymer and GitHub
0f0d5d889f
Merge pull request #1750 from IevaGraz/fix/custom_tag_rendering
...
Fix for custom tag rendering
2023-12-10 11:28:50 -05:00
Michael Go
24d461a9e3
implement whitespace control to comment tag
2023-12-01 16:04:03 -04:00
Michael Go
bf0f79f36c
fix parsing comment tag delimiter
2023-11-30 13:24:54 -04:00
Michael Go
6a5ebb0e85
fix parsing nested comment tag with extra strings
2023-11-11 12:19:44 -04:00
Michael Go
6dafc19b6d
fix parsing comment tag delimiter with extra strings
2023-11-10 15:42:54 -04:00
Michael Go
41f65173b0
fix parsing comment block body inside a liquid tag
2023-11-09 16:27:23 -04:00
Michael Go
a681e73aec
refactor comment tag unit test to use test helper
2023-11-08 16:45:11 -04:00
Michael Go
2abf52d546
add a quirky comment tag unit test
2023-11-08 11:23:00 -04:00
Michael Go and Alex Coco
dbf0aa8cd5
don't parse nodes inside a comment tag
...
Co-authored-by: Alex Coco <[email protected] >
2023-11-07 18:38:13 -04:00
Ieva Grazuleviciute
407a8e5b0f
Fix for custom tag rendering
2023-10-20 11:42:54 +03:00
Michael Go
dd7bbf26bc
include error mode to partial cache key
2023-06-23 18:48:07 -03:00
Michael Go
24dceef552
set context's template_name with template's name
2023-02-28 10:55:38 -04:00
Dylan Thacker-Smith and GitHub
e650dc4195
Revert "Instrument usage of bug with iteration of String with offset or 0 limit ( #1667 )" ( #1677 )
...
This reverts commit c743936a78 .
2023-02-22 12:48:18 -05:00
Guilherme Carreiro and GitHub
9ab688eada
Update rubocop-shopify (2.7.0 -> 2.12.0) ( #1687 )
2023-02-15 08:40:59 +01:00
Michael Go
bd9c3802c8
add variable parser timeout unit tests
2023-02-01 21:15:35 -04:00
Dylan Thacker-Smith and GitHub
c743936a78
Instrument usage of bug with iteration of String with offset or 0 limit ( #1667 )
2023-01-11 14:05:50 -05:00
Charles-P. Clermont
992e15a173
Add variable_name_expr to render's ParseTreeVisitor
...
Solves Shopify/theme-check#582
`icon` should be visited in the render tag for the following snippet:
```liquid
{% assign icon = 'warning' }
{% render 'icon' with icon %}
```
2022-07-18 08:48:18 -04:00
Dylan Thacker-Smith
41c19929ad
Rename and alias Liquid::StaticRegisters to Liquid::Registers
2022-05-04 17:25:52 -04:00
Chris AtLee and Dylan Thacker-Smith
6c2c621712
Ensure that partial caches are shared with subcontexts
...
Make Context use StaticRegisters by default. This makes it easier to
ensure that all subcontexts share the same static registers.
Co-authored-by: Dylan Thacker-Smith <[email protected] >
2022-04-08 10:05:58 -04:00
Thierry Joyal
1d2bee1f60
Condition#evaluate to receive mandatory context argument
2022-03-02 14:35:31 -05:00
Jean Boussier
c588337aac
Eagerly cache global filters
...
Including a module can cause Ruby's global constant cache to be busted
if the included module contain constants. So that's something you don't
want to happen at "runtime", otherwise it will severely degrade performance
and if you are using YJIT or MJIT most of the compiled code will be invalidated.
To limit the impact of this, we can pre-include the global filters,
as they're generally registered during boot, that limits the problem
to non-global filters.
2022-03-01 13:40:40 +01:00
Charles-P. Clermont
c8906d05b9
Add ParseTreeVisitor to RangeLookup
2021-09-09 11:22:39 -04:00
Charles-P. Clermont
c270a6f378
Add ParseTreeVisitor to Echo tag
...
This fixes theme-check#218, wherein variables used in echo tags are not
considered used by the linter. It is because our visitor doesn't see the
:variable_lookup's in the echo tag since the children array is empty.
But this array is empty because it is swallowed by the @variable.
2021-03-24 09:35:43 -04:00
Dylan Thacker-Smith and GitHub
260c863e23
Build the tokenizer through the parse context for liquid-c ( #1386 )
2021-01-07 14:51:41 -05:00
Dylan Thacker-Smith
f7d67b946e
rubocop autocorrect Style/MethodCallWithArgsParentheses
2020-12-11 13:51:00 -05:00
Dylan Thacker-Smith
013802c877
Move some unit tests without internal coupling to integration tests
...
since I would like to continue supporting these tests in liquid-c
in the foreseeable future.
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith
3dcad3b3cd
Move test/integration/parse_tree_visitor_test.rb to test/unit
...
The ParseTreeVisitor exposes the liquid internals that won't be
kept compatible with liquid-c, so move it out of the integration
tests directory so that we can easily ignore it when testing liquid-c
2020-09-25 11:24:39 -04:00
Dylan Thacker-Smith and GitHub
2b11efc3ae
Fix performance regression from introduction of Template#disable_tags ( #1274 )
2020-08-18 11:25:51 -04:00
Thierry Joyal
03be7f1ee3
[StaticRegisters] Add test coverage
2020-07-28 10:23:51 -04:00
Thierry Joyal
bd1f7f9492
[StaticRegisters] Remove assertion for delete to not remove static content
2020-05-22 13:42:44 -04:00
Thierry Joyal and Dylan Thacker-Smith
40d75dd283
Update test/unit/static_registers_unit_test.rb
...
Co-authored-by: Dylan Thacker-Smith <[email protected] >
2020-05-22 12:15:52 -04:00
Thierry Joyal
f5011365f1
[StaticRegisters] Remove registers attr_reader
2020-05-22 10:51:07 -04:00