From d12d35b5901514dc17d54c89bb204be306cf336b Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Wed, 7 Jul 2021 12:25:57 +0200
Subject: [PATCH] add ast file type

---
 .../tooling/grammar/GrammarFileType.java      |  6 +--
 .../tooling/grammar/RelAstFileType.java       | 42 +++++++++++++++++++
 src/main/resources/META-INF/plugin.xml        |  4 +-
 3 files changed, 48 insertions(+), 4 deletions(-)
 create mode 100644 src/main/java/org/jastadd/tooling/grammar/RelAstFileType.java

diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarFileType.java b/src/main/java/org/jastadd/tooling/grammar/GrammarFileType.java
index f73d87b..fd040ba 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarFileType.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarFileType.java
@@ -18,19 +18,19 @@ public class GrammarFileType extends LanguageFileType {
   @NotNull
   @Override
   public String getName() {
-    return "RelAst Grammar";
+    return "JastAdd Grammar";
   }
 
   @NotNull
   @Override
   public String getDescription() {
-    return "Relational RAG Grammar";
+    return "JastAdd RAG Grammar";
   }
 
   @NotNull
   @Override
   public String getDefaultExtension() {
-    return "relast";
+    return "ast";
   }
 
   @Nullable
diff --git a/src/main/java/org/jastadd/tooling/grammar/RelAstFileType.java b/src/main/java/org/jastadd/tooling/grammar/RelAstFileType.java
new file mode 100644
index 0000000..0eaedb0
--- /dev/null
+++ b/src/main/java/org/jastadd/tooling/grammar/RelAstFileType.java
@@ -0,0 +1,42 @@
+package org.jastadd.tooling.grammar;
+
+import com.intellij.openapi.fileTypes.LanguageFileType;
+import org.jastadd.tooling.util.JastAddIcons;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import javax.swing.*;
+
+public class RelAstFileType extends LanguageFileType {
+
+  public static final RelAstFileType INSTANCE = new RelAstFileType();
+
+  private RelAstFileType() {
+    super(Grammar.INSTANCE);
+  }
+
+  @NotNull
+  @Override
+  public String getName() {
+    return "RelAst Grammar";
+  }
+
+  @NotNull
+  @Override
+  public String getDescription() {
+    return "Relational RAG Grammar";
+  }
+
+  @NotNull
+  @Override
+  public String getDefaultExtension() {
+    return "relast";
+  }
+
+  @Nullable
+  @Override
+  public Icon getIcon() {
+    return JastAddIcons.FILE;
+  }
+
+}
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 2f23944..5b1ae81 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -11,7 +11,9 @@
 
     <extensions defaultExtensionNs="com.intellij">
         <!-- Add your extensions here -->
-        <fileType name="RelAst Grammar" implementationClass="org.jastadd.tooling.grammar.GrammarFileType"
+        <fileType name="JastAdd Grammar" implementationClass="org.jastadd.tooling.grammar.GrammarFileType"
+                  fieldName="INSTANCE" language="JastAddGrammar" extensions="ast"/>
+        <fileType name="RelAst Grammar" implementationClass="org.jastadd.tooling.grammar.RelAstFileType"
                   fieldName="INSTANCE" language="JastAddGrammar" extensions="relast"/>
         <lang.parserDefinition language="JastAddGrammar"
                                implementationClass="org.jastadd.tooling.grammar.parser.GrammarParserDefinition"/>
-- 
GitLab