diff --git a/build.gradle.kts b/build.gradle.kts index 7810d31ee16be8aed0338be9eca4e75fd5f12b75..8e1dccd10b5bd3db959de7104ddbc8c049f20a1e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ import io.gitlab.arturbosch.detekt.Detekt import org.jetbrains.changelog.markdownToHTML -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.grammarkit.tasks.GenerateLexer import org.jetbrains.grammarkit.tasks.GenerateParser +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile fun properties(key: String) = project.findProperty(key).toString() @@ -119,7 +119,6 @@ tasks { purgeOldFiles = true } - compileJava { dependsOn(generateGrammarLexer) dependsOn(generateGrammarParser) diff --git a/src/main/grammar/Grammar.bnf b/src/main/grammar/Grammar.bnf index d3a722a46ea0aa0227ac494321fca8425a40150e..5de306140c7aea29b0cc1fa45f6eb812fe8a9680 100644 --- a/src/main/grammar/Grammar.bnf +++ b/src/main/grammar/Grammar.bnf @@ -3,7 +3,7 @@ extends="com.intellij.extapi.psi.ASTWrapperPsiElement" - psiClassPrefix="RelAstGrammar" + psiClassPrefix="Grammar" psiImplClassSuffix="Impl" psiPackage="org.jastadd.tooling.grammar.psi" psiImplPackage="org.jastadd.tooling.grammar.psi.impl" @@ -12,10 +12,10 @@ elementTypeClass="org.jastadd.tooling.grammar.psi.GrammarElementType" tokenTypeClass="org.jastadd.tooling.grammar.psi.GrammarTokenType" - psiImplUtilClass="org.jastadd.tooling.grammar.psi.impl.RelAstGrammarPsiImplUtil" + psiImplUtilClass="org.jastadd.tooling.grammar.psi.impl.GrammarPsiImplUtil" } -relAstGrammarFile ::= comment* ((type_decl | relation) comment*)* +GrammarFile ::= comment* ((type_decl | relation) comment*)* comment ::= (WHITESPACE | MULTILINECOMMENT | DOCCOMMENT | SINGLELINECOMMENT) diff --git a/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java b/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java index 55c9f55c72f05518bbe6b82ea84f161d091ce1f0..62cf3ab1de30577aaf7f4d84b3d5c253beeead3a 100644 --- a/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java +++ b/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java @@ -12,8 +12,8 @@ import com.intellij.psi.TokenType; import com.intellij.psi.tree.IFileElementType; import com.intellij.psi.tree.TokenSet; import org.jastadd.tooling.aspect.Aspect; -import org.jastadd.tooling.aspect.psi.AspectFile; import org.jastadd.tooling.aspect.lexer.AspectLexerAdapter; +import org.jastadd.tooling.aspect.psi.AspectFile; import org.jastadd.tooling.aspect.psi.AspectTypes; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java b/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java index 79158f2435b9b5c7b382945f78cfe1778c8e99cb..0b52749bf151f05c3674f5a86eece58421d4fdcc 100644 --- a/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java +++ b/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java @@ -1,8 +1,8 @@ package org.jastadd.tooling.aspect.psi; import com.intellij.extapi.psi.PsiFileBase; - import com.intellij.openapi.fileTypes.FileType; - import com.intellij.psi.FileViewProvider; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.psi.FileViewProvider; import org.jastadd.tooling.aspect.Aspect; import org.jastadd.tooling.aspect.AttributeFileType; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/org/jastadd/tooling/grammar/Grammar.java b/src/main/java/org/jastadd/tooling/grammar/Grammar.java index c6865ecb5aa221dcb536e8fc5be71f5268e7a827..aa4a62717641aacad8fe7af00c7d5f28cc982d70 100644 --- a/src/main/java/org/jastadd/tooling/grammar/Grammar.java +++ b/src/main/java/org/jastadd/tooling/grammar/Grammar.java @@ -1,6 +1,8 @@ package org.jastadd.tooling.grammar; -public class Grammar extends com.intellij.lang.Language { +import com.intellij.lang.Language; + +public class Grammar extends Language { public static final Grammar INSTANCE = new Grammar(); diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java b/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java index a64502800b7373ca891c1fed67443f82d87de52a..67973459c048ce172a6698f080e7c46ecb1678f5 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java @@ -3,20 +3,21 @@ package org.jastadd.tooling.grammar; import com.intellij.codeInspection.ProblemHighlightType; import com.intellij.lang.annotation.AnnotationHolder; +import com.intellij.lang.annotation.Annotator; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.editor.DefaultLanguageHighlighterColors; import com.intellij.psi.PsiElement; -import org.jastadd.tooling.grammar.psi.RelAstGrammarComponent; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference; +import org.jastadd.tooling.grammar.psi.GrammarComponent; +import org.jastadd.tooling.grammar.psi.GrammarTypeReference; import org.jetbrains.annotations.NotNull; -public class GrammarAnnotator implements com.intellij.lang.annotation.Annotator { +public class GrammarAnnotator implements Annotator { @Override public void annotate(@NotNull final PsiElement element, @NotNull AnnotationHolder holder) { - if (element instanceof RelAstGrammarComponent) { - RelAstGrammarComponent component = (RelAstGrammarComponent) element; + if (element instanceof GrammarComponent) { + GrammarComponent component = (GrammarComponent) element; if (component.getTypeReference() != null && component.getDeclaredName() != null) { String name = component.getDeclaredName().getText(); if (name != null && !name.equals("") && name.equals(component.getTypeReference().getName())) { @@ -29,8 +30,8 @@ public class GrammarAnnotator implements com.intellij.lang.annotation.Annotator .create(); } } - } else if (element instanceof RelAstGrammarTypeReference) { - RelAstGrammarTypeReference reference = (RelAstGrammarTypeReference) element; + } else if (element instanceof GrammarTypeReference) { + GrammarTypeReference reference = (GrammarTypeReference) element; if (GrammarUtil.findTypeDecl(element.getProject(), reference.getName()).isEmpty()) { holder.newAnnotation(HighlightSeverity.ERROR, "Undefined reference") .range(element.getTextRange()) diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java b/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java index 825a9e6d4610a05960ed3365266e98d466bf668b..8dffa81c4323d72b88fcb0403ab967e1f7e93948 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java @@ -22,12 +22,12 @@ public class GrammarBlock extends AbstractBlock { } @Override - protected List<com.intellij.formatting.Block> buildChildren() { - List<com.intellij.formatting.Block> blocks = new ArrayList<>(); + protected List<Block> buildChildren() { + List<Block> blocks = new ArrayList<>(); ASTNode child = myNode.getFirstChildNode(); while (child != null) { if (child.getElementType() != TokenType.WHITE_SPACE) { - com.intellij.formatting.Block block = new GrammarBlock(child, Wrap.createWrap(WrapType.NONE, false), Alignment.createAlignment(), + Block block = new GrammarBlock(child, Wrap.createWrap(WrapType.NONE, false), Alignment.createAlignment(), spacingBuilder); blocks.add(block); } @@ -43,7 +43,7 @@ public class GrammarBlock extends AbstractBlock { @Nullable @Override - public Spacing getSpacing(@Nullable com.intellij.formatting.Block child1, @NotNull com.intellij.formatting.Block child2) { + public Spacing getSpacing(@Nullable Block child1, @NotNull Block child2) { return spacingBuilder.getSpacing(this, child1, child2); } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java index 61f5d1a6fdecc4c0edfd3fd7690c218e4092538f..972038e20013dd367a138c5f42546301843a3235 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java @@ -1,21 +1,22 @@ package org.jastadd.tooling.grammar; +import com.intellij.navigation.ChooseByNameContributor; import com.intellij.navigation.NavigationItem; import com.intellij.openapi.project.Project; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; -public class GrammarChooseByNameContributor implements com.intellij.navigation.ChooseByNameContributor { +public class GrammarChooseByNameContributor implements ChooseByNameContributor { @NotNull @Override public String @NotNull [] getNames(Project project, boolean includeNonProjectItems) { - List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project); + List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project); List<String> names = new ArrayList<>(typeDecls.size()); - for (RelAstGrammarTypeDecl typeDecl : typeDecls) { + for (GrammarTypeDecl typeDecl : typeDecls) { if (typeDecl.getName() != null && typeDecl.getName().length() > 0) { names.add(typeDecl.getName()); } @@ -27,7 +28,7 @@ public class GrammarChooseByNameContributor implements com.intellij.navigation.C @Override public NavigationItem @NotNull [] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) { // TODO: include non project items - List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, name); + List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, name); return typeDecls.toArray(new NavigationItem[0]); } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java index 730401c71cf0dde4081192f755bf330eca46c01b..1d1e1fb0aa80a0cecaacb2ad9e12def1c41838c1 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java @@ -1,12 +1,12 @@ package org.jastadd.tooling.grammar; import com.intellij.psi.codeStyle.CodeStyleSettings; - import com.intellij.psi.codeStyle.CustomCodeStyleSettings; +import com.intellij.psi.codeStyle.CustomCodeStyleSettings; public class GrammarCodeStyleSettings extends CustomCodeStyleSettings { public GrammarCodeStyleSettings(CodeStyleSettings settings) { - super("RelAstGrammarCodeStyleSettings", settings); + super("GrammarCodeStyleSettings", settings); } } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java index 1f5150ade7e64e6a74b1d4e05f5a188c12dc9e5c..b41b930703d7c7bafd91c80687edc0c3aa2b28e0 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java @@ -1,14 +1,14 @@ package org.jastadd.tooling.grammar; import com.intellij.application.options.CodeStyleAbstractConfigurable; - import com.intellij.application.options.CodeStyleAbstractPanel; - import com.intellij.application.options.TabbedLanguageCodeStylePanel; - import com.intellij.psi.codeStyle.CodeStyleConfigurable; - import com.intellij.psi.codeStyle.CodeStyleSettings; - import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; - import com.intellij.psi.codeStyle.CustomCodeStyleSettings; - import org.jetbrains.annotations.NotNull; - import org.jetbrains.annotations.Nullable; +import com.intellij.application.options.CodeStyleAbstractPanel; +import com.intellij.application.options.TabbedLanguageCodeStylePanel; +import com.intellij.psi.codeStyle.CodeStyleConfigurable; +import com.intellij.psi.codeStyle.CodeStyleSettings; +import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; +import com.intellij.psi.codeStyle.CustomCodeStyleSettings; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class GrammarCodeStyleSettingsProvider extends CodeStyleSettingsProvider { diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java index 641e230a25666067ff16e3a5af765098ff2e1be0..6d414e9f289db6597365e4f7fc6682b7a356af3d 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java @@ -2,7 +2,7 @@ package org.jastadd.tooling.grammar; import com.intellij.lang.Commenter; - import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Nullable; public class GrammarCommenter implements Commenter { diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java index d99a87af62575e278205a8ee3009f5a8ea3e2804..ee356908fe4ccce7cab89dec9c3fe41251744209 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java @@ -4,11 +4,11 @@ import com.intellij.codeInsight.completion.*; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.patterns.PlatformPatterns; import com.intellij.util.ProcessingContext; -import org.jastadd.tooling.util.JastAddIcons; import org.jastadd.tooling.grammar.parser.GrammarTypes; import org.jastadd.tooling.grammar.psi.GrammarElementFactory; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; +import org.jastadd.tooling.grammar.psi.GrammarTypeReference; +import org.jastadd.tooling.util.JastAddIcons; import org.jetbrains.annotations.NotNull; public class GrammarCompletionContributor extends CompletionContributor { @@ -23,8 +23,8 @@ public class GrammarCompletionContributor extends CompletionContributor { public void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet resultSet) { - for (RelAstGrammarTypeDecl decl : GrammarUtil.findTypeDecl(parameters.getPosition().getProject())) { - RelAstGrammarTypeReference ref = GrammarElementFactory.createTypeReference(parameters.getPosition().getProject(), decl.getName()); + for (GrammarTypeDecl decl : GrammarUtil.findTypeDecl(parameters.getPosition().getProject())) { + GrammarTypeReference ref = GrammarElementFactory.createTypeReference(parameters.getPosition().getProject(), decl.getName()); resultSet.addElement(LookupElementBuilder.create(ref).withIcon(JastAddIcons.FILE).withTypeText(decl.getContainingFile().getName())); } } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java index 0cad9c8561c15f80cb11b57c0054394a1293d00c..a7c25433778e453ef234807e047eec3bdceca271 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java @@ -7,7 +7,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.tree.TokenSet; import org.jastadd.tooling.grammar.lexer.GrammarLexerAdapter; import org.jastadd.tooling.grammar.parser.GrammarTypes; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -25,7 +25,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider { @Override public boolean canFindUsagesFor(@NotNull PsiElement psiElement) { - return psiElement instanceof RelAstGrammarTypeDecl; // was: PsiNamedElement + return psiElement instanceof GrammarTypeDecl; // was: PsiNamedElement } @Nullable @@ -37,7 +37,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider { @NotNull @Override public String getType(@NotNull PsiElement element) { - if (element instanceof RelAstGrammarTypeDecl) { + if (element instanceof GrammarTypeDecl) { return "JastAdd Nonterminal Type"; } else { return ""; @@ -47,8 +47,8 @@ public class GrammarFindUsageProvider implements FindUsagesProvider { @NotNull @Override public String getDescriptiveName(@NotNull PsiElement element) { - if (element instanceof RelAstGrammarTypeDecl) { - RelAstGrammarTypeDecl decl = (RelAstGrammarTypeDecl) element; + if (element instanceof GrammarTypeDecl) { + GrammarTypeDecl decl = (GrammarTypeDecl) element; if (decl.getName() != null) { return decl.getName(); } @@ -59,7 +59,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider { @NotNull @Override public String getNodeText(@NotNull PsiElement element, boolean useFullName) { - if (element instanceof RelAstGrammarTypeDecl) { + if (element instanceof GrammarTypeDecl) { return element.getText(); } else { return ""; diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java index 49212b1eb271f9992e2554bfbf43997e6f5f85f6..06f77cbed468b5e51b388ed13d0748605dde44be 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java @@ -1,5 +1,6 @@ package org.jastadd.tooling.grammar; +import com.intellij.lang.Language; import com.intellij.psi.codeStyle.CodeStyleSettingsCustomizable; import com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider; import org.jetbrains.annotations.NotNull; @@ -8,7 +9,7 @@ public class GrammarLanguageCodeStyleSettingsProvider extends LanguageCodeStyleS @NotNull @Override - public com.intellij.lang.Language getLanguage() { + public Language getLanguage() { return Grammar.INSTANCE; } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java index 47b14ea988e752a37daf072021548c005a0aefb2..169e72996d265f3e821121eb368287295823b17b 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java @@ -6,8 +6,8 @@ import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiIdentifier; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; import org.jastadd.tooling.util.JastAddIcons; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -33,7 +33,7 @@ public class GrammarLineMarkerProvider extends RelatedItemLineMarkerProvider { } // Get the list of typeDecls for given key - List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(element.getProject(), classOptional.get().getName()); + List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(element.getProject(), classOptional.get().getName()); if (!typeDecls.isEmpty()) { NavigationGutterIconBuilder<PsiElement> builder = NavigationGutterIconBuilder.create(JastAddIcons.FILE) diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java index dfff3bf8dad02d91548b449268a4a323a2cb5159..1e70ce549ffe5b03a1befa41a162fb785ad77224 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java @@ -3,8 +3,8 @@ package org.jastadd.tooling.grammar; import com.intellij.lang.refactoring.RefactoringSupportProvider; import com.intellij.psi.PsiElement; -import org.jastadd.tooling.grammar.psi.RelAstGrammarDeclaredName; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference; +import org.jastadd.tooling.grammar.psi.GrammarDeclaredName; +import org.jastadd.tooling.grammar.psi.GrammarTypeReference; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -14,7 +14,7 @@ public class GrammarRefactoringSupportProvider extends RefactoringSupportProvide public boolean isMemberInplaceRenameAvailable(@NotNull PsiElement elementToRename, @Nullable PsiElement context) { // in-place rename is still not available since not all requirements are met // see https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006918740-How-do-I-enable-in-place-rename-Renaming-via-dialog-works-fine- - return (elementToRename instanceof RelAstGrammarDeclaredName) || (elementToRename instanceof RelAstGrammarTypeReference); + return (elementToRename instanceof GrammarDeclaredName) || (elementToRename instanceof GrammarTypeReference); } } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java b/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java index 2cfaafa7abc8a0f072d8018c0aefb08db78ce3c2..3c6fc4b3afa6eb1eebe986362d90a88234f2f571 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java @@ -5,8 +5,8 @@ import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; import org.jastadd.tooling.util.JastAddIcons; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -26,9 +26,9 @@ public class GrammarReference extends PsiReferenceBase<PsiElement> implements Ps @Override public ResolveResult @NotNull [] multiResolve(boolean incompleteCode) { Project project = myElement.getProject(); - final List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, key); + final List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, key); List<ResolveResult> results = new ArrayList<>(); - for (RelAstGrammarTypeDecl typeDecl : typeDecls) { + for (GrammarTypeDecl typeDecl : typeDecls) { results.add(new PsiElementResolveResult(typeDecl)); } return results.toArray(new ResolveResult[0]); @@ -45,9 +45,9 @@ public class GrammarReference extends PsiReferenceBase<PsiElement> implements Ps @Override public Object @NotNull [] getVariants() { Project project = myElement.getProject(); - List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project); + List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project); List<LookupElement> variants = new ArrayList<>(); - for (final RelAstGrammarTypeDecl typeDecl : typeDecls) { + for (final GrammarTypeDecl typeDecl : typeDecls) { if (typeDecl.getName() != null && typeDecl.getName().length() > 0) { variants.add(LookupElementBuilder .create(typeDecl).withIcon(JastAddIcons.FILE) diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java index 99ec1b2f55a8bee80f1cba535f8616671cdaf98c..728058c2095b0c858788183b68779f0c64235d59 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java @@ -4,21 +4,21 @@ import com.intellij.openapi.util.TextRange; import com.intellij.patterns.PlatformPatterns; import com.intellij.psi.*; import com.intellij.util.ProcessingContext; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference; +import org.jastadd.tooling.grammar.psi.GrammarTypeReference; import org.jetbrains.annotations.NotNull; public class GrammarReferenceContributor extends PsiReferenceContributor { @Override public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) { - registrar.registerReferenceProvider(PlatformPatterns.psiElement(RelAstGrammarTypeReference.class), + registrar.registerReferenceProvider(PlatformPatterns.psiElement(GrammarTypeReference.class), new PsiReferenceProvider() { @NotNull @Override public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context) { - RelAstGrammarTypeReference typeReference = (RelAstGrammarTypeReference) element; + GrammarTypeReference typeReference = (GrammarTypeReference) element; String value = typeReference.getText(); if (value != null) { TextRange range = new TextRange(0, value.length()); diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java b/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java index 25bf8d1346a36eac5613f3fb7df4f6e632a4cf4b..b906a768ff0caa222424459a692b38577c53e7e5 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java @@ -7,14 +7,14 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; import org.jastadd.tooling.grammar.parser.GrammarTypes; -import org.jastadd.tooling.grammar.psi.RelAstGrammarComponent; +import org.jastadd.tooling.grammar.psi.GrammarComponent; import org.jetbrains.annotations.NotNull; public class GrammarRemoveRedundantComponentNameFix extends BaseIntentionAction { - private final RelAstGrammarComponent component; + private final GrammarComponent component; - public GrammarRemoveRedundantComponentNameFix(RelAstGrammarComponent component) { + public GrammarRemoveRedundantComponentNameFix(GrammarComponent component) { this.component = component; } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java b/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java index e0bf0348ceb82a311e22d481b5688608964865a3..013f45038624795ea4abcc49e9fa534ac8ceb7b1 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java @@ -8,8 +8,8 @@ import com.intellij.navigation.ItemPresentation; import com.intellij.psi.NavigatablePsiElement; import com.intellij.psi.util.PsiTreeUtil; import org.jastadd.tooling.grammar.psi.GrammarFile; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; -import org.jastadd.tooling.grammar.psi.impl.RelAstGrammarTypeDeclImpl; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; +import org.jastadd.tooling.grammar.psi.impl.GrammarTypeDeclImpl; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -61,10 +61,10 @@ public class GrammarStructureViewElement implements StructureViewTreeElement, So @Override public TreeElement @NotNull [] getChildren() { if (myElement instanceof GrammarFile) { - List<RelAstGrammarTypeDecl> properties = PsiTreeUtil.getChildrenOfTypeAsList(myElement, RelAstGrammarTypeDecl.class); + List<GrammarTypeDecl> properties = PsiTreeUtil.getChildrenOfTypeAsList(myElement, GrammarTypeDecl.class); List<TreeElement> treeElements = new ArrayList<>(properties.size()); - for (RelAstGrammarTypeDecl property : properties) { - treeElements.add(new GrammarStructureViewElement((RelAstGrammarTypeDeclImpl) property)); + for (GrammarTypeDecl property : properties) { + treeElements.add(new GrammarStructureViewElement((GrammarTypeDeclImpl) property)); } return treeElements.toArray(new TreeElement[0]); } diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java b/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java index 7f32eba9acf7d9be0d9c82045df9670ec33db571..9c4f0cfaef630597f805789cc6061adca844382e 100644 --- a/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java +++ b/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java @@ -10,7 +10,7 @@ import com.intellij.psi.search.FileTypeIndex; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; import org.jastadd.tooling.grammar.psi.GrammarFile; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl; +import org.jastadd.tooling.grammar.psi.GrammarTypeDecl; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -30,17 +30,17 @@ public class GrammarUtil { * @param name to check * @return matching TypeDecls */ - public static List<RelAstGrammarTypeDecl> findTypeDecl(Project project, String name) { - List<RelAstGrammarTypeDecl> result = new ArrayList<>(); + public static List<GrammarTypeDecl> findTypeDecl(Project project, String name) { + List<GrammarTypeDecl> result = new ArrayList<>(); Collection<VirtualFile> virtualFiles = FileTypeIndex.getFiles(GrammarFileType.INSTANCE, GlobalSearchScope.allScope(project)); for (VirtualFile virtualFile : virtualFiles) { GrammarFile simpleFile = (GrammarFile) PsiManager.getInstance(project).findFile(virtualFile); if (simpleFile != null) { // TODO check if file is ignored or generated! - RelAstGrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, RelAstGrammarTypeDecl.class); + GrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, GrammarTypeDecl.class); if (typeDecls != null) { - for (RelAstGrammarTypeDecl typeDecl : typeDecls) { + for (GrammarTypeDecl typeDecl : typeDecls) { if (name.equals(typeDecl.getName())) { result.add(typeDecl); } @@ -57,15 +57,15 @@ public class GrammarUtil { * @param project current project * @return all TypeDecls */ - public static List<RelAstGrammarTypeDecl> findTypeDecl(Project project) { - List<RelAstGrammarTypeDecl> result = new ArrayList<>(); + public static List<GrammarTypeDecl> findTypeDecl(Project project) { + List<GrammarTypeDecl> result = new ArrayList<>(); Collection<VirtualFile> virtualFiles = FileTypeIndex.getFiles(GrammarFileType.INSTANCE, GlobalSearchScope.allScope(project)); for (VirtualFile virtualFile : virtualFiles) { GrammarFile simpleFile = (GrammarFile) PsiManager.getInstance(project).findFile(virtualFile); if (simpleFile != null) { // TODO check if file is ignored or generated! - RelAstGrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, RelAstGrammarTypeDecl.class); + GrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, GrammarTypeDecl.class); if (typeDecls != null) { result.addAll(Arrays.asList(typeDecls)); } diff --git a/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java b/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java index 03533b56174029b329ddc3dece081bfc7f2abf1b..5f2ee175e52ac39418bc94f0a50c2d5e80ade941 100644 --- a/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java +++ b/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java @@ -16,6 +16,7 @@ import org.jastadd.tooling.grammar.lexer.GrammarLexerAdapter; import org.jastadd.tooling.grammar.psi.GrammarFile; import org.jetbrains.annotations.NotNull; + public class GrammarParserDefinition implements ParserDefinition { public static final TokenSet WHITE_SPACES = TokenSet.create(TokenType.WHITE_SPACE); diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java index 3d080708d233e8d6ded5bb5c326de2c96b4b310c..05a33fa932d60b0c1651b986c91e9c163a95430a 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java @@ -13,14 +13,14 @@ public class GrammarElementFactory { throw new IllegalStateException("Utility class"); } - public static RelAstGrammarDeclaredName createDeclaredName(Project project, String name) { + public static GrammarDeclaredName createDeclaredName(Project project, String name) { final GrammarFile file = createFile(project, name + ";"); - return (RelAstGrammarDeclaredName) file.getFirstChild().getFirstChild(); + return (GrammarDeclaredName) file.getFirstChild().getFirstChild(); } - public static RelAstGrammarTypeReference createTypeReference(Project project, String name) { + public static GrammarTypeReference createTypeReference(Project project, String name) { final GrammarFile file = createFile(project, "X : " + name + ";"); - return (RelAstGrammarTypeReference) (Objects.requireNonNull(file.getFirstChild().getNode().findChildByType(GrammarTypes.TYPE_REFERENCE)).getPsi()); + return (GrammarTypeReference) (Objects.requireNonNull(file.getFirstChild().getNode().findChildByType(GrammarTypes.TYPE_REFERENCE)).getPsi()); } public static GrammarFile createFile(Project project, String text) { diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java index c2a13eb1d1ee0826f4fa51c53593a5b571ad42a5..513555d8081086a7e07a3d8d56b45500d674d463 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java @@ -1,6 +1,7 @@ package org.jastadd.tooling.grammar.psi; import com.intellij.extapi.psi.PsiFileBase; +import com.intellij.openapi.fileTypes.FileType; import com.intellij.psi.FileViewProvider; import org.jastadd.tooling.grammar.Grammar; import org.jastadd.tooling.grammar.GrammarFileType; @@ -14,7 +15,7 @@ public class GrammarFile extends PsiFileBase { @NotNull @Override - public com.intellij.openapi.fileTypes.FileType getFileType() { + public FileType getFileType() { return GrammarFileType.INSTANCE; } diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java index 19c91f42e019714e82755a8164b31e8be41cfea9..80b18d7e5da37544fbb13e24dcea8572331daf8c 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java @@ -13,7 +13,7 @@ public class GrammarTokenType extends IElementType { @Override public String toString() { - return "RelAstGrammarTokenType." + super.toString(); + return "GrammarTokenType." + super.toString(); } } diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java index 4825b7d4bf6df99558c4116b98053307adf0ebf5..7ab2f70c6e8376f986224f54c36c08994fe70e80 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java @@ -7,7 +7,7 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class GrammarTypeReferenceManipulator extends AbstractElementManipulator<RelAstGrammarTypeReference> implements ElementManipulator<RelAstGrammarTypeReference> { +public class GrammarTypeReferenceManipulator extends AbstractElementManipulator<GrammarTypeReference> implements ElementManipulator<GrammarTypeReference> { /** * Changes the element's text to the given new text. * @@ -19,9 +19,9 @@ public class GrammarTypeReferenceManipulator extends AbstractElementManipulator< */ @Nullable @Override - public RelAstGrammarTypeReference handleContentChange(@NotNull RelAstGrammarTypeReference element, @NotNull TextRange range, String newContent) { + public GrammarTypeReference handleContentChange(@NotNull GrammarTypeReference element, @NotNull TextRange range, String newContent) { try { - return (RelAstGrammarTypeReference) element.setName(range.replace(element.getText(), newContent)); + return (GrammarTypeReference) element.setName(range.replace(element.getText(), newContent)); } catch (Exception e) { // e.g., in case the range is wrong throw new IncorrectOperationException(e); } diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java index 8b96481da17abea2668844bb1a834a4dba79687b..377ff8179cbbdd378ee06ab5f62c7c45664d50cb 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java @@ -5,8 +5,8 @@ import com.intellij.lang.ASTNode; import com.intellij.navigation.ItemPresentation; import com.intellij.psi.PsiReference; import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry; -import org.jastadd.tooling.util.JastAddIcons; import org.jastadd.tooling.grammar.psi.GrammarNamedElement; +import org.jastadd.tooling.util.JastAddIcons; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java index 9bc6712fa99c2bbc1bb044ece2c95244c1bbe327..8df00b485a450166dae96f9b694d23c09b97ed54 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java @@ -3,9 +3,9 @@ package org.jastadd.tooling.grammar.psi.impl; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement; import org.jastadd.tooling.grammar.parser.GrammarTypes; -import org.jastadd.tooling.grammar.psi.GrammarTypeDeclExtension; -import org.jastadd.tooling.grammar.psi.RelAstGrammarDeclaredName; +import org.jastadd.tooling.grammar.psi.GrammarDeclaredName; import org.jastadd.tooling.grammar.psi.GrammarElementFactory; +import org.jastadd.tooling.grammar.psi.GrammarTypeDeclExtension; import org.jetbrains.annotations.NotNull; public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implements GrammarTypeDeclExtension { @@ -27,7 +27,7 @@ public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implem public PsiElement setName(@NotNull String newName) { ASTNode keyNode = getNode().findChildByType(GrammarTypes.DECLARED_NAME); if (keyNode != null) { - RelAstGrammarDeclaredName name = GrammarElementFactory.createDeclaredName(getProject(), newName); + GrammarDeclaredName name = GrammarElementFactory.createDeclaredName(getProject(), newName); ASTNode newKeyNode = name.getNode(); getNode().replaceChild(keyNode, newKeyNode); } diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java index 380fbc1d7804b94f97ba727de3647107287b45c5..495e20e17f1a30459b97257765e10ea10126de23 100644 --- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java +++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java @@ -3,8 +3,8 @@ package org.jastadd.tooling.grammar.psi.impl; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement; import org.jastadd.tooling.grammar.psi.GrammarElementFactory; +import org.jastadd.tooling.grammar.psi.GrammarTypeReference; import org.jastadd.tooling.grammar.psi.GrammarTypeReferenceExtension; -import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference; import org.jetbrains.annotations.NotNull; public class GrammarTypeReferenceImplExtension extends GrammarNamedElementImpl implements GrammarTypeReferenceExtension { @@ -22,7 +22,7 @@ public class GrammarTypeReferenceImplExtension extends GrammarNamedElementImpl i // FIXME this can break the grammar when the type is used in an unnamed component (and in many other cases probably) ASTNode keyNode = getNode().getFirstChildNode(); if (keyNode != null) { - RelAstGrammarTypeReference name = GrammarElementFactory.createTypeReference(getProject(), newName); + GrammarTypeReference name = GrammarElementFactory.createTypeReference(getProject(), newName); ASTNode newKeyNode = name.getNode().getFirstChildNode(); getNode().replaceChild(keyNode, newKeyNode); } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 9da0c36d2e3fdf311a753a4d6736218f31ffd93b..43ea39d21e55eef0f5175ca2aec8dac64a4a6af9 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -36,7 +36,7 @@ <lang.refactoringSupport language="JastAddGrammar" implementationClass="org.jastadd.tooling.grammar.GrammarRefactoringSupportProvider"/> - <lang.elementManipulator forClass="org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference" + <lang.elementManipulator forClass="org.jastadd.tooling.grammar.psi.GrammarTypeReference" implementationClass="org.jastadd.tooling.grammar.psi.GrammarTypeReferenceManipulator"/> diff --git a/src/main/resources/icons/jastadd.svg b/src/main/resources/icons/jastadd.svg index 7dc548d169540cc791e35dba06da0d2c76be273e..34937dfa98890f97e751a941fc16f10b211a0d59 100644 --- a/src/main/resources/icons/jastadd.svg +++ b/src/main/resources/icons/jastadd.svg @@ -1,88 +1,87 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="16" - height="16" - id="svg4781" - version="1.1" - inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" - sodipodi:docname="jastadd.svg" - inkscape:export-filename="/home/jesper/bzr/jastadd-research/logotype/jastadd_200px.png" - inkscape:export-xdpi="49.240002" - inkscape:export-ydpi="49.240002"> - <defs - id="defs4783"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 454.65828 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 454.65828 : 1" - inkscape:persp3d-origin="372.04724 : 279.26458 : 1" - id="perspective4789" /> - <inkscape:perspective - id="perspective4768" - inkscape:persp3d-origin="0.5 : -71.189479 : 1" - inkscape:vp_z="1 : -71.022812 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : -71.022812 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="31.678384" - inkscape:cx="24.626583" - inkscape:cy="16.669221" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="2560" - inkscape:window-height="1406" - inkscape:window-x="0" - inkscape:window-y="18" - inkscape:window-maximized="1" - inkscape:document-rotation="0" /> - <metadata - id="metadata4786"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-185.85624,-382.86389)"> - <path - inkscape:tile-y0="331.74615" - inkscape:tile-x0="805.67645" - inkscape:tile-h="236.12934" - inkscape:tile-w="285.01443" - inkscape:tile-cy="449.81082" - inkscape:tile-cx="948.18366" - inkscape:export-ydpi="60.48" - inkscape:export-xdpi="60.48" - inkscape:export-filename="C:\Users\Jesper\Pictures\Inkscape\text4655.png" - id="path4837" - style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9830a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.413302;marker:none;enable-background:accumulate" - d="m 192.51835,398.49014 c 0.46797,0.0944 0.88748,0.12177 1.14886,-0.009 0.26139,-0.13045 0.31508,-0.16277 0.42235,-0.28982 0.10727,-0.12706 0.15312,-0.23676 0.19693,-0.40843 0.0439,-0.17165 0.0195,-0.81056 0.0139,-0.88117 -0.005,-0.0706 0.0467,-0.2021 0.0675,-0.25221 0.0389,-0.0938 0.11286,-0.19115 0.1589,-0.21643 0.0804,-0.0356 0.15378,-0.0646 0.37538,0.0176 0.27788,0.0832 1.36687,0.4716 1.9434,0.71318 0.45189,0.19675 0.81205,0.35613 0.94069,0.39718 0.20459,0.0701 0.25891,0.11011 0.36021,0.0816 0.10128,-0.0286 0.12277,-0.12742 0.16675,-0.26793 0.044,-0.14051 0.62773,-1.70104 0.82695,-2.19466 0.19933,-0.49357 0.2249,-0.57635 0.28714,-0.76598 0.0618,-0.1898 -0.005,-0.36353 -0.0924,-0.45392 -0.0872,-0.0904 -0.22949,-0.10291 -0.27145,-0.10222 -0.0419,5.5e-4 -0.32032,-0.0195 -0.46148,-0.0407 -0.19215,-0.029 -0.47053,-0.11965 -0.56311,-0.15549 -0.23628,-0.0916 -0.48103,-0.26386 -0.60199,-0.53086 -0.0885,-0.19537 -0.12683,-0.34898 -0.11868,-0.67429 0.007,-0.27537 0.0565,-0.55808 0.096,-0.71536 0.0397,-0.15722 0.10136,-0.33612 0.18569,-0.5012 0.15953,-0.31382 0.33088,-0.58298 0.52993,-0.80275 0.1086,-0.14475 0.40679,-0.28034 0.61085,-0.29391 0.31373,-0.0286 0.50335,0.0169 0.79219,0.1322 0.15039,0.0602 0.39876,0.16868 0.55566,0.21698 0.15688,0.0483 0.28055,0.0367 0.35503,-0.003 0.0824,-0.0434 0.14887,-0.1 0.17559,-0.29738 0.0266,-0.1974 0.0427,-0.60513 0.0687,-0.93064 0.0259,-0.3255 0.0191,-0.57846 0.0385,-0.8947 0.0196,-0.31622 0.008,-0.56894 0.0124,-0.80191 0.004,-0.23297 0.0101,-0.50723 0.008,-0.64199 -0.002,-0.15272 -0.0161,-0.30478 -0.0879,-0.38748 -0.0717,-0.0827 -0.21073,-0.0703 -0.30868,-0.0728 -0.11171,-0.003 -0.37232,0.002 -0.60538,-0.005 -0.23309,-0.006 -0.69532,0.012 -1.03465,-0.004 -0.33932,-0.0161 -0.71896,-0.005 -1.0049,-0.0326 -0.28595,-0.027 -0.53418,-0.0449 -0.70849,-0.0628 -0.1284,-0.0133 -0.23309,-0.0789 -0.29062,-0.16224 -0.0686,-0.0995 -0.0528,-0.21313 -0.0235,-0.37416 0.0294,-0.16098 0.19877,-0.53968 0.25515,-0.68962 0.0664,-0.17744 0.16054,-0.51914 0.1358,-0.68008 -0.0247,-0.16093 -0.10911,-0.29721 -0.23402,-0.43954 -0.11706,-0.13339 -0.27819,-0.24083 -0.40875,-0.33761 -0.1722,-0.12763 -0.32365,-0.22016 -0.48802,-0.29959 -0.15994,-0.0772 -0.38351,-0.14946 -0.51685,-0.18857 -0.13056,-0.0382 -0.34504,-0.0807 -0.50279,-0.0972 -0.18102,-0.0189 -0.4233,5.5e-4 -0.59699,0.0267 -0.11209,0.0173 -0.34618,0.12225 -0.44863,0.19939 -0.10244,0.0772 -0.21079,0.19464 -0.27207,0.3124 -0.0613,0.11775 -0.15703,0.32794 -0.19816,0.48437 -0.0411,0.15645 -0.0883,0.4522 -0.0919,0.58004 -0.004,0.12788 -0.0178,0.30359 -0.10785,0.39831 -0.0561,0.0589 -0.16481,0.0955 -0.23892,0.10375 -0.0818,3.8e-4 -0.16957,-0.0156 -0.37682,-0.0894 -0.33423,-0.11128 -0.71643,-0.26108 -1.1547,-0.43228 -0.43827,-0.17122 -0.73824,-0.29078 -1.11122,-0.42574 -0.18738,-0.0676 -0.46442,-0.17377 -0.56572,-0.19282 -0.10735,-0.0203 -0.19054,0.009 -0.24662,0.0453 -0.0319,0.0304 -0.0822,0.0835 -0.11888,0.13605 -0.035,0.0592 -0.0888,0.19917 -0.14981,0.39623 -0.0774,0.24375 -0.45072,1.39148 -0.63509,1.8572 -0.18436,0.4657 -0.27392,0.81491 -0.33223,1.0252 -0.0583,0.21034 0.16305,0.27254 0.25766,0.32297 0.11296,0.0478 0.25599,0.0959 0.5005,0.10429 0.24453,0.008 0.52438,0.037 0.70145,0.11073 0.17707,0.0737 0.32802,0.13816 0.44016,0.26725 0.0718,0.0904 0.1673,0.25085 0.19886,0.44079 0.0229,0.17635 0.0197,0.82329 -0.0823,1.16673 -0.0747,0.30981 -0.27178,0.672 -0.40762,0.85996 -0.19143,0.27412 -0.40386,0.50442 -0.61305,0.63269 -0.18515,0.12033 -0.49029,0.17659 -0.8327,0.0362 -0.22768,-0.0775 -0.55527,-0.21708 -0.79028,-0.28382 -0.17923,-0.0559 -0.41857,-0.0138 -0.48289,0.1178 -0.056,0.10822 -0.0706,0.21537 -0.084,0.37086 -0.0261,0.37764 -0.029,1.94008 -0.0717,2.86235 -0.0353,0.43468 0.006,0.57829 0.0353,0.64566 0.036,0.0847 0.36968,0.0758 0.46438,0.074 0.1882,1.1e-4 0.31618,-0.005 0.52893,-0.006 0.53643,0.004 2.55791,-0.0276 2.77317,0.0297 0.0722,0.0144 0.14731,0.04 0.19828,0.0704 0.052,0.0333 0.085,0.0738 0.10392,0.13597 0.0278,0.0889 -0.0396,0.27625 -0.0828,0.3957 -0.0431,0.11947 -0.14115,0.41501 -0.28904,0.73293 -0.14791,0.31794 -0.10517,0.6241 -0.0636,0.71801 0.0416,0.0939 0.15142,0.32628 0.37929,0.53048 0.22788,0.20419 0.44928,0.30636 0.73568,0.43164 0.2463,0.10774 0.68019,0.20311 0.72232,0.20817 z" - inkscape:connector-curvature="0" - sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" /> - </g> + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns="http://www.w3.org/2000/svg" + width="16" + height="16" + id="svg4781" + version="1.1" + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)" + sodipodi:docname="jastadd.svg" + inkscape:export-filename="/home/jesper/bzr/jastadd-research/logotype/jastadd_200px.png" + inkscape:export-xdpi="49.240002" + inkscape:export-ydpi="49.240002"> + <defs + id="defs4783"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 454.65828 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="744.09448 : 454.65828 : 1" + inkscape:persp3d-origin="372.04724 : 279.26458 : 1" + id="perspective4789"/> + <inkscape:perspective + id="perspective4768" + inkscape:persp3d-origin="0.5 : -71.189479 : 1" + inkscape:vp_z="1 : -71.022812 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : -71.022812 : 1" + sodipodi:type="inkscape:persp3d"/> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="31.678384" + inkscape:cx="24.626583" + inkscape:cy="16.669221" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1406" + inkscape:window-x="0" + inkscape:window-y="18" + inkscape:window-maximized="1" + inkscape:document-rotation="0"/> + <metadata + id="metadata4786"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-185.85624,-382.86389)"> + <path + inkscape:tile-y0="331.74615" + inkscape:tile-x0="805.67645" + inkscape:tile-h="236.12934" + inkscape:tile-w="285.01443" + inkscape:tile-cy="449.81082" + inkscape:tile-cx="948.18366" + inkscape:export-ydpi="60.48" + inkscape:export-xdpi="60.48" + inkscape:export-filename="C:\Users\Jesper\Pictures\Inkscape\text4655.png" + id="path4837" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9830a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.413302;marker:none;enable-background:accumulate" + d="m 192.51835,398.49014 c 0.46797,0.0944 0.88748,0.12177 1.14886,-0.009 0.26139,-0.13045 0.31508,-0.16277 0.42235,-0.28982 0.10727,-0.12706 0.15312,-0.23676 0.19693,-0.40843 0.0439,-0.17165 0.0195,-0.81056 0.0139,-0.88117 -0.005,-0.0706 0.0467,-0.2021 0.0675,-0.25221 0.0389,-0.0938 0.11286,-0.19115 0.1589,-0.21643 0.0804,-0.0356 0.15378,-0.0646 0.37538,0.0176 0.27788,0.0832 1.36687,0.4716 1.9434,0.71318 0.45189,0.19675 0.81205,0.35613 0.94069,0.39718 0.20459,0.0701 0.25891,0.11011 0.36021,0.0816 0.10128,-0.0286 0.12277,-0.12742 0.16675,-0.26793 0.044,-0.14051 0.62773,-1.70104 0.82695,-2.19466 0.19933,-0.49357 0.2249,-0.57635 0.28714,-0.76598 0.0618,-0.1898 -0.005,-0.36353 -0.0924,-0.45392 -0.0872,-0.0904 -0.22949,-0.10291 -0.27145,-0.10222 -0.0419,5.5e-4 -0.32032,-0.0195 -0.46148,-0.0407 -0.19215,-0.029 -0.47053,-0.11965 -0.56311,-0.15549 -0.23628,-0.0916 -0.48103,-0.26386 -0.60199,-0.53086 -0.0885,-0.19537 -0.12683,-0.34898 -0.11868,-0.67429 0.007,-0.27537 0.0565,-0.55808 0.096,-0.71536 0.0397,-0.15722 0.10136,-0.33612 0.18569,-0.5012 0.15953,-0.31382 0.33088,-0.58298 0.52993,-0.80275 0.1086,-0.14475 0.40679,-0.28034 0.61085,-0.29391 0.31373,-0.0286 0.50335,0.0169 0.79219,0.1322 0.15039,0.0602 0.39876,0.16868 0.55566,0.21698 0.15688,0.0483 0.28055,0.0367 0.35503,-0.003 0.0824,-0.0434 0.14887,-0.1 0.17559,-0.29738 0.0266,-0.1974 0.0427,-0.60513 0.0687,-0.93064 0.0259,-0.3255 0.0191,-0.57846 0.0385,-0.8947 0.0196,-0.31622 0.008,-0.56894 0.0124,-0.80191 0.004,-0.23297 0.0101,-0.50723 0.008,-0.64199 -0.002,-0.15272 -0.0161,-0.30478 -0.0879,-0.38748 -0.0717,-0.0827 -0.21073,-0.0703 -0.30868,-0.0728 -0.11171,-0.003 -0.37232,0.002 -0.60538,-0.005 -0.23309,-0.006 -0.69532,0.012 -1.03465,-0.004 -0.33932,-0.0161 -0.71896,-0.005 -1.0049,-0.0326 -0.28595,-0.027 -0.53418,-0.0449 -0.70849,-0.0628 -0.1284,-0.0133 -0.23309,-0.0789 -0.29062,-0.16224 -0.0686,-0.0995 -0.0528,-0.21313 -0.0235,-0.37416 0.0294,-0.16098 0.19877,-0.53968 0.25515,-0.68962 0.0664,-0.17744 0.16054,-0.51914 0.1358,-0.68008 -0.0247,-0.16093 -0.10911,-0.29721 -0.23402,-0.43954 -0.11706,-0.13339 -0.27819,-0.24083 -0.40875,-0.33761 -0.1722,-0.12763 -0.32365,-0.22016 -0.48802,-0.29959 -0.15994,-0.0772 -0.38351,-0.14946 -0.51685,-0.18857 -0.13056,-0.0382 -0.34504,-0.0807 -0.50279,-0.0972 -0.18102,-0.0189 -0.4233,5.5e-4 -0.59699,0.0267 -0.11209,0.0173 -0.34618,0.12225 -0.44863,0.19939 -0.10244,0.0772 -0.21079,0.19464 -0.27207,0.3124 -0.0613,0.11775 -0.15703,0.32794 -0.19816,0.48437 -0.0411,0.15645 -0.0883,0.4522 -0.0919,0.58004 -0.004,0.12788 -0.0178,0.30359 -0.10785,0.39831 -0.0561,0.0589 -0.16481,0.0955 -0.23892,0.10375 -0.0818,3.8e-4 -0.16957,-0.0156 -0.37682,-0.0894 -0.33423,-0.11128 -0.71643,-0.26108 -1.1547,-0.43228 -0.43827,-0.17122 -0.73824,-0.29078 -1.11122,-0.42574 -0.18738,-0.0676 -0.46442,-0.17377 -0.56572,-0.19282 -0.10735,-0.0203 -0.19054,0.009 -0.24662,0.0453 -0.0319,0.0304 -0.0822,0.0835 -0.11888,0.13605 -0.035,0.0592 -0.0888,0.19917 -0.14981,0.39623 -0.0774,0.24375 -0.45072,1.39148 -0.63509,1.8572 -0.18436,0.4657 -0.27392,0.81491 -0.33223,1.0252 -0.0583,0.21034 0.16305,0.27254 0.25766,0.32297 0.11296,0.0478 0.25599,0.0959 0.5005,0.10429 0.24453,0.008 0.52438,0.037 0.70145,0.11073 0.17707,0.0737 0.32802,0.13816 0.44016,0.26725 0.0718,0.0904 0.1673,0.25085 0.19886,0.44079 0.0229,0.17635 0.0197,0.82329 -0.0823,1.16673 -0.0747,0.30981 -0.27178,0.672 -0.40762,0.85996 -0.19143,0.27412 -0.40386,0.50442 -0.61305,0.63269 -0.18515,0.12033 -0.49029,0.17659 -0.8327,0.0362 -0.22768,-0.0775 -0.55527,-0.21708 -0.79028,-0.28382 -0.17923,-0.0559 -0.41857,-0.0138 -0.48289,0.1178 -0.056,0.10822 -0.0706,0.21537 -0.084,0.37086 -0.0261,0.37764 -0.029,1.94008 -0.0717,2.86235 -0.0353,0.43468 0.006,0.57829 0.0353,0.64566 0.036,0.0847 0.36968,0.0758 0.46438,0.074 0.1882,1.1e-4 0.31618,-0.005 0.52893,-0.006 0.53643,0.004 2.55791,-0.0276 2.77317,0.0297 0.0722,0.0144 0.14731,0.04 0.19828,0.0704 0.052,0.0333 0.085,0.0738 0.10392,0.13597 0.0278,0.0889 -0.0396,0.27625 -0.0828,0.3957 -0.0431,0.11947 -0.14115,0.41501 -0.28904,0.73293 -0.14791,0.31794 -0.10517,0.6241 -0.0636,0.71801 0.0416,0.0939 0.15142,0.32628 0.37929,0.53048 0.22788,0.20419 0.44928,0.30636 0.73568,0.43164 0.2463,0.10774 0.68019,0.20311 0.72232,0.20817 z" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"/> + </g> </svg>