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 <[email protected]>
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
     //
 

Reply via email to