From fe52c5c061b517ecb7f9f5d5a9f1d746d13f18c0 Mon Sep 17 00:00:00 2001 From: Michael Go Date: Fri, 25 Oct 2024 01:00:31 -0300 Subject: [PATCH] micro optimization --- lib/liquid/tokenizer.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/liquid/tokenizer.rb b/lib/liquid/tokenizer.rb index 61d1e555..d8f5f2b2 100644 --- a/lib/liquid/tokenizer.rb +++ b/lib/liquid/tokenizer.rb @@ -63,6 +63,18 @@ module Liquid end def next_token(ss) + if ss.pos == 0 + if ss.string.start_with?("{{") + ss.pos = 2 + return next_variable_token(ss) + elsif ss.string.start_with?("{%") + ss.pos = 2 + return next_tag_token(ss) + else + return next_text_token(ss) + end + end + # possible states: :text, :tag, :variable byte_a = ss.scan_byte