Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Liquid: add all objects from Shopify reference #2998

Merged
merged 1 commit into from
Jul 15, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions components/prism-liquid.js
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ Prism.languages.liquid = {
greedy: true
},
'keyword': /\b(?:as|assign|break|continue|cycle|decrement|echo|else|elsif|(?:end)?(?:capture|case|comment|for|form|if|paginate|style|raw|tablerow|unless)|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+/,
2 changes: 1 addition & 1 deletion components/prism-liquid.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 15 additions & 15 deletions tests/languages/liquid/function_feature.test
Original file line number Diff line number Diff line change
@@ -46,7 +46,7 @@
[
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"tags ",
["operator", "|"],
@@ -56,7 +56,7 @@
["liquid", [
["delimiter", "{%"],
["keyword", "if"],
" product",
["object", "product"],
["punctuation", "."],
"tags",
["punctuation", "."],
@@ -67,7 +67,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"tags ",
["operator", "|"],
@@ -77,7 +77,7 @@
["liquid", [
["delimiter", "{%"],
["keyword", "if"],
" product",
["object", "product"],
["punctuation", "."],
"tags",
["punctuation", "."],
@@ -136,7 +136,7 @@
["keyword", "assign"],
" products ",
["operator", "="],
" collection",
["object", "collection"],
["punctuation", "."],
"products ",
["operator", "|"],
@@ -150,7 +150,7 @@
["keyword", "assign"],
" kitchen_products ",
["operator", "="],
" collection",
["object", "collection"],
["punctuation", "."],
"products ",
["operator", "|"],
@@ -224,7 +224,7 @@
]],
["liquid", [
["delimiter", "{{"],
" article",
["object", "article"],
["punctuation", "."],
"published_at ",
["operator", "|"],
@@ -253,7 +253,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"price ",
["operator", "|"],
@@ -264,7 +264,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"price ",
["operator", "|"],
@@ -276,7 +276,7 @@

["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"featured_media ",
["operator", "|"],
@@ -289,7 +289,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"featured_media ",
["operator", "|"],
@@ -300,7 +300,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"featured_media ",
["operator", "|"],
@@ -402,11 +402,11 @@

["liquid", [
["delimiter", "{{"],
" article",
["object", "article"],
["punctuation", "."],
"published_at ",
["operator", "|"],
["function", "date"],
["object", "date"],
["operator", ":"],
["string", "\"%a, %b %d, %y\""],
["delimiter", "}}"]
@@ -428,7 +428,7 @@
]],
["liquid", [
["delimiter", "{{"],
" product",
["object", "product"],
["punctuation", "."],
"variants",
["punctuation", "."],
477 changes: 477 additions & 0 deletions tests/languages/liquid/object_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,477 @@
{{ 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 }}

----------------------------------------------------

[
["liquid", [
["delimiter", "{{"],
["object", "address"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "all_country_option_tags"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "article"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "block"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "blog"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "cart"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "checkout"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "collection"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "color"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["keyword", "comment"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "country"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "country_option_tags"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "currency"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "current_page"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "current_tags"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "customer"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "customer_address"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "date"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "discount_allocation"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "discount_application"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "external_video"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "filter"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "filter_value"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "font"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "forloop"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["keyword", "form"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "fulfillment"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "generic_file"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "gift_card"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "group"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "handle"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "image"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "line_item"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "link"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "linklist"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "localization"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "location"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "measurement"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "media"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "metafield"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "model"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "model_source"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "order"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "page"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "page_description"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "page_image"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "page_title"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["keyword", "paginate"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "part"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "policy"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "product"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "product_option"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "recommendations"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "request"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "robots"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "routes"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "rule"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "script"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "search"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["keyword", "section"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "selling_plan"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "selling_plan_allocation"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "selling_plan_group"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "shipping_method"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "shop"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "shop_locale"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "sitemap"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "store_availability"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["keyword", "tablerow"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "tax_line"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "template"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "theme"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "transaction"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "unit_price_measurement"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "user_agent"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "variant"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "video"],
["delimiter", "}}"]
]],
["liquid", [
["delimiter", "{{"],
["object", "video_source"],
["delimiter", "}}"]
]]
]

----------------------------------------------------

Liquid objects sourced from https://shopify.dev/api/liquid/objects
2 changes: 1 addition & 1 deletion tests/languages/liquid/template_feature.test
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@
[
["liquid", [
["delimiter", "{{"],
" page",
["object", "page"],
["punctuation", "."],
"title ",
["delimiter", "}}"]