@@ -298,7 +298,7 @@ void AlignAnalyzer::AnalyzeArrayTableAlign(FormatState &f, std::vector<LuaSyntax
298298 std::size_t maxAlign = 0 ;
299299 auto &file = t.GetFile ();
300300 for (auto &table: arrayTable) {
301- if (file.CheckCurrentLineUnicodeBefore (table.GetTextRange (t).GetEndOffset ())) {
301+ if (file.CheckNonUniformCharBefore (table.GetTextRange (t).GetEndOffset ())) {
302302 return ;
303303 }
304304
@@ -320,9 +320,9 @@ void AlignAnalyzer::AnalyzeArrayTableAlign(FormatState &f, std::vector<LuaSyntax
320320 for (std::size_t i = 0 ; i < maxAlign; i++) {
321321 for (auto &tableFieldArray: arrayTableFieldVec) {
322322 if (i < tableFieldArray.size ()) {
323- auto text = tableFieldArray[i].GetText (t);
324- if (elementLength < text. size () ) {
325- elementLength = text. size () ;
323+ auto textLength = tableFieldArray[i].GetUtf8Length (t);
324+ if (elementLength < textLength ) {
325+ elementLength = textLength ;
326326 }
327327 group.push_back (tableFieldArray[i].GetFirstToken (t).GetIndex ());
328328 }
@@ -364,7 +364,7 @@ void AlignAnalyzer::ResolveAlignGroup(FormatState &f, std::size_t groupIndex, Al
364364 if (diff > 2 ) {
365365 allowAlign = true ;
366366 }
367- if (file.CheckCurrentLineUnicodeBefore (eq.GetTextRange (t).StartOffset )) {
367+ if (file.CheckNonUniformCharBefore (eq.GetTextRange (t).StartOffset )) {
368368 return ;
369369 }
370370 }
@@ -377,7 +377,7 @@ void AlignAnalyzer::ResolveAlignGroup(FormatState &f, std::size_t groupIndex, Al
377377 if (eq.IsToken (t)) {
378378 auto prev = eq.GetPrevToken (t);
379379 auto prevSpace = f.GetStyle ().space_around_assign_operator == SpaceAroundStyle::Always ? 2 : 1 ;
380- auto newPos = prev.GetTextRange (t). GetEndOffset () + prevSpace - node.GetTextRange (t). StartOffset ;
380+ auto newPos = prev.GetEndCol (t) + prevSpace - node.GetStartCol (t);
381381 if (newPos > maxDis) {
382382 maxDis = newPos;
383383 }
@@ -396,7 +396,7 @@ void AlignAnalyzer::ResolveAlignGroup(FormatState &f, std::size_t groupIndex, Al
396396 auto eq = node.GetChildToken (' =' , t);
397397 if (eq.IsToken (t)) {
398398 auto prev = eq.GetPrevToken (t);
399- if (file.CheckCurrentLineUnicodeBefore (eq.GetTextRange (t).StartOffset )) {
399+ if (file.CheckNonUniformCharBefore (eq.GetTextRange (t).StartOffset )) {
400400 return ;
401401 }
402402 auto prevSpace = f.GetStyle ().space_around_assign_operator == SpaceAroundStyle::Always ? 2 : 1 ;
@@ -434,7 +434,7 @@ void AlignAnalyzer::ResolveAlignGroup(FormatState &f, std::size_t groupIndex, Al
434434 for (auto i: group.SyntaxGroup ) {
435435 auto comment = LuaSyntaxNode (i);
436436 if (comment.IsToken (t)) {
437- if (file.CheckCurrentLineUnicodeBefore (comment.GetTextRange (t).StartOffset )) {
437+ if (file.CheckNonUniformCharBefore (comment.GetTextRange (t).StartOffset )) {
438438 return ;
439439 }
440440
@@ -637,9 +637,9 @@ void AlignAnalyzer::AnalyzeSimilarCallAlign(FormatState &f, std::vector<LuaSynta
637637 for (std::size_t i = 0 ; i < maxAlign; i++) {
638638 for (auto &args: argsVec) {
639639 if (i < args.size ()) {
640- auto text = args[i].GetText (t);
641- if (elementLength < text. size () ) {
642- elementLength = text. size () ;
640+ auto textLength = args[i].GetUtf8Length (t);
641+ if (elementLength < textLength ) {
642+ elementLength = textLength ;
643643 }
644644 group.push_back (args[i].GetFirstToken (t).GetIndex ());
645645 }
0 commit comments