branch: externals/matlab-mode
commit 20f4eab6203fc1abe4127625a03c20c24574f1cc
Author: John Ciolfi <[email protected]>
Commit: John Ciolfi <[email protected]>

    matlab-ts-mode: add more tests for indent alignments
---
 .../electric_indent_align_assignments.m            |  6 +++++
 .../electric_indent_align_assignments_expected.m   |  6 +++++
 ...ectric_indent_align_assignments_expected_msgs.m |  6 +++++
 .../electric_indent_trailing_comments.m            |  7 +++++
 .../electric_indent_trailing_comments_expected.m   |  7 +++++
 ...ectric_indent_trailing_comments_expected_msgs.m |  7 +++++
 .../electric_indent_align_assignments.m            |  6 +++++
 .../electric_indent_align_assignments_expected.txt | 28 ++++++++++++++++++--
 .../electric_indent_trailing_comments.m            |  7 +++++
 .../electric_indent_trailing_comments_expected.txt | 30 ++++++++++++++++++++--
 10 files changed, 106 insertions(+), 4 deletions(-)

diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
index 0093d1a725..e7b52cadbb 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
@@ -31,3 +31,9 @@ g = foo(1,2,3);
 x = 2;
   y = 3;
    z = x * y;
+
+% The a(d("=")) = 1; statement is not aligned because of the use of an equal 
in a string "="
+  foo = 1;
+   d = dictionary("=", 1);
+     other = 2;
+a(d("=")) = 1;
diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.m
index 3ec2af61bc..2bb3384798 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.m
@@ -31,3 +31,9 @@ g          = foo(1, 2, 3);
 x = 2;
 y = 3;
 z = x * y;
