From 05e7ab0457656dfeec5696f184d20da22512d1d7 Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Tue, 5 Oct 2021 23:38:00 +0200 Subject: [PATCH] Liquid: Removed unmatchable object variants (#3135) --- components/prism-liquid.js | 2 +- components/prism-liquid.min.js | 2 +- tests/languages/liquid/object_feature.test | 30 ---------------------- 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/components/prism-liquid.js b/components/prism-liquid.js index b8f27fe455..8b9981a7a6 100644 --- a/components/prism-liquid.js +++ b/components/prism-liquid.js @@ -12,7 +12,7 @@ Prism.languages.liquid = { greedy: true }, 'keyword': /\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/, - 'object': /\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|comment|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|form|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|paginate|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|section|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/, + 'object': /\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/, 'function': [ { pattern: /(\|\s*)\w+/, diff --git a/components/prism-liquid.min.js b/components/prism-liquid.min.js index 98b04aeba6..a405414fac 100644 --- a/components/prism-liquid.min.js +++ b/components/prism-liquid.min.js @@ -1 +1 @@ -Prism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,object:/\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|comment|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|form|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|paginate|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|section|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},Prism.hooks.add("before-tokenize",function(e){var a=!1;Prism.languages["markup-templating"].buildPlaceholders(e,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,function(e){var t=/^\{%-?\s*(\w+)/.exec(e);if(t){var n=t[1];if("raw"===n&&!a)return a=!0;if("endraw"===n)return!(a=!1)}return!a})}),Prism.hooks.add("after-tokenize",function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"liquid")}); \ No newline at end of file +Prism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,object:/\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},Prism.hooks.add("before-tokenize",function(e){var i=!1;Prism.languages["markup-templating"].buildPlaceholders(e,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,function(e){var t=/^\{%-?\s*(\w+)/.exec(e);if(t){var n=t[1];if("raw"===n&&!i)return i=!0;if("endraw"===n)return!(i=!1)}return!i})}),Prism.hooks.add("after-tokenize",function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"liquid")}); \ No newline at end of file diff --git a/tests/languages/liquid/object_feature.test b/tests/languages/liquid/object_feature.test index 441e8edc5d..b2af4d4673 100644 --- a/tests/languages/liquid/object_feature.test +++ b/tests/languages/liquid/object_feature.test @@ -7,7 +7,6 @@ {{ checkout }} {{ collection }} {{ color }} -{{ comment }} {{ country }} {{ country_option_tags }} {{ currency }} @@ -23,7 +22,6 @@ {{ filter_value }} {{ font }} {{ forloop }} -{{ form }} {{ fulfillment }} {{ generic_file }} {{ gift_card }} @@ -45,7 +43,6 @@ {{ page_description }} {{ page_image }} {{ page_title }} -{{ paginate }} {{ part }} {{ policy }} {{ product }} @@ -57,7 +54,6 @@ {{ rule }} {{ script }} {{ search }} -{{ section }} {{ selling_plan }} {{ selling_plan_allocation }} {{ selling_plan_group }} @@ -66,7 +62,6 @@ {{ shop_locale }} {{ sitemap }} {{ store_availability }} -{{ tablerow }} {{ tax_line }} {{ template }} {{ theme }} @@ -125,11 +120,6 @@ ["object", "color"], ["delimiter", "}}"] ]], - ["liquid", [ - ["delimiter", "{{"], - ["keyword", "comment"], - ["delimiter", "}}"] - ]], ["liquid", [ ["delimiter", "{{"], ["object", "country"], @@ -205,11 +195,6 @@ ["object", "forloop"], ["delimiter", "}}"] ]], - ["liquid", [ - ["delimiter", "{{"], - ["keyword", "form"], - ["delimiter", "}}"] - ]], ["liquid", [ ["delimiter", "{{"], ["object", "fulfillment"], @@ -315,11 +300,6 @@ ["object", "page_title"], ["delimiter", "}}"] ]], - ["liquid", [ - ["delimiter", "{{"], - ["keyword", "paginate"], - ["delimiter", "}}"] - ]], ["liquid", [ ["delimiter", "{{"], ["object", "part"], @@ -375,11 +355,6 @@ ["object", "search"], ["delimiter", "}}"] ]], - ["liquid", [ - ["delimiter", "{{"], - ["keyword", "section"], - ["delimiter", "}}"] - ]], ["liquid", [ ["delimiter", "{{"], ["object", "selling_plan"], @@ -420,11 +395,6 @@ ["object", "store_availability"], ["delimiter", "}}"] ]], - ["liquid", [ - ["delimiter", "{{"], - ["keyword", "tablerow"], - ["delimiter", "}}"] - ]], ["liquid", [ ["delimiter", "{{"], ["object", "tax_line"],