Albert Chu
591d3a2c70
[WIP] Support for nested boolean expressions in parentheses
...
- Added unit tests for range syntax
- Added logical expression unit tests
- parser respects parentheses during expression traversal
2025-03-17 18:26:52 -06:00
Albert Chu
e6e8221c78
Fixed lax parsing test case
2025-03-13 10:53:24 -06:00
Albert Chu
4b57b2bbd9
Reintroduced broken conditional operators behaviour present in liquid main
2025-03-12 14:08:45 -06:00
Albert Chu
08d36b09a2
Fixed ComparisonExpression.parse with MethodLiterals
2025-03-10 21:20:44 -06:00
Guilherme Carreiro and Albert Chu
9e6b628a68
* Introduce support for literal comparisons (e.g., {{ 'hello' == 'hello' }})
...
* Evaluate expressions as truthy/falsy to unlock scenarios, such as `<div class="{{ disabled and "modal--disabled" }}">`
* Add additional scenarios to the expression test suite
* Simplify `LogicalExpression`
2025-03-10 21:20:44 -06:00
Albert Chu
b57f4fcbcb
Support usecase where a nil variable value is used in a logical expression
2025-03-10 21:20:43 -06:00
Guilherme Carreiro and Albert Chu
26ccec12ab
* Move expression handling from variable.rb to expression.rb
...
* Update test suite to validate parity
* Remove parentheses handling
* Split boolean into comparison and logical expressions
2025-03-10 21:20:43 -06:00
Guilherme Carreiro and Albert Chu
ba0bbe3c3f
Update the parser to use the new tokens
2025-03-10 21:20:43 -06:00
Guilherme Carreiro and Albert Chu
9b967690aa
Introduce support to boolean operators in the lexer
2025-03-10 21:20:43 -06:00
Albert Chu
14b0d64b70
Rough support for parenthesis. Also better respect for and/or order precedence.
2025-03-10 21:20:43 -06:00
Albert Chu
6d4cffa000
Support for simple boolean comparisons and boolean assignments
2025-03-10 21:20:42 -06:00
Guilherme Carreiro and Guilherme Carreiro
e38f730c00
Update LiquidDoc documentation
2025-03-07 18:59:59 +01:00
Guilherme Carreiro and Guilherme Carreiro
6453a0ea48
Implement nodelist in the Doc tag so it may be visited
2025-02-26 13:14:39 +01:00
Guilherme Carreiro and Guilherme Carreiro
cca9fe99cf
Bump version to 5.8.0
2025-02-25 08:50:46 +01:00
Guilherme Carreiro and Guilherme Carreiro
17d327988d
Rename {% doc %} constant strictly validates the abscense of args
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
f643af4bac
Update the implementation to make {% doc %} as strict as {% raw %}
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
b439d0da53
Update {% doc %} to no longer support nested tags (as {% comment %} does)
2025-02-20 12:37:09 +01:00
Guilherme Carreiro and Guilherme Carreiro
16592cfb8f
Add support to LiquidDoc with the new {% doc %} tag
2025-02-20 12:37:09 +01:00
Chris AtLee and GitHub
da4afd4156
Merge pull request #1905 from Shopify/catlee/invalid_utf8
...
Raise SyntaxError on invalid UTF8 strings in lexer/tokenizer
2025-02-13 09:24:11 -05:00
Chris AtLee and GitHub
1bb3091208
Merge pull request #1909 from Shopify/catlee/5.7.3
...
Bump version to 5.7.3
2025-02-13 09:22:47 -05:00
Max Stoiber and GitHub
040801b32c
Fix array has filters referring to some ( #1910 )
2025-02-12 17:37:49 +01:00
Chris AtLee
550135c0b9
Raise SyntaxError on invalid UTF8 strings in lexer/tokenizer
2025-02-11 14:23:15 -05:00
Chris AtLee
aec966eed7
Bump version to 5.7.3
2025-02-11 14:21:14 -05:00
Guilherme Carreiro
f9454d8cf3
Fix array filters to not support nested properties
2025-01-31 13:53:17 +01:00
Guilherme Carreiro and Guilherme Carreiro
bf1419b8ac
Apply the same fix for find_index and has
2025-01-24 08:39:01 +01:00
Guilherme Carreiro and Guilherme Carreiro
5718c4cee2
Fix the find filter to return nil when filtering empty arrays
2025-01-24 08:39:01 +01:00
03aafa974c
Bump to 5.7.0 ( #1894 )
...
* Bump to 5.7.0
* Update 'History.md'
* Update 'Releasing' steps
* Update CONTRIBUTING.md
Co-authored-by: Gray Gilmore <[email protected] >
* Update History.md
Co-authored-by: Ian Ker-Seymer <[email protected] >
---------
Co-authored-by: Gray Gilmore <[email protected] >
Co-authored-by: Ian Ker-Seymer <[email protected] >
2025-01-17 12:10:18 +01:00
Ian Ker-Seymer and GitHub
6372289ba3
Ensure we use InputIterator#each when in join filter ( #1898 )
2025-01-16 11:36:36 -05:00
Ian Ker-Seymer and GitHub
0ec52a40b5
Use Liquid::Utils.to_s for join filter ( #1897 )
2025-01-16 11:21:58 -05:00
Ian Ker-Seymer and GitHub
74af735f0e
Allow for custom < Hash classes to override #to_s ( #1896 )
2025-01-16 11:16:13 -05:00
4b65a28722
Implement logic for stringify Hashes to keep compat with 3.4 ( #1892 )
...
* Exploring
* Bump to v5.6.5
---------
Co-authored-by: Dominic Petrick <[email protected] >
2025-01-15 16:36:53 -05:00
6909570f8e
Add find, find_index, has, and reject filters to arrays ( #1869 )
...
* Add reject filter #1573
* Add deep search for filter taking in properties #1749
* Update branch with main
* Add `find`, `find_index`, `has`, and `reject` filters to arrays
* Refactor: avoid usage of public_send
---------
Co-authored-by: Anders Søgaard <[email protected] >
Co-authored-by: Anders Søgaard <[email protected] >
2025-01-14 10:33:31 +01:00
Ian Ker-Seymer
8e37c5e18b
Bump to v5.6.4
2025-01-13 21:57:52 -05:00
Ian Ker-Seymer
b3f9639e7d
Add default string_scanner to Liquid::VariableLookup.parse
2025-01-13 21:56:39 -05:00
Michael Go
e200c4544b
remove expression caching while rendering
2025-01-13 18:36:30 -04:00
Michael Go
7124540563
remove lru-redux
2025-01-13 18:27:56 -04:00
Michael Go
0639a094a8
bump version to 5.6.2
2025-01-13 17:16:33 -04:00
Michael Go
58777bcd93
float has to start with a digit
2025-01-13 17:13:27 -04:00
Michael Go
10114b333e
minor version bump
2025-01-10 15:28:02 -04:00
Michael Go
a07ae90523
use Ruby Hash as default expression cache
2025-01-10 15:07:57 -04:00
Michael Go
2e236b0a0e
fix expression cache to be compatible with Ruby Hash and LruCache
2025-01-10 14:58:23 -04:00
Michael Go
bd05dfbd1c
use lru_redux getset for simplicity
2025-01-10 14:41:35 -04:00
Michael Go
97cada61f9
remove Expression2 strscan workaround
2025-01-10 14:23:57 -04:00
Michael Go
7c9b77e8cf
remove StringScanner version check in Lexer and Tokenizer
2025-01-07 14:51:29 -04:00
Michael Go
42d822bda9
users can provide optional expression cache
2025-01-07 14:32:46 -04:00
Michael Go
2c7d686690
adding caching to context variable lookup
2025-01-07 14:32:46 -04:00
Michael Go
313d01706a
code styling
2025-01-07 14:32:46 -04:00
Michael Go
e9f86724f6
code styling
2025-01-07 14:32:46 -04:00
Michael Go
0a17c15289
freeze '-' VariableLookup in Expression
2025-01-07 14:32:46 -04:00
Michael Go
04bd9dbe90
refactor Lexer to only take StringScanner
2025-01-07 14:32:46 -04:00