You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2021/10/14 21:32:51 UTC

[royale-compiler] 02/02: formatter: insert-space-meta-attributes

This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 8221cc24372d2d6f69410a4ed10527083986b6c2
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Thu Oct 14 14:28:17 2021 -0700

    formatter: insert-space-meta-attributes
---
 .../java/org/apache/royale/formatter/FORMATTER.java    | 12 ++++++++++--
 .../apache/royale/formatter/config/Configuration.java  | 18 ++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
index 96ed5c8..04cff34 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
@@ -106,6 +106,7 @@ public class FORMATTER {
 	public boolean insertSpaceAfterFunctionKeywordForAnonymousFunctions = false;
 	public boolean insertSpaceBeforeAndAfterBinaryOperators = true;
 	public boolean insertSpaceAfterCommaDelimiter = true;
+	public boolean insertSpaceBetweenMetadataAttributes = true;
 	public boolean insertSpaceAtStartOfLineComment = true;
 	public int maxPreserveNewLines = 2;
 	public Semicolons semicolons = Semicolons.INSERT;
@@ -305,6 +306,7 @@ public class FORMATTER {
 			ignoreProblems = configuration.getIgnoreParsingProblems();
 			insertFinalNewLine = configuration.getInsertFinalNewLine();
 			insertSpaceAfterCommaDelimiter = configuration.getInsertSpaceAfterCommaDelimiter();
+			insertSpaceBetweenMetadataAttributes = configuration.getInsertSpaceBetweenMetadataAttributes();
 			insertSpaceAfterFunctionKeywordForAnonymousFunctions = configuration
 					.getInsertSpaceAfterFunctionKeywordForAnonymousFunctions();
 			insertSpaceAfterKeywordsInControlFlowStatements = configuration
@@ -1425,7 +1427,10 @@ public class FORMATTER {
 				case MetadataTokenTypes.TOKEN_ATTR_IMPLEMENTATION:
 				case MetadataTokenTypes.TOKEN_ATTR_OPERATOR_NS_QUALIFIER:
 					if (needsComma) {
-						builder.append(", ");
+						builder.append(",");
+						if (insertSpaceBetweenMetadataAttributes) {
+							builder.append(" ");
+						}
 					}
 					needsComma = true;
 					builder.append(metaToken.getText());
@@ -1440,7 +1445,10 @@ public class FORMATTER {
 					break;
 				case MetadataTokenTypes.TOKEN_STRING:
 					if (needsComma) {
-						builder.append(", ");
+						builder.append(",");
+						if (insertSpaceBetweenMetadataAttributes) {
+							builder.append(" ");
+						}
 					}
 					builder.append("\"");
 					builder.append(metaToken.getText());
diff --git a/formatter/src/main/java/org/apache/royale/formatter/config/Configuration.java b/formatter/src/main/java/org/apache/royale/formatter/config/Configuration.java
index 1b6699f..440be23 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/config/Configuration.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/config/Configuration.java
@@ -347,6 +347,24 @@ public class Configuration {
     }
 
     //
+    // 'insert-space-meta-attributes' option
+    //
+
+    private boolean insertSpaceBetweenMetadataAttributes = true;
+
+    public boolean getInsertSpaceBetweenMetadataAttributes()
+    {
+        return insertSpaceBetweenMetadataAttributes;
+    }
+
+    @Config
+    @Mapping("insert-space-meta-attributes")
+    public void setInsertSpaceBetweenMetadataAttributes(ConfigurationValue cv, boolean b)
+    {
+        this.insertSpaceBetweenMetadataAttributes = b;
+    }
+
+    //
     // 'insert-space-line-comment' option
     //