+
+% The a(d("=")) = 1; statement is not aligned because of the use of an equal 
in a string "="
+foo   = 1;
+d     = dictionary("=", 1);
+other = 2;
+a(d("=")) = 1;
diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected_msgs.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected_msgs.m
index fded9249f0..aadfa45f24 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected_msgs.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected_msgs.m
@@ -31,3 +31,9 @@ g          = foo(1, 2, 3); %  <{Matched rule: 
(matlab-ts-mode--i-top-level matla
 x = 2; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
 y = 3; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
 z = x * y; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+
+% The a(d("=")) = 1; statement is not aligned because of the use of an equal 
in a string "=" %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+foo   = 1; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+d     = dictionary("=", 1); %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+other = 2; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+a(d("=")) = 1; %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
index 4eb1771748..01695fc0b8 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
@@ -10,3 +10,10 @@
 
   a(1,2) = [1, 2, 3]; % comment
    b(1,2) = 1; % commnet
+
+% We don't align the trailing comments in the following becaue of the "%" in 
the string
+% matlab-ts-mode could be updated to handle this case, but it's likely rare.
+
+  foo = 1; % comment 1
+   d = dictionary("%", 1); % comment 2
+a(d("%")) = [1, 2, 3]; % comment 3
diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.m
index 1ffbd6c382..8fe69c4da7 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.m
@@ -10,3 +10,10 @@ b   = 3;            % comment
 
 a(1, 2) = [1, 2, 3]; % comment
 b(1, 2) = 1;         % commnet
+
+% We don't align the trailing comments in the following becaue of the "%" in 
the string
+% matlab-ts-mode could be updated to handle this case, but it's likely rare.
+
+foo       = 1; % comment 1
+d         = dictionary("%", 1); % comment 2
+a(d("%")) = [1, 2, 3]; % comment 3
diff --git 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected_msgs.m
 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected_msgs.m
index 0e6667d50d..42888e5597 100644
--- 
a/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected_msgs.m
+++ 
b/tests/test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected_msgs.m
@@ -10,3 +10,10 @@ b   = 3;            % comment %  <{Matched rule: 
(matlab-ts-mode--i-top-level ma
 
 a(1, 2) = [1, 2, 3]; % comment %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
 b(1, 2) = 1;         % commnet %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+
+% We don't align the trailing comments in the following becaue of the "%" in 
the string %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+% matlab-ts-mode could be updated to handle this case, but it's likely rare. % 
 <{Matched rule: (matlab-ts-mode--i-block-comment-end-matcher parent 0)}>
+
+foo       = 1; % comment 1 %  <{Matched rule: (matlab-ts-mode--i-top-level 
matlab-ts-mode--column-0 0)}>
+d         = dictionary("%", 1); % comment 2 %  <{Matched rule: 
(matlab-ts-mode--i-top-level matlab-ts-mode--column-0 0)}>
+a(d("%")) = [1, 2, 3]; % comment 3 %  <{Matched rule: 
(matlab-ts-mode--i-top-level matlab-ts-mode--column-0 0)}>
diff --git 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
index 0093d1a725..e7b52cadbb 100644
--- 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
+++ 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments.m
@@ -31,3 +31,9 @@ g = foo(1,2,3);
 x = 2;
   y = 3;
    z = x * y;
+
+% The a(d("=")) = 1; statement is not aligned because of the use of an equal 
in a string "="
+  foo = 1;
+   d = dictionary("=", 1);
+     other = 2;
+a(d("=")) = 1;
diff --git 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.txt
 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.txt
index 11e41ad641..d302b2c817 100644
--- 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.txt
+++ 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_align_assignments_expected.txt
@@ -1,5 +1,5 @@
 # -*- t-utils-ts-parse-tree -*-
-(source_file<1,657> (comment[1,20]@{% -*- matlab-ts -*-}@) (comment[22,57]@{% 
Consecuitvie assignment alignment}@) (comment[59,294]@{% t-utils-test-indent: 
no-line-by-line-indent - wh...}@)
+(source_file<1,820> (comment[1,20]@{% -*- matlab-ts -*-}@) (comment[22,57]@{% 
Consecuitvie assignment alignment}@) (comment[59,294]@{% t-utils-test-indent: 
no-line-by-line-indent - wh...}@)
  (assignment<296,302> left: (identifier[296,297]@{a}@) =[298,299] right: 
(number[300,302]@{10}@))
  ;[302,303]
  (assignment<308,333> left: (identifier[308,321]@{bLongVariable}@) =[322,323]
@@ -77,4 +77,28 @@
  ;[641,642]
  (assignment<646,655> left: (identifier[646,647]@{z}@) =[648,649]
   right: (binary_operator<650,655> left: (identifier[650,651]@{x}@) *[652,653] 
right: (identifier[654,655]@{y}@)))
- ;[655,656] \n[656,657])
+ ;[655,656] (comment[658,750]@{% The a(d("=")) = 1; statement is not aligned 
beca...}@)
+ (assignment<753,760> left: (identifier[753,756]@{foo}@) =[757,758] right: 
(number[759,760]@{1}@))
+ ;[760,761]
+ (assignment<765,787> left: (identifier[765,766]@{d}@) =[767,768]
+  right: 
+   (function_call<769,787> name: (identifier[769,779]@{dictionary}@) ([779,780]
+    (arguments<780,786>
+     argument: (string<780,783> "[780,781] (string_content[781,782]@{=}@) 
"[782,783])
+     ,[783,784] (number[785,786]@{1}@))
+    )[786,787]))
+ ;[787,788]
+ (assignment<794,803> left: (identifier[794,799]@{other}@) =[800,801] right: 
(number[802,803]@{2}@))
+ ;[803,804]
+ (assignment<805,818>
+  left: 
+   (function_call<805,814> name: (identifier[805,806]@{a}@) ([806,807]
+    (arguments<807,813>
+     argument: 
+      (function_call<807,813> name: (identifier[807,808]@{d}@) ([808,809]
+       (arguments<809,812>
+        argument: (string<809,812> "[809,810] (string_content[810,811]@{=}@) 
"[811,812]))
+       )[812,813]))
+    )[813,814])
+  =[815,816] right: (number[817,818]@{1}@))
+ ;[818,819] \n[819,820])
diff --git 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
index 4eb1771748..01695fc0b8 100644
--- 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
+++ 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments.m
@@ -10,3 +10,10 @@
 
   a(1,2) = [1, 2, 3]; % comment
    b(1,2) = 1; % commnet
+
+% We don't align the trailing comments in the following becaue of the "%" in 
the string
+% matlab-ts-mode could be updated to handle this case, but it's likely rare.
+
+  foo = 1; % comment 1
+   d = dictionary("%", 1); % comment 2
+a(d("%")) = [1, 2, 3]; % comment 3
diff --git 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.txt
 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.txt
index 24bc4fb910..853651099e 100644
--- 
a/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.txt
+++ 
b/tests/test-matlab-ts-mode-parser-files/copy-of-test-matlab-ts-mode-electric-indent-files/electric_indent_trailing_comments_expected.txt
@@ -1,5 +1,5 @@
 # -*- t-utils-ts-parse-tree -*-
-(source_file<1,270> (comment[1,20]@{% -*- matlab-ts -*-}@) (comment[22,111]@{% 
t-utils-test-indent: no-line-by-line-indent - ne...}@)
+(source_file<1,534> (comment[1,20]@{% -*- matlab-ts -*-}@) (comment[22,111]@{% 
t-utils-test-indent: no-line-by-line-indent - ne...}@)
  (assignment<116,121> left: (identifier[116,117]@{x}@) =[118,119] right: 
(number[120,121]@{1}@))
  ;[121,122] (comment[123,132]@{% comment}@)
  (assignment<135,153> left: (identifier[135,138]@{foo}@) =[139,140]
@@ -27,4 +27,30 @@
     (arguments<250,253> argument: (number[250,251]@{1}@) ,[251,252] 
(number[252,253]@{2}@))
     )[253,254])
   =[255,256] right: (number[257,258]@{1}@))
- ;[258,259] (comment[260,269]@{% commnet}@) \n[269,270])
+ ;[258,259] (comment[260,269]@{% commnet}@) (comment[271,435]@{% We don't 
align the trailing comments in the foll...}@)
+ (assignment<439,446> left: (identifier[439,442]@{foo}@) =[443,444] right: 
(number[445,446]@{1}@))
+ ;[446,447] (comment[448,459]@{% comment 1}@)
+ (assignment<463,485> left: (identifier[463,464]@{d}@) =[465,466]
+  right: 
+   (function_call<467,485> name: (identifier[467,477]@{dictionary}@) ([477,478]
+    (arguments<478,484>
+     argument: (string<478,481> "[478,479] (string_content[479,480]@{%}@) 
"[480,481])
+     ,[481,482] (number[483,484]@{1}@))
+    )[484,485]))
+ ;[485,486] (comment[487,498]@{% comment 2}@)
+ (assignment<499,520>
+  left: 
+   (function_call<499,508> name: (identifier[499,500]@{a}@) ([500,501]
+    (arguments<501,507>
+     argument: 
+      (function_call<501,507> name: (identifier[501,502]@{d}@) ([502,503]
+       (arguments<503,506>
+        argument: (string<503,506> "[503,504] (string_content[504,505]@{%}@) 
"[505,506]))
+       )[506,507]))
+    )[507,508])
+  =[509,510]
+  right: 
+   (matrix<511,520> [[511,512]
+    (row<512,519> (number[512,513]@{1}@) ,[513,514] (number[515,516]@{2}@) 
,[516,517] (number[518,519]@{3}@))
+    ][519,520]))
+ ;[520,521] (comment[522,533]@{% comment 3}@) \n[533,534])

Reply via email to