@@ -26,7 +26,13 @@ void SpaceAnalyzer::Analyze(FormatState &f, const LuaSyntaxTree &t) {
2626 break ;
2727 }
2828 case TK_CONCAT: {
29- SpaceAround (syntaxNode, t, f.GetStyle ().space_around_concat_operator ? 1 : 0 );
29+ if (!f.GetStyle ().space_around_concat_operator &&
30+ syntaxNode.GetPrevToken (t).GetTokenKind (t) != TK_NUMBER) {
31+ SpaceAround (syntaxNode, t, 0 );
32+ break ;
33+ }
34+
35+ SpaceAround (syntaxNode, t, 1 );
3036 break ;
3137 }
3238 case ' =' : {
@@ -146,7 +152,8 @@ void SpaceAnalyzer::ComplexAnalyze(FormatState &f, const LuaSyntaxTree &t) {
146152 case LuaSyntaxNodeKind::CallExpression: {
147153 auto leftBrace = syntaxNode.GetChildToken (' (' , t);
148154 if (leftBrace.IsToken (t)) {
149- if (f.GetStyle ().space_inside_function_call_parentheses && leftBrace.GetNextToken (t).GetTokenKind (t) != ' )' ) {
155+ if (f.GetStyle ().space_inside_function_call_parentheses &&
156+ leftBrace.GetNextToken (t).GetTokenKind (t) != ' )' ) {
150157 auto rightBrace = syntaxNode.GetChildToken (' )' , t);
151158 SpaceRight (leftBrace, t, 1 );
152159 SpaceLeft (rightBrace, t, 1 );
@@ -186,7 +193,8 @@ void SpaceAnalyzer::ComplexAnalyze(FormatState &f, const LuaSyntaxTree &t) {
186193 }
187194 case FunctionSingleArgSpace::OnlyString: {
188195 auto firstToken = syntaxNode.GetFirstToken (t);
189- if (firstToken.GetTokenKind (t) == TK_STRING || firstToken.GetTokenKind (t) == TK_LONG_STRING) {
196+ if (firstToken.GetTokenKind (t) == TK_STRING ||
197+ firstToken.GetTokenKind (t) == TK_LONG_STRING) {
190198 SpaceLeft (syntaxNode, t, 1 );
191199 } else {
192200 SpaceLeft (syntaxNode, t, 0 );
@@ -211,7 +219,8 @@ void SpaceAnalyzer::ComplexAnalyze(FormatState &f, const LuaSyntaxTree &t) {
211219 }
212220 case LuaSyntaxNodeKind::TableExpression: {
213221 auto leftCurly = syntaxNode.GetChildToken (' {' , t);
214- if (leftCurly.GetNextToken (t).GetTokenKind (t) != ' }' && f.GetStyle ().space_around_table_field_list ) {
222+ if (leftCurly.GetNextToken (t).GetTokenKind (t) != ' }' &&
223+ f.GetStyle ().space_around_table_field_list ) {
215224 SpaceRight (leftCurly, t, 1 );
216225 auto rightCurly = syntaxNode.GetChildToken (' }' , t);
217226 SpaceLeft (rightCurly, t, 1 );
@@ -236,7 +245,10 @@ void SpaceAnalyzer::ComplexAnalyze(FormatState &f, const LuaSyntaxTree &t) {
236245 } else {
237246 auto tokenKindAfterSquareBracket = leftSquareBracket.GetNextToken (t).GetTokenKind (t);
238247 auto tokenKindBeforeSquareBracket = rightSquareBracket.GetPrevToken (t).GetTokenKind (t);
239- if (tokenKindAfterSquareBracket == TK_LONG_STRING || tokenKindAfterSquareBracket == TK_LONG_COMMENT || tokenKindBeforeSquareBracket == TK_LONG_COMMENT || tokenKindBeforeSquareBracket == TK_LONG_STRING) {
248+ if (tokenKindAfterSquareBracket == TK_LONG_STRING ||
249+ tokenKindAfterSquareBracket == TK_LONG_COMMENT ||
250+ tokenKindBeforeSquareBracket == TK_LONG_COMMENT ||
251+ tokenKindBeforeSquareBracket == TK_LONG_STRING) {
240252 SpaceRight (leftSquareBracket, t, 1 );
241253 SpaceLeft (rightSquareBracket, t, 1 );
242254 }
@@ -251,7 +263,10 @@ void SpaceAnalyzer::ComplexAnalyze(FormatState &f, const LuaSyntaxTree &t) {
251263 if (exprs.size () == 2 ) {
252264 auto leftExpr = exprs[0 ];
253265 auto rightExpr = exprs[1 ];
254- if (leftExpr.GetSyntaxKind (t) == LuaSyntaxNodeKind::UnaryExpression && leftExpr.GetChildToken (' #' , t).IsToken (t) && rightExpr.GetSyntaxKind (t) == LuaSyntaxNodeKind::LiteralExpression && rightExpr.GetText (t) == " 1" ) {
266+ if (leftExpr.GetSyntaxKind (t) == LuaSyntaxNodeKind::UnaryExpression &&
267+ leftExpr.GetChildToken (' #' , t).IsToken (t) &&
268+ rightExpr.GetSyntaxKind (t) == LuaSyntaxNodeKind::LiteralExpression &&
269+ rightExpr.GetText (t) == " 1" ) {
255270 SpaceAround (plus, t, 0 );
256271 }
257272 }
0 commit comments