From 92919c60f6e5756d783999f36bc3d12cd63db7f9 Mon Sep 17 00:00:00 2001 From: Anton Edvinovich Pozharskiy Date: Wed, 17 Jul 2024 15:37:02 +0200 Subject: [PATCH 1/2] fix issue with functions in validation --- Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage | 4 ++++ test/t08PropertyValidation.m | 3 +++ 2 files changed, 7 insertions(+) diff --git a/Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage b/Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage index 9a3f03b..395c797 100644 --- a/Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage +++ b/Matlab.tmbundle/Syntaxes/MATLAB.tmLanguage @@ -2792,6 +2792,10 @@ patterns + + include + #function_call + include #braced_validator_list diff --git a/test/t08PropertyValidation.m b/test/t08PropertyValidation.m index 7032314..8cce060 100644 --- a/test/t08PropertyValidation.m +++ b/test/t08PropertyValidation.m @@ -61,6 +61,9 @@ % ^ keyword.operator.assignment.matlab % ^^ constant.numeric.matlab % ^ punctuation.terminator.semicolon.matlab + PropFcnArgs {mustBeGreaterThan(PropFcnArgs, 2)} +% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function-call.parens.matlab + % Ending commentary end end From 4bda0c1afc7c345a04e12bc3fd1761a6ee3c9d7c Mon Sep 17 00:00:00 2001 From: Anton Edvinovich Pozharskiy Date: Fri, 19 Jul 2024 10:02:24 +0200 Subject: [PATCH 2/2] fixing snap test --- test/README.md | 7 +++ test/snap/argumentValidation.m.snap | 92 ++++++++++++++++------------- 2 files changed, 57 insertions(+), 42 deletions(-) diff --git a/test/README.md b/test/README.md index b815632..30ebfad 100644 --- a/test/README.md +++ b/test/README.md @@ -4,6 +4,13 @@ The tests in this directory leverage: https://github.com/PanAeon/vscode-tmgrammar-test +# Test requirements + +The tests require xmllint which can be installed (on apt using linux distros) using +```bash +sudo apt install libxml2-utils +``` + # Running the tests From the root of the repo diff --git a/test/snap/argumentValidation.m.snap b/test/snap/argumentValidation.m.snap index 960ef31..964094c 100644 --- a/test/snap/argumentValidation.m.snap +++ b/test/snap/argumentValidation.m.snap @@ -65,11 +65,13 @@ # ^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab # ^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^^^^^^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab +# ^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab +# ^^^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab entity.name.function.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.begin.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.readwrite.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.readwrite.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.end.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.end.matlab > method (1,:) char {mustBeMember(method,{'linear','cubic','spline'})} = 'linear' % End of line comment #^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab @@ -84,23 +86,24 @@ # ^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab storage.type.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.begin.matlab -# ^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab punctuation.section.block.begin.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab -# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab -# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab -# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.block.validation.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab punctuation.section.block.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab +# ^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab entity.name.function.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.begin.matlab +# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.readwrite.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.braces.begin.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab +# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab +# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.begin.matlab +# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.cell.literal.matlab string.quoted.single.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.braces.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.end.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.end.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab keyword.operator.assignment.matlab @@ -142,21 +145,24 @@ # ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab storage.type.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.begin.matlab -# ^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab -# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab -# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab -# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab -# ^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab +# ^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab entity.name.function.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.begin.matlab +# ^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.readwrite.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.brackets.begin.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab +# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab +# ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab punctuation.separator.comma.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.begin.matlab +# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab meta.brackets.matlab string.quoted.double.matlab punctuation.definition.string.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.brackets.end.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.end.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.end.matlab > end #^^^^ source.matlab meta.function.matlab meta.arguments.matlab @@ -177,11 +183,13 @@ # ^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab storage.type.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab # ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab punctuation.section.block.begin.matlab -# ^^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab -# ^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.readwrite.matlab -# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab punctuation.accessor.dot.matlab -# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab variable.other.property.matlab -# ^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab +# ^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab entity.name.function.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.begin.matlab +# ^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.readwrite.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.accessor.dot.matlab +# ^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab variable.other.property.matlab +# ^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.function-call.parens.matlab punctuation.section.parens.end.matlab +# ^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab # ^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.continuation.line.matlab punctuation.separator.continuation.line.matlab # ^^^^^^^^^^^^^^^^^^ source.matlab meta.function.matlab meta.arguments.matlab meta.assignment.definition.property.matlab meta.block.validation.matlab meta.continuation.line.matlab comment.continuation.line.matlab > mustBeReal}