From a3b911658e516ca80f27afa9c280b1ccfa0dcc04 Mon Sep 17 00:00:00 2001 From: unclebabykern Date: Wed, 29 May 2024 12:17:56 -0600 Subject: [PATCH] add liquid comment syntax w/ tests Includes single line comment syntax with # that ignores block wrap tag requirement (e.g. {% %} enclosing line comments) for functional usage. --- README.md | 1 + syntax.json | 16 ++++++++++++++++ tests/test_closed.diff | 16 ++++++++++++++++ tests/test_new.diff | 17 +++++++++++++++++ tests/test_todo_parser.py | 6 ++++++ 5 files changed, 56 insertions(+) diff --git a/README.md b/README.md index f55d6f9..22c0499 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,7 @@ These will be applied automatically to every issue, but will be overrode by any - Julia - Kotlin - Less +- Liquid - Makefile - Markdown - Nix diff --git a/syntax.json b/syntax.json index b59b51b..2567737 100644 --- a/syntax.json +++ b/syntax.json @@ -773,5 +773,21 @@ "pattern": "#" } ] + }, + { + "language": "Liquid", + "markers": [ + { + "type": "line", + "pattern": "#" + }, + { + "type": "block", + "pattern": { + "start": "{% comment %}", + "end": "{% endcomment %}" + } + } + ] } ] diff --git a/tests/test_closed.diff b/tests/test_closed.diff index 0836a41..8e35037 100644 --- a/tests/test_closed.diff +++ b/tests/test_closed.diff @@ -392,3 +392,19 @@ index 2996176..7545ccf 100644 - # TODO create the directory. $(AR) rc $@ $(OBJ) +diff --git a/tests/example_file.liquid b/tests/example_file.liquid +index 0000000..7cccc5b 100644 +--- a/tests/example_file.liquid ++++ b/tests/example_file.liquid +@@ -1,6 +0,0 @@ +-{% comment %} TODO: remove loop logic {% endcomment %} + {% for i in (1..3) -%} +- # TODO: Do math here! +- # labels: help wanted + {{ i }} + {% endfor %} +-{% comment %} +-TODO: Render Liquid file + {% assign featured_product = all_products["product_handle"] %} + {% render "product", product: featured_product %} +-{% endcomment %} \ No newline at end of file diff --git a/tests/test_new.diff b/tests/test_new.diff index 8662a4b..efba12c 100644 --- a/tests/test_new.diff +++ b/tests/test_new.diff @@ -435,3 +435,20 @@ index 0000000..2996176 + # TODO create the directory. + $(AR) rc $@ $(OBJ) + +diff --git a/tests/example_file.liquid b/tests/example_file.liquid +new file mode 100644 +index 0000000..7cccc5b +--- /dev/null ++++ b/tests/example_file.liquid +@@ -0,0 +1,11 @@ ++{% comment %} TODO: remove loop logic {% endcomment %} ++{% for i in (1..3) -%} ++ # TODO: Do math here! ++ # labels: help wanted ++ {{ i }} ++{% endfor %} ++{% comment %} ++TODO: Render Liquid file ++{% assign featured_product = all_products["product_handle"] %} ++{% render "product", product: featured_product %} ++{% endcomment %} \ No newline at end of file diff --git a/tests/test_todo_parser.py b/tests/test_todo_parser.py index 440d0e7..f3595cc 100644 --- a/tests/test_todo_parser.py +++ b/tests/test_todo_parser.py @@ -99,6 +99,9 @@ class NewIssueTests(unittest.TestCase): def test_c_cpp_like_issues(self): self.assertEqual(count_issues_for_file_type(self.raw_issues, 'c_cpp'), 2) + def test_liquid_issues(self): + self.assertEqual(count_issues_for_file_type(self.raw_issues, 'liquid'), 3) + class ClosedIssueTests(unittest.TestCase): # Check for removed TODOs across the files specified. @@ -186,6 +189,9 @@ class ClosedIssueTests(unittest.TestCase): def test_c_cpp_like_issues(self): self.assertEqual(count_issues_for_file_type(self.raw_issues, 'c_cpp'), 2) + def test_liquid_issues(self): + self.assertEqual(count_issues_for_file_type(self.raw_issues, 'liquid'), 3); + class IgnorePatternTests(unittest.TestCase):