Peter Zhu
bbfcaa2cc0
Revert "Merge pull request #1350 from Shopify/pz-instrument-invalid-end-tag"
...
This reverts commit e6eef4b2c4 , reversing
changes made to c7c21e88f0 .
2020-12-01 14:38:04 -05:00
Peter Zhu
2ce577e36b
Instrument for bug #1346
2020-11-09 14:27:17 -05:00
Peter Zhu
5c082472a1
Address comments
2020-10-26 16:16:30 -04:00
Peter Zhu
0bedc71854
Address comments
2020-10-26 15:11:00 -04:00
Peter Zhu
fe66edb825
Freeze block body after parsing completes
2020-10-26 11:06:55 -04:00
Peter Zhu
7aed2f122c
Refactor raising tag never closed to method
2020-10-06 15:55:55 -04:00
Dylan Thacker-Smith
0d02dea20b
Rename Liquid::Block#unknown_tag parameters for clarity
2020-09-11 09:33:12 -04:00
Dylan Thacker-Smith
bbc56f35ec
Add ParseContext#new_block_body to centralize the liquid-c override point
2020-09-09 12:25:35 -04:00
Dylan Thacker-Smith
bd33df09de
Provide Block#new_body so that liquid-c can override it
...
This way liquid-c can return a body of a different class that wraps
a C implementation.
2020-09-08 13:59:48 -04:00
Dylan Thacker-Smith and GitHub
0740e8b431
Remove unused quirk allowing liquid tags to close a block it is nested in ( #1284 )
2020-09-03 06:51:56 -04:00
0d26f05bb8
Enabled frozen string literals ( #1154 )
...
* Enabled frozen string literals
* Update rubocop config
* Prefer string interpolation in simple cases
Co-Authored-By: Dylan Thacker-Smith <[email protected] >
2019-09-18 13:19:45 +10:00
Mike Angell
799da202df
Apply simple rubocop fixes
2019-08-31 21:58:33 +10:00
Florian Weingarten
9640e77805
render_to_output_buffer
2019-04-23 17:06:29 -04:00
Florian Weingarten
2a1ca3152d
liquid without the garbage
2019-04-22 16:34:31 -04:00
Dylan Thacker-Smith and GitHub
4369fe6c85
Improve the unexpected end delimiter message for block tags. ( #1003 )
2018-04-05 11:18:13 -04:00
Dylan Thacker-Smith and GitHub
9c72ccb82f
Limit how much blocks can be nested during parsing ( #894 )
2017-05-11 09:37:53 -04:00
Dylan Thacker-Smith
c45310170b
Use parse_context or options instead of @options.
2015-07-08 19:21:59 -04:00
Dylan Thacker-Smith
cebf75b8d7
Implement line numbers without the Liquid::Token class.
2015-07-08 19:21:59 -04:00
Florian Weingarten
82269e2509
fix a few more rubocop offenses
2015-06-04 13:09:58 -04:00
Florian Weingarten
3372ca8136
Rubocop
2015-05-14 14:37:18 +00:00
Dylan Thacker-Smith and Justin Li
15e1d46125
Avoid storing options instance variable in BlockBody.
...
There is no need to pass parse options to the BlockBody initializer, since
it does all the parsing in the parse method, unlike tags which parse the
tag markup in the initializer.
2014-11-03 17:07:42 -05:00
Dylan Thacker-Smith and Justin Li
73fcd42403
Create a BlockBody class to decouple block body parsing from tags.
2014-11-03 17:07:42 -05:00
Dylan Thacker-Smith
a67e2a0a00
Remove unused Block#end_tag method.
...
Although the method is called, it is defined with an empty body and not
overridden to do anything else.
2014-10-14 02:58:11 -04:00
Florian Weingarten
584b492e70
Line numbers for all parse errors
2014-10-03 21:00:31 +00:00
Dylan Thacker-Smith
29c21d7867
Avoid keeping track of two lists of nodes during parsing.
2014-09-12 16:43:00 -04:00
Tristan Hume and Florian Weingarten
27c1019385
Add line numbers to warnings
2014-09-05 14:12:30 +00:00
Florian Weingarten
5eff375094
Optional line numbers for liquid errors
2014-09-05 14:12:29 +00:00
Jason Roelofs
173a58d36a
Profile liquid rendering
...
Add a simple profiling system to liquid rendering. Each
liquid tag ({{ }} and {% %}) is processed through this profiling,
keeping track of the partial name (in the case of {% include %}), line
number, and the time it took to render the tag. In the case of {%
include %}, the profiler keeps track of the name of the partial and
properly links back tag rendering to the partial and line number for
easy lookup and dive down. With this, it's now possible to track down
exactly how long each tag takes to render.
These hooks get installed and uninstalled on an as-need basis so by
default there is no impact on the overall liquid execution speed.
2014-08-12 15:37:21 -04:00
Jason Hiltz-Laforge
51c1165f26
Forgot an error message case
2014-07-24 02:27:26 +00:00
Jason Hiltz-Laforge
55597b8398
Fixing regression from block delimiter enhancement
2014-07-23 19:18:02 +00:00
Florian Weingarten
1e0e9f1f31
Remove unnecessary blank? code
2014-07-22 21:19:12 +00:00
Jason Hiltz-Laforge
3c2de7737d
Optimize block parsing -- don't recreate delimiter, use strings instead of regex
2014-07-22 02:43:20 +00:00
Florian Weingarten
3dbb35d823
Merge branch 'freeze_all_the_things'
...
Conflicts:
History.md
lib/liquid/tags/assign.rb
lib/liquid/tags/capture.rb
lib/liquid/tags/decrement.rb
lib/liquid/tags/if.rb
2014-03-24 12:39:34 -04:00
Dylan Thacker-Smith
fdf03076e0
Revert "Merge pull request #325 from Shopify/remove-variable-incomplete-end"
...
That pull request broke raw tags with open variable tags. E.g.
{% raw %}
{{
{% endraw %}
{{ 1 }}
This reverts commit fbaabf3b59 , reversing
changes made to af24d2c2ab .
2014-03-24 09:59:07 -04:00
Dylan Thacker-Smith
7e0ef867d2
Make tag/variable termination error clearer.
2014-03-21 02:04:01 -04:00
Dylan Thacker-Smith
3b14e27f55
Allow newlines in tags and variables.
2014-03-20 17:27:03 -04:00
Dylan Thacker-Smith
d4ecaff8b8
Refactor to create tags with a parse class method instead of new.
...
By moving parse out of the initializer, we can call super at the start of
the initializers for subclasses, and avoid the nasty allocate hack.
2014-03-20 16:10:10 -04:00
Dylan Thacker-Smith
503d924274
Use start and end of string rather than line matching in regexes.
2014-03-13 17:56:42 -04:00
Florian Weingarten
0a7de51e2b
Revert some freezes on non-literals
2014-01-27 14:56:07 -05:00
Florian Weingarten
c6e0c1e490
Fix resource counting bug with respond_to?(:length)
2014-01-08 13:00:53 -05:00
Florian Weingarten
43ac8d560b
Freeze all the things
2014-01-07 12:35:16 -05:00
Tristan Hume
09a5b57ebe
Fix variable closing error message
2013-08-30 15:55:43 -04:00
Tristan Hume
af50f71224
Guard against state that shouldn't happen but does
2013-08-30 15:26:26 -04:00
Simon Eskildsen
072c12dc47
Localize errors in Liquid
2013-08-30 12:31:57 -04:00
Tristan Hume
dd3196b22e
Consistency in warnings.
2013-08-22 16:15:12 -04:00
Tristan Hume
b0cba5298a
Fix warnings and make tags a proper syntax tree.
2013-08-22 12:44:23 -04:00
Tristan Hume
93fcd5687c
Broken warnings implementation.
2013-08-22 12:12:35 -04:00
Tristan Hume
c5afdc529a
Shuffle logic around.
2013-07-30 16:17:03 -04:00
Tristan Hume
84f0c1bef8
Initial options passing
2013-07-30 14:44:41 -04:00
Florian Weingarten
cd3f976288
Merge branch 'master' into dont_render_blank_blocks
...
Conflicts:
lib/liquid/tag.rb
2013-07-02 14:00:30 -04:00