diff --git a/simple_language/settings.gradle b/simple_language/settings.gradle
deleted file mode 100644
index 8a3935957..000000000
--- a/simple_language/settings.gradle
+++ /dev/null
@@ -1,2 +0,0 @@
-rootProject.name = 'language'
-
diff --git a/simple_language_plugin/.idea/misc.xml b/simple_language_plugin/.idea/misc.xml
deleted file mode 100644
index 5c95974fd..000000000
--- a/simple_language_plugin/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/simple_language_plugin/.idea/modules.xml b/simple_language_plugin/.idea/modules.xml
deleted file mode 100644
index 7dd689510..000000000
--- a/simple_language_plugin/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/simple_language_plugin/.idea/simple_language_plugin.iml b/simple_language_plugin/.idea/simple_language_plugin.iml
deleted file mode 100644
index 3033e705b..000000000
--- a/simple_language_plugin/.idea/simple_language_plugin.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/simple_language_plugin/.idea/workspace.xml b/simple_language_plugin/.idea/workspace.xml
deleted file mode 100644
index 53bd5fa5f..000000000
--- a/simple_language_plugin/.idea/workspace.xml
+++ /dev/null
@@ -1,495 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- DEFINITION_ORDER
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1507300015770
-
-
- 1507300015770
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No facets are configured
-
-
-
-
-
-
-
-
-
-
-
- JFlex & idea-flex.skeleton
-
-
-
-
-
-
-
-
-
-
-
- 1.8
-
-
-
-
-
-
-
-
-
-
-
- simple_language_plugin
-
-
-
-
-
-
-
-
-
-
-
- 1.8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/simple_language/build.gradle b/simple_language_plugin/build.gradle
similarity index 100%
rename from simple_language/build.gradle
rename to simple_language_plugin/build.gradle
diff --git a/simple_language_plugin/gen/com/simpleplugin/parser/SimpleParser.java b/simple_language_plugin/gen/com/simpleplugin/parser/SimpleParser.java
deleted file mode 100644
index c4652d819..000000000
--- a/simple_language_plugin/gen/com/simpleplugin/parser/SimpleParser.java
+++ /dev/null
@@ -1,121 +0,0 @@
-// This is a generated file. Not intended for manual editing.
-package com.simpleplugin.parser;
-
-import com.intellij.lang.PsiBuilder;
-import com.intellij.lang.PsiBuilder.Marker;
-import static com.simpleplugin.psi.SimpleTypes.*;
-import static com.intellij.lang.parser.GeneratedParserUtilBase.*;
-import com.intellij.psi.tree.IElementType;
-import com.intellij.lang.ASTNode;
-import com.intellij.psi.tree.TokenSet;
-import com.intellij.lang.PsiParser;
-import com.intellij.lang.LightPsiParser;
-
-@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"})
-public class SimpleParser implements PsiParser, LightPsiParser {
-
- public ASTNode parse(IElementType t, PsiBuilder b) {
- parseLight(t, b);
- return b.getTreeBuilt();
- }
-
- public void parseLight(IElementType t, PsiBuilder b) {
- boolean r;
- b = adapt_builder_(t, b, this, null);
- Marker m = enter_section_(b, 0, _COLLAPSE_, null);
- if (t == PROPERTY) {
- r = property(b, 0);
- }
- else {
- r = parse_root_(t, b, 0);
- }
- exit_section_(b, 0, m, t, r, true, TRUE_CONDITION);
- }
-
- protected boolean parse_root_(IElementType t, PsiBuilder b, int l) {
- return simpleFile(b, l + 1);
- }
-
- /* ********************************************************** */
- // (KEY SEPARATOR VALUE?)|KEY
- public static boolean property(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "property")) return false;
- boolean r;
- Marker m = enter_section_(b, l, _NONE_, PROPERTY, "");
- r = property_0(b, l + 1);
- if (!r) r = consumeToken(b, KEY);
- exit_section_(b, l, m, r, false, recover_property_parser_);
- return r;
- }
-
- // KEY SEPARATOR VALUE?
- private static boolean property_0(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "property_0")) return false;
- boolean r;
- Marker m = enter_section_(b);
- r = consumeTokens(b, 0, KEY, SEPARATOR);
- r = r && property_0_2(b, l + 1);
- exit_section_(b, m, null, r);
- return r;
- }
-
- // VALUE?
- private static boolean property_0_2(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "property_0_2")) return false;
- consumeToken(b, VALUE);
- return true;
- }
-
- /* ********************************************************** */
- // !(KEY|SEPARATOR|COMMENT)
- static boolean recover_property(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "recover_property")) return false;
- boolean r;
- Marker m = enter_section_(b, l, _NOT_);
- r = !recover_property_0(b, l + 1);
- exit_section_(b, l, m, r, false, null);
- return r;
- }
-
- // KEY|SEPARATOR|COMMENT
- private static boolean recover_property_0(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "recover_property_0")) return false;
- boolean r;
- Marker m = enter_section_(b);
- r = consumeToken(b, KEY);
- if (!r) r = consumeToken(b, SEPARATOR);
- if (!r) r = consumeToken(b, COMMENT);
- exit_section_(b, m, null, r);
- return r;
- }
-
- /* ********************************************************** */
- // (property|COMMENT)*
- static boolean simpleFile(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "simpleFile")) return false;
- int c = current_position_(b);
- while (true) {
- if (!simpleFile_0(b, l + 1)) break;
- if (!empty_element_parsed_guard_(b, "simpleFile", c)) break;
- c = current_position_(b);
- }
- return true;
- }
-
- // property|COMMENT
- private static boolean simpleFile_0(PsiBuilder b, int l) {
- if (!recursion_guard_(b, l, "simpleFile_0")) return false;
- boolean r;
- Marker m = enter_section_(b);
- r = property(b, l + 1);
- if (!r) r = consumeToken(b, COMMENT);
- exit_section_(b, m, null, r);
- return r;
- }
-
- final static Parser recover_property_parser_ = new Parser() {
- public boolean parse(PsiBuilder b, int l) {
- return recover_property(b, l + 1);
- }
- };
-}
diff --git a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleProperty.java b/simple_language_plugin/gen/com/simpleplugin/psi/SimpleProperty.java
deleted file mode 100644
index 2ff5df042..000000000
--- a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleProperty.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// This is a generated file. Not intended for manual editing.
-package com.simpleplugin.psi;
-
-import java.util.List;
-import org.jetbrains.annotations.*;
-import com.intellij.psi.PsiElement;
-import com.intellij.navigation.ItemPresentation;
-
-public interface SimpleProperty extends SimpleNamedElement {
-
- String getKey();
-
- String getValue();
-
- String getName();
-
- PsiElement setName(String newName);
-
- PsiElement getNameIdentifier();
-
- ItemPresentation getPresentation();
-
-}
diff --git a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleTypes.java b/simple_language_plugin/gen/com/simpleplugin/psi/SimpleTypes.java
deleted file mode 100644
index 4e0333e72..000000000
--- a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleTypes.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// This is a generated file. Not intended for manual editing.
-package com.simpleplugin.psi;
-
-import com.intellij.psi.tree.IElementType;
-import com.intellij.psi.PsiElement;
-import com.intellij.lang.ASTNode;
-import com.simpleplugin.psi.impl.*;
-
-public interface SimpleTypes {
-
- IElementType PROPERTY = new SimpleElementType("PROPERTY");
-
- IElementType COMMENT = new SimpleTokenType("COMMENT");
- IElementType KEY = new SimpleTokenType("KEY");
- IElementType SEPARATOR = new SimpleTokenType("SEPARATOR");
- IElementType VALUE = new SimpleTokenType("VALUE");
-
- class Factory {
- public static PsiElement createElement(ASTNode node) {
- IElementType type = node.getElementType();
- if (type == PROPERTY) {
- return new SimplePropertyImpl(node);
- }
- throw new AssertionError("Unknown element type: " + type);
- }
- }
-}
diff --git a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleVisitor.java b/simple_language_plugin/gen/com/simpleplugin/psi/SimpleVisitor.java
deleted file mode 100644
index 504829968..000000000
--- a/simple_language_plugin/gen/com/simpleplugin/psi/SimpleVisitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-// This is a generated file. Not intended for manual editing.
-package com.simpleplugin.psi;
-
-import org.jetbrains.annotations.*;
-import com.intellij.psi.PsiElementVisitor;
-import com.intellij.psi.PsiElement;
-
-public class SimpleVisitor extends PsiElementVisitor {
-
- public void visitProperty(@NotNull SimpleProperty o) {
- visitNamedElement(o);
- }
-
- public void visitNamedElement(@NotNull SimpleNamedElement o) {
- visitPsiElement(o);
- }
-
- public void visitPsiElement(@NotNull PsiElement o) {
- visitElement(o);
- }
-
-}
diff --git a/simple_language_plugin/gen/com/simpleplugin/psi/impl/SimplePropertyImpl.java b/simple_language_plugin/gen/com/simpleplugin/psi/impl/SimplePropertyImpl.java
deleted file mode 100644
index 2c23adbf6..000000000
--- a/simple_language_plugin/gen/com/simpleplugin/psi/impl/SimplePropertyImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// This is a generated file. Not intended for manual editing.
-package com.simpleplugin.psi.impl;
-
-import java.util.List;
-import org.jetbrains.annotations.*;
-import com.intellij.lang.ASTNode;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiElementVisitor;
-import com.intellij.psi.util.PsiTreeUtil;
-import static com.simpleplugin.psi.SimpleTypes.*;
-import com.simpleplugin.psi.*;
-import com.intellij.navigation.ItemPresentation;
-
-public class SimplePropertyImpl extends SimpleNamedElementImpl implements SimpleProperty {
-
- public SimplePropertyImpl(ASTNode node) {
- super(node);
- }
-
- public void accept(@NotNull SimpleVisitor visitor) {
- visitor.visitProperty(this);
- }
-
- public void accept(@NotNull PsiElementVisitor visitor) {
- if (visitor instanceof SimpleVisitor) accept((SimpleVisitor)visitor);
- else super.accept(visitor);
- }
-
- public String getKey() {
- return SimplePsiImplUtil.getKey(this);
- }
-
- public String getValue() {
- return SimplePsiImplUtil.getValue(this);
- }
-
- public String getName() {
- return SimplePsiImplUtil.getName(this);
- }
-
- public PsiElement setName(String newName) {
- return SimplePsiImplUtil.setName(this, newName);
- }
-
- public PsiElement getNameIdentifier() {
- return SimplePsiImplUtil.getNameIdentifier(this);
- }
-
- public ItemPresentation getPresentation() {
- return SimplePsiImplUtil.getPresentation(this);
- }
-
-}
diff --git a/simple_language/gradle/wrapper/gradle-wrapper.jar b/simple_language_plugin/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from simple_language/gradle/wrapper/gradle-wrapper.jar
rename to simple_language_plugin/gradle/wrapper/gradle-wrapper.jar
diff --git a/simple_language/gradle/wrapper/gradle-wrapper.properties b/simple_language_plugin/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from simple_language/gradle/wrapper/gradle-wrapper.properties
rename to simple_language_plugin/gradle/wrapper/gradle-wrapper.properties
diff --git a/simple_language/gradlew b/simple_language_plugin/gradlew
similarity index 100%
rename from simple_language/gradlew
rename to simple_language_plugin/gradlew
diff --git a/simple_language/gradlew.bat b/simple_language_plugin/gradlew.bat
similarity index 100%
rename from simple_language/gradlew.bat
rename to simple_language_plugin/gradlew.bat
diff --git a/simple_language_plugin/resources/META-INF/plugin.xml b/simple_language_plugin/resources/META-INF/plugin.xml
deleted file mode 100644
index 0f41aee5e..000000000
--- a/simple_language_plugin/resources/META-INF/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
- com.simpleplugin.unique.plugin.id
- Simple Language
- 1.0
- JetBrains
-
- Custom Language Support Tutorial]]>
-
-
-
-
- com.intellij.modules.java
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/simple_language_plugin/settings.gradle b/simple_language_plugin/settings.gradle
new file mode 100644
index 000000000..e10d80539
--- /dev/null
+++ b/simple_language_plugin/settings.gradle
@@ -0,0 +1,2 @@
+rootProject.name = 'simple_language_plugin'
+
diff --git a/simple_language_plugin/simple_language_plugin.iml b/simple_language_plugin/simple_language_plugin.iml
deleted file mode 100644
index e3d6fef16..000000000
--- a/simple_language_plugin/simple_language_plugin.iml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/CreatePropertyQuickFix.java b/simple_language_plugin/src/com/simpleplugin/CreatePropertyQuickFix.java
deleted file mode 100644
index 97da7b3d2..000000000
--- a/simple_language_plugin/src/com/simpleplugin/CreatePropertyQuickFix.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.codeInsight.intention.impl.BaseIntentionAction;
-import com.intellij.lang.ASTNode;
-import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.command.WriteCommandAction;
-import com.intellij.openapi.editor.Editor;
-import com.intellij.openapi.fileChooser.FileChooser;
-import com.intellij.openapi.fileChooser.FileChooserDescriptor;
-import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
-import com.intellij.openapi.fileEditor.FileEditorManager;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.project.ProjectUtil;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.pom.Navigatable;
-import com.intellij.psi.PsiFile;
-import com.intellij.psi.PsiManager;
-import com.intellij.psi.search.FileTypeIndex;
-import com.intellij.psi.search.GlobalSearchScope;
-import com.intellij.util.IncorrectOperationException;
-import com.intellij.util.indexing.FileBasedIndex;
-import com.simpleplugin.psi.SimpleElementFactory;
-import com.simpleplugin.psi.SimpleFile;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.Collection;
-
-class CreatePropertyQuickFix extends BaseIntentionAction {
- private String key;
-
- CreatePropertyQuickFix(String key) {
- this.key = key;
- }
-
- @NotNull
- @Override
- public String getText() {
- return "Create property";
- }
-
- @NotNull
- @Override
- public String getFamilyName() {
- return "Simple properties";
- }
-
- @Override
- public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
- return true;
- }
-
- @Override
- public void invoke(@NotNull final Project project, final Editor editor, PsiFile file) throws
- IncorrectOperationException {
- ApplicationManager.getApplication().invokeLater(new Runnable() {
- @Override
- public void run() {
- Collection virtualFiles =
- FileTypeIndex.getFiles(SimpleFileType.INSTANCE, GlobalSearchScope.allScope(project) );
- if (virtualFiles.size() == 1) {
- createProperty(project, virtualFiles.iterator().next());
- } else {
- final FileChooserDescriptor descriptor =
- FileChooserDescriptorFactory.createSingleFileDescriptor(SimpleFileType.INSTANCE);
- descriptor.setRoots(ProjectUtil.guessProjectDir(project));
- final VirtualFile file = FileChooser.chooseFile(descriptor, project, null);
- if (file != null) {
- createProperty(project, file);
- }
- }
- }
- });
- }
-
- private void createProperty(final Project project, final VirtualFile file) {
- WriteCommandAction.writeCommandAction(project).run(() -> {
- SimpleFile simpleFile = (SimpleFile) PsiManager.getInstance(project).findFile(file);
- ASTNode lastChildNode = simpleFile.getNode().getLastChildNode();
- // TODO: Add another check for CRLF
- if (lastChildNode != null/* && !lastChildNode.getElementType().equals(SimpleTypes.CRLF)*/) {
- simpleFile.getNode().addChild(SimpleElementFactory.createCRLF(project).getNode());
- }
- // IMPORTANT: change spaces to escaped spaces or the new node will only have the first word for the key
- SimpleProperty property = SimpleElementFactory.createProperty(project, key.replaceAll(" ", "\\\\ "), "");
- simpleFile.getNode().addChild(property.getNode());
- ((Navigatable) property.getLastChild().getNavigationElement()).navigate(true);
- FileEditorManager.getInstance(project).getSelectedTextEditor().getCaretModel().moveCaretRelatively(2, 0, false, false, false);
- });
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/Simple.bnf b/simple_language_plugin/src/com/simpleplugin/Simple.bnf
deleted file mode 100644
index 6aef4bb6e..000000000
--- a/simple_language_plugin/src/com/simpleplugin/Simple.bnf
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- parserClass="com.simpleplugin.parser.SimpleParser"
-
- extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
-
- psiClassPrefix="Simple"
- psiImplClassSuffix="Impl"
- psiPackage="com.simpleplugin.psi"
- psiImplPackage="com.simpleplugin.psi.impl"
-
- elementTypeHolderClass="com.simpleplugin.psi.SimpleTypes"
- elementTypeClass="com.simpleplugin.psi.SimpleElementType"
- tokenTypeClass="com.simpleplugin.psi.SimpleTokenType"
-
- psiImplUtilClass="com.simpleplugin.psi.impl.SimplePsiImplUtil"
-}
-
-simpleFile ::= (property|COMMENT)*
-
-property ::= (KEY SEPARATOR VALUE?)|KEY {
- pin=3
- recoverWhile="recover_property"
- mixin="com.simpleplugin.psi.impl.SimpleNamedElementImpl"
- implements="com.simpleplugin.psi.SimpleNamedElement"
- methods=[getKey getValue getName setName getNameIdentifier getPresentation]
-}
-
-private recover_property ::= !(KEY|SEPARATOR|COMMENT)
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/Simple.flex b/simple_language_plugin/src/com/simpleplugin/Simple.flex
deleted file mode 100644
index 89f80bc4b..000000000
--- a/simple_language_plugin/src/com/simpleplugin/Simple.flex
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.FlexLexer;
-import com.intellij.psi.tree.IElementType;
-import com.simpleplugin.psi.SimpleTypes;
-import com.intellij.psi.TokenType;
-
-%%
-
-%class SimpleLexer
-%implements FlexLexer
-%unicode
-%function advance
-%type IElementType
-%eof{ return;
-%eof}
-
-CRLF=\R
-WHITE_SPACE=[\ \n\t\f]
-FIRST_VALUE_CHARACTER=[^ \n\f\\] | "\\"{CRLF} | "\\".
-VALUE_CHARACTER=[^\n\f\\] | "\\"{CRLF} | "\\".
-END_OF_LINE_COMMENT=("#"|"!")[^\r\n]*
-SEPARATOR=[:=]
-KEY_CHARACTER=[^:=\ \n\t\f\\] | "\\ "
-
-%state WAITING_VALUE
-
-%%
-
- {END_OF_LINE_COMMENT} { yybegin(YYINITIAL); return SimpleTypes.COMMENT; }
-
- {KEY_CHARACTER}+ { yybegin(YYINITIAL); return SimpleTypes.KEY; }
-
- {SEPARATOR} { yybegin(WAITING_VALUE); return SimpleTypes.SEPARATOR; }
-
- {CRLF}({CRLF}|{WHITE_SPACE})+ { yybegin(YYINITIAL); return TokenType.WHITE_SPACE; }
-
- {WHITE_SPACE}+ { yybegin(WAITING_VALUE); return TokenType.WHITE_SPACE; }
-
- {FIRST_VALUE_CHARACTER}{VALUE_CHARACTER}* { yybegin(YYINITIAL); return SimpleTypes.VALUE; }
-
-({CRLF}|{WHITE_SPACE})+ { yybegin(YYINITIAL); return TokenType.WHITE_SPACE; }
-
-[^] { return TokenType.BAD_CHARACTER; }
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleAnnotator.java b/simple_language_plugin/src/com/simpleplugin/SimpleAnnotator.java
deleted file mode 100644
index f987e2810..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleAnnotator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.annotation.*;
-import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.util.TextRange;
-import com.intellij.psi.*;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.List;
-
-public class SimpleAnnotator implements Annotator {
- @Override
- public void annotate(@NotNull final PsiElement element, @NotNull AnnotationHolder holder) {
- if (element instanceof PsiLiteralExpression) {
- PsiLiteralExpression literalExpression = (PsiLiteralExpression) element;
- String value = literalExpression.getValue() instanceof String ? (String) literalExpression.getValue() : null;
-
- if (value != null && value.startsWith("simple" + ":")) {
- Project project = element.getProject();
- String key = value.substring(7);
- List properties = SimpleUtil.findProperties(project, key);
- if (properties.size() == 1) {
- TextRange range = new TextRange(element.getTextRange().getStartOffset() + 8,
- element.getTextRange().getEndOffset() - 1);
- Annotation annotation = holder.createInfoAnnotation(range, null);
- annotation.setTextAttributes(DefaultLanguageHighlighterColors.LINE_COMMENT);
- } else if (properties.size() == 0) {
- TextRange range = new TextRange(element.getTextRange().getStartOffset() + 8,
- element.getTextRange().getEndOffset() - 1);
- holder.createErrorAnnotation(range, "Unresolved property");
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleBlock.java b/simple_language_plugin/src/com/simpleplugin/SimpleBlock.java
deleted file mode 100644
index 8ea1b008e..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleBlock.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.formatting.*;
-import com.intellij.lang.ASTNode;
-import com.intellij.psi.TokenType;
-import com.intellij.psi.formatter.common.AbstractBlock;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SimpleBlock extends AbstractBlock {
- private SpacingBuilder spacingBuilder;
-
- protected SimpleBlock(@NotNull ASTNode node, @Nullable Wrap wrap, @Nullable Alignment alignment,
- SpacingBuilder spacingBuilder) {
- super(node, wrap, alignment);
- this.spacingBuilder = spacingBuilder;
- }
-
- @Override
- protected List buildChildren() {
- List blocks = new ArrayList();
- ASTNode child = myNode.getFirstChildNode();
- while (child != null) {
- if (child.getElementType() != TokenType.WHITE_SPACE) {
- Block block = new SimpleBlock(child, Wrap.createWrap(WrapType.NONE, false), Alignment.createAlignment(),
- spacingBuilder);
- blocks.add(block);
- }
- child = child.getTreeNext();
- }
- return blocks;
- }
-
- @Override
- public Indent getIndent() {
- return Indent.getNoneIndent();
- }
-
- @Nullable
- @Override
- public Spacing getSpacing(@Nullable Block child1, @NotNull Block child2) {
- return spacingBuilder.getSpacing(this, child1, child2);
- }
-
- @Override
- public boolean isLeaf() {
- return myNode.getFirstChildNode() == null;
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleChooseByNameContributor.java b/simple_language_plugin/src/com/simpleplugin/SimpleChooseByNameContributor.java
deleted file mode 100644
index 99df1310a..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleChooseByNameContributor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.navigation.*;
-import com.intellij.openapi.project.Project;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.*;
-
-public class SimpleChooseByNameContributor implements ChooseByNameContributor {
- @NotNull
- @Override
- public String[] getNames(Project project, boolean includeNonProjectItems) {
- List properties = SimpleUtil.findProperties(project);
- List names = new ArrayList(properties.size());
- for (SimpleProperty property : properties) {
- if (property.getKey() != null && property.getKey().length() > 0) {
- names.add(property.getKey());
- }
- }
- return names.toArray(new String[names.size()]);
- }
-
- @NotNull
- @Override
- public NavigationItem[] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) {
- // todo include non project items
- List properties = SimpleUtil.findProperties(project, name);
- return properties.toArray(new NavigationItem[properties.size()]);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettings.java b/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettings.java
deleted file mode 100644
index b91130025..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettings.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.psi.codeStyle.*;
-
-public class SimpleCodeStyleSettings extends CustomCodeStyleSettings {
- public SimpleCodeStyleSettings(CodeStyleSettings settings) {
- super("SimpleCodeStyleSettings", settings);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettingsProvider.java b/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettingsProvider.java
deleted file mode 100644
index 25e51b990..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleCodeStyleSettingsProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.application.options.*;
-import com.intellij.openapi.options.Configurable;
-import com.intellij.psi.codeStyle.*;
-import org.jetbrains.annotations.*;
-
-public class SimpleCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
- @Override
- public CustomCodeStyleSettings createCustomSettings(CodeStyleSettings settings) {
- return new SimpleCodeStyleSettings(settings);
- }
-
- @Nullable
- @Override
- public String getConfigurableDisplayName() {
- return "Simple";
- }
-
-
- @NotNull
- public CodeStyleConfigurable createConfigurable(@NotNull CodeStyleSettings settings, @NotNull CodeStyleSettings modelSettings) {
- return new CodeStyleAbstractConfigurable(settings, modelSettings, this.getConfigurableDisplayName()) {
- @Override
- protected CodeStyleAbstractPanel createPanel(CodeStyleSettings settings) {
- return new SimpleCodeStyleMainPanel(getCurrentSettings(), settings);
- }
- };
- }
-
- private static class SimpleCodeStyleMainPanel extends TabbedLanguageCodeStylePanel {
- public SimpleCodeStyleMainPanel(CodeStyleSettings currentSettings, CodeStyleSettings settings) {
- super(SimpleLanguage.INSTANCE, currentSettings, settings);
- }
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleColorSettingsPage.java b/simple_language_plugin/src/com/simpleplugin/SimpleColorSettingsPage.java
deleted file mode 100644
index 1f2f26f94..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleColorSettingsPage.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.editor.colors.TextAttributesKey;
-import com.intellij.openapi.fileTypes.SyntaxHighlighter;
-import com.intellij.openapi.options.colors.*;
-import org.jetbrains.annotations.*;
-
-import javax.swing.*;
-import java.util.Map;
-
-public class SimpleColorSettingsPage implements ColorSettingsPage {
- private static final AttributesDescriptor[] DESCRIPTORS = new AttributesDescriptor[]{
- new AttributesDescriptor("Key", SimpleSyntaxHighlighter.KEY),
- new AttributesDescriptor("Separator", SimpleSyntaxHighlighter.SEPARATOR),
- new AttributesDescriptor("Value", SimpleSyntaxHighlighter.VALUE),
- };
-
- @Nullable
- @Override
- public Icon getIcon() {
- return SimpleIcons.FILE;
- }
-
- @NotNull
- @Override
- public SyntaxHighlighter getHighlighter() {
- return new SimpleSyntaxHighlighter();
- }
-
- @NotNull
- @Override
- public String getDemoText() {
- return "# You are reading the \".properties\" entry.\n" +
- "! The exclamation mark can also mark text as comments.\n" +
- "website = http://en.wikipedia.org/\n" +
- "language = English\n" +
- "# The backslash below tells the application to continue reading\n" +
- "# the value onto the next line.\n" +
- "message = Welcome to \\\n" +
- " Wikipedia!\n" +
- "# Add spaces to the key\n" +
- "key\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n" +
- "# Unicode\n" +
- "tab : \\u0009";
- }
-
- @Nullable
- @Override
- public Map getAdditionalHighlightingTagToDescriptorMap() {
- return null;
- }
-
- @NotNull
- @Override
- public AttributesDescriptor[] getAttributeDescriptors() {
- return DESCRIPTORS;
- }
-
- @NotNull
- @Override
- public ColorDescriptor[] getColorDescriptors() {
- return ColorDescriptor.EMPTY_ARRAY;
- }
-
- @NotNull
- @Override
- public String getDisplayName() {
- return "Simple";
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleCommenter.java b/simple_language_plugin/src/com/simpleplugin/SimpleCommenter.java
deleted file mode 100644
index 4c2179547..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleCommenter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.Commenter;
-import org.jetbrains.annotations.Nullable;
-
-public class SimpleCommenter implements Commenter {
- @Nullable
- @Override
- public String getLineCommentPrefix() {
- return "#";
- }
-
- @Nullable
- @Override
- public String getBlockCommentPrefix() {
- return "";
- }
-
- @Nullable
- @Override
- public String getBlockCommentSuffix() {
- return null;
- }
-
- @Nullable
- @Override
- public String getCommentedBlockCommentPrefix() {
- return null;
- }
-
- @Nullable
- @Override
- public String getCommentedBlockCommentSuffix() {
- return null;
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleCompletionContributor.java b/simple_language_plugin/src/com/simpleplugin/SimpleCompletionContributor.java
deleted file mode 100644
index e6407a9a9..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleCompletionContributor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.codeInsight.completion.*;
-import com.intellij.codeInsight.lookup.LookupElementBuilder;
-import com.intellij.patterns.PlatformPatterns;
-import com.intellij.util.ProcessingContext;
-import com.simpleplugin.psi.SimpleTypes;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleCompletionContributor extends CompletionContributor {
- public SimpleCompletionContributor() {
- extend(CompletionType.BASIC,
- PlatformPatterns.psiElement(SimpleTypes.VALUE).withLanguage(SimpleLanguage.INSTANCE),
- new CompletionProvider() {
- public void addCompletions(@NotNull CompletionParameters parameters,
- ProcessingContext context,
- @NotNull CompletionResultSet resultSet) {
- resultSet.addElement(LookupElementBuilder.create("Hello"));
- }
- }
- );
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFileType.java b/simple_language_plugin/src/com/simpleplugin/SimpleFileType.java
deleted file mode 100644
index f19f08226..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFileType.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.fileTypes.LanguageFileType;
-import org.jetbrains.annotations.*;
-
-import javax.swing.*;
-
-public class SimpleFileType extends LanguageFileType {
- public static final SimpleFileType INSTANCE = new SimpleFileType();
-
- private SimpleFileType() {
- super(SimpleLanguage.INSTANCE);
- }
-
- @NotNull
- @Override
- public String getName() {
- return "Simple file";
- }
-
- @NotNull
- @Override
- public String getDescription() {
- return "Simple language file";
- }
-
- @NotNull
- @Override
- public String getDefaultExtension() {
- return "simple";
- }
-
- @Nullable
- @Override
- public Icon getIcon() {
- return SimpleIcons.FILE;
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFileTypeFactory.java b/simple_language_plugin/src/com/simpleplugin/SimpleFileTypeFactory.java
deleted file mode 100644
index 9275dc2e3..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFileTypeFactory.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.fileTypes.*;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleFileTypeFactory extends FileTypeFactory {
- @Override
- public void createFileTypes(@NotNull FileTypeConsumer fileTypeConsumer) {
- fileTypeConsumer.consume(SimpleFileType.INSTANCE);
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFilterLexer.java b/simple_language_plugin/src/com/simpleplugin/SimpleFilterLexer.java
deleted file mode 100644
index 59ee592fd..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFilterLexer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.Lexer;
-import com.intellij.psi.impl.cache.impl.*;
-import com.intellij.psi.search.UsageSearchContext;
-
-public class SimpleFilterLexer extends BaseFilterLexer {
- public SimpleFilterLexer(final Lexer originalLexer, final OccurrenceConsumer table) {
- super(originalLexer, table);
- }
-
- @Override
- public void advance() {
- scanWordsInToken(UsageSearchContext.IN_COMMENTS, false, false);
- advanceTodoItemCountsInToken();
- myDelegate.advance();
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFindUsagesProvider.java b/simple_language_plugin/src/com/simpleplugin/SimpleFindUsagesProvider.java
deleted file mode 100644
index 903bf125c..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFindUsagesProvider.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.cacheBuilder.*;
-import com.intellij.lang.findUsages.FindUsagesProvider;
-import com.intellij.psi.*;
-import com.intellij.psi.tree.TokenSet;
-import com.simpleplugin.psi.*;
-import org.jetbrains.annotations.*;
-
-public class SimpleFindUsagesProvider implements FindUsagesProvider {
- @Nullable
- @Override
- public WordsScanner getWordsScanner() {
- return new DefaultWordsScanner(new SimpleLexerAdapter(),
- TokenSet.create(SimpleTypes.KEY),
- TokenSet.create(SimpleTypes.COMMENT),
- TokenSet.EMPTY);
- }
-
- @Override
- public boolean canFindUsagesFor(@NotNull PsiElement psiElement) {
- return psiElement instanceof PsiNamedElement;
- }
-
- @Nullable
- @Override
- public String getHelpId(@NotNull PsiElement psiElement) {
- return null;
- }
-
- @NotNull
- @Override
- public String getType(@NotNull PsiElement element) {
- if (element instanceof SimpleProperty) {
- return "simple property";
- } else {
- return "";
- }
- }
-
- @NotNull
- @Override
- public String getDescriptiveName(@NotNull PsiElement element) {
- if (element instanceof SimpleProperty) {
- return ((SimpleProperty) element).getKey();
- } else {
- return "";
- }
- }
-
- @NotNull
- @Override
- public String getNodeText(@NotNull PsiElement element, boolean useFullName) {
- if (element instanceof SimpleProperty) {
- return ((SimpleProperty) element).getKey() + ":" + ((SimpleProperty) element).getValue();
- } else {
- return "";
- }
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFoldingBuilder.java b/simple_language_plugin/src/com/simpleplugin/SimpleFoldingBuilder.java
deleted file mode 100644
index e2ef7cdb6..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFoldingBuilder.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.ASTNode;
-import com.intellij.lang.folding.*;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.project.DumbAware;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.util.TextRange;
-import com.intellij.psi.*;
-import com.intellij.psi.util.PsiTreeUtil;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-public class SimpleFoldingBuilder extends FoldingBuilderEx implements DumbAware {
- @NotNull
- @Override
- public FoldingDescriptor[] buildFoldRegions(@NotNull PsiElement root, @NotNull Document document, boolean quick) {
- FoldingGroup group = FoldingGroup.newGroup("simple");
-
- List descriptors = new ArrayList();
- Collection literalExpressions =
- PsiTreeUtil.findChildrenOfType(root, PsiLiteralExpression.class);
- for (final PsiLiteralExpression literalExpression : literalExpressions) {
- String value = literalExpression.getValue() instanceof String ? (String) literalExpression.getValue() : null;
-
- if (value != null && value.startsWith("simple:")) {
- Project project = literalExpression.getProject();
- String key = value.substring(7);
- final List properties = SimpleUtil.findProperties(project, key);
- if (properties.size() == 1) {
- descriptors.add(new FoldingDescriptor(literalExpression.getNode(),
- new TextRange(literalExpression.getTextRange().getStartOffset() + 1,
- literalExpression.getTextRange().getEndOffset() - 1),
- group) {
- @Nullable
- @Override
- public String getPlaceholderText() {
- // IMPORTANT: keys can come with no values, so a test for null is needed
- // IMPORTANT: Convert embedded \n to backslash n, so that the string will look like it has LF embedded
- // in it and embedded " to escaped "
- String valueOf = properties.get(0).getValue();
- return valueOf == null ? "" : valueOf.replaceAll("\n", "\\n").replaceAll("\"", "\\\\\"");
- }
- });
- }
- }
- }
- return descriptors.toArray(new FoldingDescriptor[descriptors.size()]);
- }
-
- @Nullable
- @Override
- public String getPlaceholderText(@NotNull ASTNode node) {
- String retTxt = "...";
- if ( node.getPsi() instanceof PsiLiteralExpression ) {
- PsiLiteralExpression nodeElement = (PsiLiteralExpression) node.getPsi();
- String key = ((String) nodeElement.getValue()).substring("simple:".length());
- final List< SimpleProperty > properties = SimpleUtil.findProperties(nodeElement.getProject(), key);
- String place = properties.get(0).getValue();
- // IMPORTANT: keys can come with no values, so a test for null is needed
- // IMPORTANT: Convert embedded \n to backslash n, so that the string will look
- // like it has LF embedded in it and embedded " to escaped "
- return place == null ? retTxt : place.replaceAll("\n", "\\n").replaceAll("\"", "\\\\\"");
- }
- return retTxt;
- }
-
- @Override
- public boolean isCollapsedByDefault(@NotNull ASTNode node) {
- return true;
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleFormattingModelBuilder.java b/simple_language_plugin/src/com/simpleplugin/SimpleFormattingModelBuilder.java
deleted file mode 100644
index b8e69d1a2..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleFormattingModelBuilder.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.formatting.*;
-import com.intellij.lang.ASTNode;
-import com.intellij.openapi.util.TextRange;
-import com.intellij.psi.*;
-import com.intellij.psi.codeStyle.CodeStyleSettings;
-import com.simpleplugin.psi.SimpleTypes;
-import org.jetbrains.annotations.*;
-
-public class SimpleFormattingModelBuilder implements FormattingModelBuilder {
- @NotNull
- @Override
- public FormattingModel createModel(PsiElement element, CodeStyleSettings settings) {
- return FormattingModelProvider
- .createFormattingModelForPsiFile(element.getContainingFile(),
- new SimpleBlock(element.getNode(),
- Wrap.createWrap(WrapType.NONE, false),
- Alignment.createAlignment(),
- createSpaceBuilder(settings)),
- settings);
- }
-
- private static SpacingBuilder createSpaceBuilder(CodeStyleSettings settings) {
- return new SpacingBuilder(settings, SimpleLanguage.INSTANCE)
- .around(SimpleTypes.SEPARATOR)
- .spaceIf(settings.getCommonSettings(SimpleLanguage.INSTANCE.getID()).SPACE_AROUND_ASSIGNMENT_OPERATORS)
- .before(SimpleTypes.PROPERTY)
- .none();
- }
-
- @Nullable
- @Override
- public TextRange getRangeAffectingIndent(PsiFile file, int offset, ASTNode elementAtOffset) {
- return null;
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleIcons.java b/simple_language_plugin/src/com/simpleplugin/SimpleIcons.java
deleted file mode 100644
index f191c0ce3..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleIcons.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.util.IconLoader;
-
-import javax.swing.*;
-
-public class SimpleIcons {
- public static final Icon FILE = IconLoader.getIcon("/com/simpleplugin/icons/jar-gray.png");
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleIdIndexer.java b/simple_language_plugin/src/com/simpleplugin/SimpleIdIndexer.java
deleted file mode 100644
index 613636ed5..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleIdIndexer.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.Lexer;
-import com.intellij.psi.impl.cache.impl.OccurrenceConsumer;
-import com.intellij.psi.impl.cache.impl.id.LexerBasedIdIndexer;
-
-public class SimpleIdIndexer extends LexerBasedIdIndexer {
-
- public static Lexer createIndexingLexer(OccurrenceConsumer consumer) {
- return new SimpleFilterLexer(new SimpleLexerAdapter(), consumer);
- }
-
- @Override
- public Lexer createLexer(final OccurrenceConsumer consumer) {
- return createIndexingLexer(consumer);
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleLanguage.java b/simple_language_plugin/src/com/simpleplugin/SimpleLanguage.java
deleted file mode 100644
index 9ac5f23f9..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleLanguage.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.Language;
-
-public class SimpleLanguage extends Language {
- public static final SimpleLanguage INSTANCE = new SimpleLanguage();
-
- private SimpleLanguage() {
- super("Simple");
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleLanguageCodeStyleSettingsProvider.java b/simple_language_plugin/src/com/simpleplugin/SimpleLanguageCodeStyleSettingsProvider.java
deleted file mode 100644
index c1a91ad5d..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleLanguageCodeStyleSettingsProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.Language;
-import com.intellij.psi.codeStyle.*;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSettingsProvider {
- @NotNull
- @Override
- public Language getLanguage() {
- return SimpleLanguage.INSTANCE;
- }
-
- @Override
- public void customizeSettings(@NotNull CodeStyleSettingsCustomizable consumer, @NotNull SettingsType settingsType) {
- if (settingsType == SettingsType.SPACING_SETTINGS) {
- consumer.showStandardOptions("SPACE_AROUND_ASSIGNMENT_OPERATORS");
- consumer.renameStandardOption("SPACE_AROUND_ASSIGNMENT_OPERATORS", "Separator");
- } else if (settingsType == SettingsType.BLANK_LINES_SETTINGS) {
- consumer.showStandardOptions("KEEP_BLANK_LINES_IN_CODE");
- }
- }
-
- @Override
- public String getCodeSample(@NotNull SettingsType settingsType) {
- return "# You are reading the \".properties\" entry.\n" +
- "! The exclamation mark can also mark text as comments.\n" +
- "website = http://en.wikipedia.org/\n" +
- "\n" +
- "\n" +
- "\n" +
- "language = English\n" +
- "# The backslash below tells the application to continue reading\n" +
- "# the value onto the next line.\n" +
- "message = Welcome to \\\n" +
- " Wikipedia!\n" +
- "# Add spaces to the key\n" +
- "key\\ with\\ spaces = This is the value that could be looked up with the key \"key with spaces\".\n" +
- "# Unicode\n" +
- "tab : \\u0009";
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleLexer.java b/simple_language_plugin/src/com/simpleplugin/SimpleLexer.java
deleted file mode 100644
index ecb7f5142..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleLexer.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
-
-package com.simpleplugin;
-
-import com.intellij.lexer.FlexLexer;
-import com.intellij.psi.tree.IElementType;
-import com.simpleplugin.psi.SimpleTypes;
-import com.intellij.psi.TokenType;
-
-
-/**
- * This class is a scanner generated by
- * JFlex 1.7.0-SNAPSHOT
- * from the specification file Simple.flex
- */
-class SimpleLexer implements FlexLexer {
-
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
-
- /** initial size of the lookahead buffer */
- private static final int ZZ_BUFFERSIZE = 16384;
-
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int WAITING_VALUE = 2;
-
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1
- };
-
- /**
- * Translates characters to character classes
- * Chosen bits are [9, 6, 6]
- * Total runtime size is 1568 bytes
- */
- public static int ZZ_CMAP(int ch) {
- return ZZ_CMAP_A[(ZZ_CMAP_Y[ZZ_CMAP_Z[ch>>12]|((ch>>6)&0x3f)]<<6)|(ch&0x3f)];
- }
-
- /* The ZZ_CMAP_Z table has 272 entries */
- static final char ZZ_CMAP_Z[] = zzUnpackCMap(
- "\1\0\1\100\1\200\u010d\100");
-
- /* The ZZ_CMAP_Y table has 192 entries */
- static final char ZZ_CMAP_Y[] = zzUnpackCMap(
- "\1\0\1\1\1\2\175\3\1\4\77\3");
-
- /* The ZZ_CMAP_A table has 320 entries */
- static final char ZZ_CMAP_A[] = zzUnpackCMap(
- "\11\0\1\4\1\2\1\1\1\5\1\3\22\0\1\7\1\10\1\0\1\10\26\0\1\11\2\0\1\11\36\0\1"+
- "\6\50\0\1\1\242\0\2\1\26\0");
-
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
-
- private static final String ZZ_ACTION_PACKED_0 =
- "\2\0\2\1\1\2\1\3\1\4\1\5\2\6\2\7"+
- "\1\3\1\7\1\0\2\4\1\0\1\2\2\6";
-
- private static int [] zzUnpackAction() {
- int [] result = new int[21];
- int offset = 0;
- offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAction(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\12\0\24\0\36\0\50\0\62\0\74\0\106"+
- "\0\120\0\132\0\50\0\144\0\156\0\170\0\62\0\202"+
- "\0\214\0\156\0\132\0\226\0\240";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[21];
- int offset = 0;
- offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackRowMap(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int high = packed.charAt(i++) << 16;
- result[j++] = high | packed.charAt(i++);
- }
- return j;
- }
-
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
-
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\3\1\4\1\5\1\4\2\5\1\6\1\5\1\7"+
- "\1\10\1\11\1\12\1\13\1\12\1\14\1\13\1\15"+
- "\1\16\2\11\2\3\1\0\1\3\2\0\1\17\1\0"+
- "\1\3\1\0\1\3\1\4\1\5\1\4\2\5\1\17"+
- "\1\5\1\3\2\0\5\5\1\0\1\5\11\0\1\3"+
- "\2\0\2\7\1\0\1\3\2\20\1\21\1\20\1\7"+
- "\1\20\12\0\2\11\1\0\2\11\1\0\1\22\4\11"+
- "\1\23\1\5\2\23\1\5\1\22\1\23\3\11\1\24"+
- "\1\16\1\24\1\14\1\16\1\22\1\14\5\11\1\25"+
- "\6\11\1\0\1\5\1\16\1\5\2\16\1\0\1\16"+
- "\2\0\2\20\2\0\10\20\2\0\3\20\1\7\2\20"+
- "\1\11\1\24\1\5\2\24\1\5\1\22\1\24\7\11"+
- "\1\0\1\22\3\11";
-
- private static int [] zzUnpackTrans() {
- int [] result = new int[170];
- int offset = 0;
- offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackTrans(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- value--;
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /* error codes */
- private static final int ZZ_UNKNOWN_ERROR = 0;
- private static final int ZZ_NO_MATCH = 1;
- private static final int ZZ_PUSHBACK_2BIG = 2;
-
- /* error messages for the codes above */
- private static final String[] ZZ_ERROR_MSG = {
- "Unknown internal scanner error",
- "Error: could not match input",
- "Error: pushback value was too large"
- };
-
- /**
- * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\2\0\5\1\1\11\6\1\1\0\2\1\1\0\3\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[21];
- int offset = 0;
- offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAttribute(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
- /** the input device */
- private java.io.Reader zzReader;
-
- /** the current state of the DFA */
- private int zzState;
-
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
-
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private CharSequence zzBuffer = "";
-
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
-
- /** the current text position in the buffer */
- private int zzCurrentPos;
-
- /** startRead marks the beginning of the yytext() string in the buffer */
- private int zzStartRead;
-
- /** endRead marks the last character in the buffer, that has been read
- from input */
- private int zzEndRead;
-
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
-
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
-
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- SimpleLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- int size = 0;
- for (int i = 0, length = packed.length(); i < length; i += 2) {
- size += packed.charAt(i);
- }
- char[] map = new char[size];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < packed.length()) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
- public final int getTokenStart() {
- return zzStartRead;
- }
-
- public final int getTokenEnd() {
- return getTokenStart() + yylength();
- }
-
- public void reset(CharSequence buffer, int start, int end, int initialState) {
- zzBuffer = buffer;
- zzCurrentPos = zzMarkedPos = zzStartRead = start;
- zzAtEOF = false;
- zzAtBOL = true;
- zzEndRead = end;
- yybegin(initialState);
- }
-
- /**
- * Refills the input buffer.
- *
- * @return false
, iff there was new input.
- *
- * @exception java.io.IOException if any I/O-Error occurs
- */
- private boolean zzRefill() throws java.io.IOException {
- return true;
- }
-
-
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
-
-
- /**
- * Enters a new lexical state
- *
- * @param newState the new lexical state
- */
- public final void yybegin(int newState) {
- zzLexicalState = newState;
- }
-
-
- /**
- * Returns the text matched by the current regular expression.
- */
- public final CharSequence yytext() {
- return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
- }
-
-
- /**
- * Returns the character at position pos from the
- * matched text.
- *
- * It is equivalent to yytext().charAt(pos), but faster
- *
- * @param pos the position of the character to fetch.
- * A value from 0 to yylength()-1.
- *
- * @return the character at position pos
- */
- public final char yycharat(int pos) {
- return zzBuffer.charAt(zzStartRead+pos);
- }
-
-
- /**
- * Returns the length of the matched text region.
- */
- public final int yylength() {
- return zzMarkedPos-zzStartRead;
- }
-
-
- /**
- * Reports an error that occured while scanning.
- *
- * In a wellformed scanner (no or only correct usage of
- * yypushback(int) and a match-all fallback rule) this method
- * will only be called with things that "Can't Possibly Happen".
- * If this method is called, something is seriously wrong
- * (e.g. a JFlex bug producing a faulty scanner etc.).
- *
- * Usual syntax/scanner level error handling should be done
- * in error fallback rules.
- *
- * @param errorCode the code of the errormessage to display
- */
- private void zzScanError(int errorCode) {
- String message;
- try {
- message = ZZ_ERROR_MSG[errorCode];
- }
- catch (ArrayIndexOutOfBoundsException e) {
- message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
- }
-
- throw new Error(message);
- }
-
-
- /**
- * Pushes the specified amount of characters back into the input stream.
- *
- * They will be read again by then next call of the scanning method
- *
- * @param number the number of characters to be read again.
- * This number must not be greater than yylength()!
- */
- public void yypushback(int number) {
- if ( number > yylength() )
- zzScanError(ZZ_PUSHBACK_2BIG);
-
- zzMarkedPos -= number;
- }
-
-
- /**
- * Contains user EOF-code, which will be executed exactly once,
- * when the end of file is reached
- */
- private void zzDoEOF() {
- if (!zzEOFDone) {
- zzEOFDone = true;
-
- }
- }
-
-
- /**
- * Resumes scanning until the next regular expression is matched,
- * the end of input is encountered or an I/O-Error occurs.
- *
- * @return the next token
- * @exception java.io.IOException if any I/O-Error occurs
- */
- public IElementType advance() throws java.io.IOException {
- int zzInput;
- int zzAction;
-
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- CharSequence zzBufferL = zzBuffer;
-
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- zzAction = -1;
-
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
-
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
-
-
- zzForAction: {
- while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
-
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
-
- }
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- { yybegin(YYINITIAL); return SimpleTypes.KEY;
- }
- case 8: break;
- case 2:
- { yybegin(YYINITIAL); return TokenType.WHITE_SPACE;
- }
- case 9: break;
- case 3:
- { return TokenType.BAD_CHARACTER;
- }
- case 10: break;
- case 4:
- { yybegin(YYINITIAL); return SimpleTypes.COMMENT;
- }
- case 11: break;
- case 5:
- { yybegin(WAITING_VALUE); return SimpleTypes.SEPARATOR;
- }
- case 12: break;
- case 6:
- { yybegin(YYINITIAL); return SimpleTypes.VALUE;
- }
- case 13: break;
- case 7:
- { yybegin(WAITING_VALUE); return TokenType.WHITE_SPACE;
- }
- case 14: break;
- default:
- zzScanError(ZZ_NO_MATCH);
- }
- }
- }
- }
-
-
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleLexerAdapter.java b/simple_language_plugin/src/com/simpleplugin/SimpleLexerAdapter.java
deleted file mode 100644
index 40c89a0d5..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleLexerAdapter.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.FlexAdapter;
-
-import java.io.Reader;
-
-public class SimpleLexerAdapter extends FlexAdapter {
- public SimpleLexerAdapter() {
- super(new SimpleLexer((Reader) null));
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleLineMarkerProvider.java b/simple_language_plugin/src/com/simpleplugin/SimpleLineMarkerProvider.java
deleted file mode 100644
index d509b3acc..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleLineMarkerProvider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.codeInsight.daemon.*;
-import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
-import com.intellij.openapi.project.Project;
-import com.intellij.psi.*;
-import com.intellij.psi.impl.source.tree.java.PsiJavaTokenImpl;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.*;
-
-public class SimpleLineMarkerProvider extends RelatedItemLineMarkerProvider {
- @Override
- protected void collectNavigationMarkers(@NotNull PsiElement element,
- @NotNull Collection super RelatedItemLineMarkerInfo> result) {
- if (element instanceof PsiJavaTokenImpl && element.getParent() instanceof PsiLiteralExpression) {
- PsiLiteralExpression literalExpression = (PsiLiteralExpression) element.getParent();
- String value = literalExpression.getValue() instanceof String ? (String) literalExpression.getValue() : null;
- if (value != null && value.startsWith("simple" + ":")) {
- Project project = element.getProject();
- final List properties = SimpleUtil.findProperties(project, value.substring(7));
- if (properties.size() > 0) {
- NavigationGutterIconBuilder builder =
- NavigationGutterIconBuilder.create(SimpleIcons.FILE).
- setTargets(properties).
- setTooltipText("Navigate to a simple property");
- result.add(builder.createLineMarkerInfo(element));
- }
- }
- }
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleParserDefinition.java b/simple_language_plugin/src/com/simpleplugin/SimpleParserDefinition.java
deleted file mode 100644
index 67bd581ea..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleParserDefinition.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.*;
-import com.intellij.lexer.Lexer;
-import com.intellij.openapi.project.Project;
-import com.intellij.psi.*;
-import com.intellij.psi.tree.*;
-import com.simpleplugin.parser.SimpleParser;
-import com.simpleplugin.psi.*;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleParserDefinition implements ParserDefinition {
- public static final TokenSet WHITE_SPACES = TokenSet.create(TokenType.WHITE_SPACE);
- public static final TokenSet COMMENTS = TokenSet.create(SimpleTypes.COMMENT);
-
- public static final IFileElementType FILE = new IFileElementType(SimpleLanguage.INSTANCE);
-
- @NotNull
- @Override
- public Lexer createLexer(Project project) {
- return new SimpleLexerAdapter();
- }
-
- @NotNull
- public TokenSet getWhitespaceTokens() {
- return WHITE_SPACES;
- }
-
- @NotNull
- public TokenSet getCommentTokens() {
- return COMMENTS;
- }
-
- @NotNull
- public TokenSet getStringLiteralElements() {
- return TokenSet.EMPTY;
- }
-
- @NotNull
- public PsiParser createParser(final Project project) {
- return new SimpleParser();
- }
-
- @Override
- public IFileElementType getFileNodeType() {
- return FILE;
- }
-
- public PsiFile createFile(FileViewProvider viewProvider) {
- return new SimpleFile(viewProvider);
- }
-
- public SpaceRequirements spaceExistenceTypeBetweenTokens(ASTNode left, ASTNode right) {
- return SpaceRequirements.MAY;
- }
-
- @NotNull
- public PsiElement createElement(ASTNode node) {
- return SimpleTypes.Factory.createElement(node);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleRefactoringSupportProvider.java b/simple_language_plugin/src/com/simpleplugin/SimpleRefactoringSupportProvider.java
deleted file mode 100644
index a538c7c54..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleRefactoringSupportProvider.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lang.refactoring.RefactoringSupportProvider;
-import com.intellij.psi.PsiElement;
-import com.simpleplugin.psi.SimpleProperty;
-
-public class SimpleRefactoringSupportProvider extends RefactoringSupportProvider {
- @Override
- public boolean isMemberInplaceRenameAvailable(PsiElement element, PsiElement context) {
- return element instanceof SimpleProperty;
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleReference.java b/simple_language_plugin/src/com/simpleplugin/SimpleReference.java
deleted file mode 100644
index 26efe1115..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleReference.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.codeInsight.lookup.*;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.util.TextRange;
-import com.intellij.psi.*;
-import com.simpleplugin.psi.SimpleProperty;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-public class SimpleReference extends PsiReferenceBase implements PsiPolyVariantReference {
- private String key;
-
- public SimpleReference(@NotNull PsiElement element, TextRange textRange) {
- super(element, textRange);
- key = element.getText().substring(textRange.getStartOffset(), textRange.getEndOffset());
- }
-
- @NotNull
- @Override
- public ResolveResult[] multiResolve(boolean incompleteCode) {
- Project project = myElement.getProject();
- final List properties = SimpleUtil.findProperties(project, key);
- List results = new ArrayList();
- for (SimpleProperty property : properties) {
- results.add(new PsiElementResolveResult(property));
- }
- return results.toArray(new ResolveResult[results.size()]);
- }
-
- @Nullable
- @Override
- public PsiElement resolve() {
- ResolveResult[] resolveResults = multiResolve(false);
- return resolveResults.length == 1 ? resolveResults[0].getElement() : null;
- }
-
- @NotNull
- @Override
- public Object[] getVariants() {
- Project project = myElement.getProject();
- List properties = SimpleUtil.findProperties(project);
- List variants = new ArrayList();
- for (final SimpleProperty property : properties) {
- if (property.getKey() != null && property.getKey().length() > 0) {
- variants.add(LookupElementBuilder.create(property).
- withIcon(SimpleIcons.FILE).
- withTypeText(property.getContainingFile().getName())
- );
- }
- }
- return variants.toArray();
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleReferenceContributor.java b/simple_language_plugin/src/com/simpleplugin/SimpleReferenceContributor.java
deleted file mode 100644
index 7d234422b..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleReferenceContributor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.util.TextRange;
-import com.intellij.patterns.PlatformPatterns;
-import com.intellij.psi.*;
-import com.intellij.util.ProcessingContext;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleReferenceContributor extends PsiReferenceContributor {
- @Override
- public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) {
- registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiLiteralExpression.class),
- new PsiReferenceProvider() {
- @NotNull
- @Override
- public PsiReference[] getReferencesByElement(@NotNull PsiElement element,
- @NotNull ProcessingContext
- context) {
- PsiLiteralExpression literalExpression = (PsiLiteralExpression) element;
- String value = literalExpression.getValue() instanceof String ?
- (String) literalExpression.getValue() : null;
- if (value != null && value.startsWith("simple" + ":")) {
- return new PsiReference[]{
- new SimpleReference(element, new TextRange(8, value.length() + 1))};
- }
- return PsiReference.EMPTY_ARRAY;
- }
- });
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewElement.java b/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewElement.java
deleted file mode 100644
index 7cd36b05f..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewElement.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.ide.projectView.PresentationData;
-import com.intellij.ide.structureView.StructureViewTreeElement;
-import com.intellij.ide.util.treeView.smartTree.SortableTreeElement;
-import com.intellij.ide.util.treeView.smartTree.TreeElement;
-import com.intellij.navigation.ItemPresentation;
-import com.intellij.psi.NavigatablePsiElement;
-import com.intellij.psi.util.PsiTreeUtil;
-import com.simpleplugin.psi.SimpleFile;
-import com.simpleplugin.psi.SimpleProperty;
-import com.simpleplugin.psi.impl.SimplePropertyImpl;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SimpleStructureViewElement implements StructureViewTreeElement, SortableTreeElement {
- private NavigatablePsiElement element;
-
- public SimpleStructureViewElement(NavigatablePsiElement element) {
- this.element = element;
- }
-
- @Override
- public Object getValue() {
- return element;
- }
-
- @Override
- public void navigate(boolean requestFocus) {
- element.navigate(requestFocus);
- }
-
- @Override
- public boolean canNavigate() {
- return element.canNavigate();
- }
-
- @Override
- public boolean canNavigateToSource() {
- return element.canNavigateToSource();
- }
-
- @NotNull
- @Override
- public String getAlphaSortKey() {
- String name = element.getName();
- return name != null ? name : "";
- }
-
- @NotNull
- @Override
- public ItemPresentation getPresentation() {
- ItemPresentation presentation = element.getPresentation();
- return presentation != null ? presentation : new PresentationData();
- }
-
- @Override
- public TreeElement[] getChildren() {
- if (element instanceof SimpleFile) {
- SimpleProperty[] properties = PsiTreeUtil.getChildrenOfType(element, SimpleProperty.class);
- List treeElements = new ArrayList(properties.length);
- for (SimpleProperty property : properties) {
- treeElements.add(new SimpleStructureViewElement((SimplePropertyImpl) property));
- }
- return treeElements.toArray(new TreeElement[treeElements.size()]);
- } else {
- return EMPTY_ARRAY;
- }
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewFactory.java b/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewFactory.java
deleted file mode 100644
index 917c37c26..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewFactory.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.ide.structureView.*;
-import com.intellij.lang.PsiStructureViewFactory;
-import com.intellij.openapi.editor.Editor;
-import com.intellij.psi.PsiFile;
-import org.jetbrains.annotations.*;
-
-public class SimpleStructureViewFactory implements PsiStructureViewFactory {
- @Nullable
- @Override
- public StructureViewBuilder getStructureViewBuilder(final PsiFile psiFile) {
- return new TreeBasedStructureViewBuilder() {
- @NotNull
- @Override
- public StructureViewModel createStructureViewModel(@Nullable Editor editor) {
- return new SimpleStructureViewModel(psiFile);
- }
- };
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewModel.java b/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewModel.java
deleted file mode 100644
index 203c07789..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleStructureViewModel.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.ide.structureView.*;
-import com.intellij.ide.util.treeView.smartTree.Sorter;
-import com.intellij.psi.PsiFile;
-import com.simpleplugin.psi.SimpleFile;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleStructureViewModel extends StructureViewModelBase implements
- StructureViewModel.ElementInfoProvider {
- public SimpleStructureViewModel(PsiFile psiFile) {
- super(psiFile, new SimpleStructureViewElement(psiFile));
- }
-
- @NotNull
- public Sorter[] getSorters() {
- return new Sorter[]{Sorter.ALPHA_SORTER};
- }
-
-
- @Override
- public boolean isAlwaysShowsPlus(StructureViewTreeElement element) {
- return false;
- }
-
- @Override
- public boolean isAlwaysLeaf(StructureViewTreeElement element) {
- return element instanceof SimpleFile;
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighter.java b/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighter.java
deleted file mode 100644
index f3495b100..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.Lexer;
-import com.intellij.openapi.editor.*;
-import com.intellij.openapi.editor.colors.TextAttributesKey;
-import com.intellij.openapi.fileTypes.SyntaxHighlighterBase;
-import com.intellij.psi.TokenType;
-import com.intellij.psi.tree.IElementType;
-import com.simpleplugin.psi.SimpleTypes;
-import org.jetbrains.annotations.NotNull;
-
-import static com.intellij.openapi.editor.colors.TextAttributesKey.createTextAttributesKey;
-
-public class SimpleSyntaxHighlighter extends SyntaxHighlighterBase {
- public static final TextAttributesKey SEPARATOR =
- createTextAttributesKey("SIMPLE_SEPARATOR", DefaultLanguageHighlighterColors.OPERATION_SIGN);
- public static final TextAttributesKey KEY =
- createTextAttributesKey("SIMPLE_KEY", DefaultLanguageHighlighterColors.KEYWORD);
- public static final TextAttributesKey VALUE =
- createTextAttributesKey("SIMPLE_VALUE", DefaultLanguageHighlighterColors.STRING);
- public static final TextAttributesKey COMMENT =
- createTextAttributesKey("SIMPLE_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT);
- public static final TextAttributesKey BAD_CHARACTER =
- createTextAttributesKey("SIMPLE_BAD_CHARACTER", HighlighterColors.BAD_CHARACTER);
-
- private static final TextAttributesKey[] BAD_CHAR_KEYS = new TextAttributesKey[]{BAD_CHARACTER};
- private static final TextAttributesKey[] SEPARATOR_KEYS = new TextAttributesKey[]{SEPARATOR};
- private static final TextAttributesKey[] KEY_KEYS = new TextAttributesKey[]{KEY};
- private static final TextAttributesKey[] VALUE_KEYS = new TextAttributesKey[]{VALUE};
- private static final TextAttributesKey[] COMMENT_KEYS = new TextAttributesKey[]{COMMENT};
- private static final TextAttributesKey[] EMPTY_KEYS = new TextAttributesKey[0];
-
- @NotNull
- @Override
- public Lexer getHighlightingLexer() {
- return new SimpleLexerAdapter();
- }
-
- @NotNull
- @Override
- public TextAttributesKey[] getTokenHighlights(IElementType tokenType) {
- if (tokenType.equals(SimpleTypes.SEPARATOR)) {
- return SEPARATOR_KEYS;
- } else if (tokenType.equals(SimpleTypes.KEY)) {
- return KEY_KEYS;
- } else if (tokenType.equals(SimpleTypes.VALUE)) {
- return VALUE_KEYS;
- } else if (tokenType.equals(SimpleTypes.COMMENT)) {
- return COMMENT_KEYS;
- } else if (tokenType.equals(TokenType.BAD_CHARACTER)) {
- return BAD_CHAR_KEYS;
- } else {
- return EMPTY_KEYS;
- }
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighterFactory.java b/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighterFactory.java
deleted file mode 100644
index d02428b25..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleSyntaxHighlighterFactory.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.fileTypes.*;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vfs.VirtualFile;
-import org.jetbrains.annotations.NotNull;
-
-public class SimpleSyntaxHighlighterFactory extends SyntaxHighlighterFactory {
- @NotNull
- @Override
- public SyntaxHighlighter getSyntaxHighlighter(Project project, VirtualFile virtualFile) {
- return new SimpleSyntaxHighlighter();
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleTodoIndexer.java b/simple_language_plugin/src/com/simpleplugin/SimpleTodoIndexer.java
deleted file mode 100644
index bee9bd730..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleTodoIndexer.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.lexer.Lexer;
-import com.intellij.psi.impl.cache.impl.OccurrenceConsumer;
-import com.intellij.psi.impl.cache.impl.todo.LexerBasedTodoIndexer;
-
-public class SimpleTodoIndexer extends LexerBasedTodoIndexer {
- @Override
- public Lexer createLexer(OccurrenceConsumer consumer) {
- return SimpleIdIndexer.createIndexingLexer(consumer);
- }
-}
diff --git a/simple_language_plugin/src/com/simpleplugin/SimpleUtil.java b/simple_language_plugin/src/com/simpleplugin/SimpleUtil.java
deleted file mode 100644
index dbc4fee6b..000000000
--- a/simple_language_plugin/src/com/simpleplugin/SimpleUtil.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.PsiManager;
-import com.intellij.psi.search.*;
-import com.intellij.psi.util.PsiTreeUtil;
-import com.intellij.util.indexing.FileBasedIndex;
-import com.simpleplugin.psi.*;
-
-import java.util.*;
-
-public class SimpleUtil {
- public static List findProperties(Project project, String key) {
- List result = null;
- Collection virtualFiles =
- FileTypeIndex.getFiles(SimpleFileType.INSTANCE, GlobalSearchScope.allScope(project));
- for (VirtualFile virtualFile : virtualFiles) {
- SimpleFile simpleFile = (SimpleFile) PsiManager.getInstance(project).findFile(virtualFile);
- if (simpleFile != null) {
- SimpleProperty[] properties = PsiTreeUtil.getChildrenOfType(simpleFile, SimpleProperty.class);
- if (properties != null) {
- for (SimpleProperty property : properties) {
- if (key.equals(property.getKey())) {
- if (result == null) {
- result = new ArrayList();
- }
- result.add(property);
- }
- }
- }
- }
- }
- return result != null ? result : Collections.emptyList();
- }
-
- public static List findProperties(Project project) {
- List result = new ArrayList();
- Collection virtualFiles =
- FileTypeIndex.getFiles(SimpleFileType.INSTANCE, GlobalSearchScope.allScope(project));
- for (VirtualFile virtualFile : virtualFiles) {
- SimpleFile simpleFile = (SimpleFile) PsiManager.getInstance(project).findFile(virtualFile);
- if (simpleFile != null) {
- SimpleProperty[] properties = PsiTreeUtil.getChildrenOfType(simpleFile, SimpleProperty.class);
- if (properties != null) {
- Collections.addAll(result, properties);
- }
- }
- }
- return result;
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/icons/jar-gray.png b/simple_language_plugin/src/com/simpleplugin/icons/jar-gray.png
deleted file mode 100644
index 2642d51e5..000000000
Binary files a/simple_language_plugin/src/com/simpleplugin/icons/jar-gray.png and /dev/null differ
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementFactory.java b/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementFactory.java
deleted file mode 100644
index b1342259f..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.simpleplugin.psi;
-
-import com.intellij.openapi.project.Project;
-import com.intellij.psi.*;
-import com.simpleplugin.SimpleFileType;
-
-public class SimpleElementFactory {
- public static SimpleProperty createProperty(Project project, String name, String value) {
- final SimpleFile file = createFile(project, name + " = " + value);
- return (SimpleProperty) file.getFirstChild();
- }
-
- public static SimpleProperty createProperty(Project project, String name) {
- final SimpleFile file = createFile(project, name);
- return (SimpleProperty) file.getFirstChild();
- }
-
- public static PsiElement createCRLF(Project project) {
- final SimpleFile file = createFile(project, "\n");
- return file.getFirstChild();
- }
-
- public static SimpleFile createFile(Project project, String text) {
- String name = "dummy.simple";
- return (SimpleFile) PsiFileFactory.getInstance(project).
- createFileFromText(name, SimpleFileType.INSTANCE, text);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementType.java b/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementType.java
deleted file mode 100644
index f1b171a8a..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/SimpleElementType.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.simpleplugin.psi;
-
-import com.intellij.psi.tree.IElementType;
-import com.simpleplugin.SimpleLanguage;
-import org.jetbrains.annotations.*;
-
-public class SimpleElementType extends IElementType {
- public SimpleElementType(@NotNull @NonNls String debugName) {
- super(debugName, SimpleLanguage.INSTANCE);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/SimpleFile.java b/simple_language_plugin/src/com/simpleplugin/psi/SimpleFile.java
deleted file mode 100644
index 076172051..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/SimpleFile.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.simpleplugin.psi;
-
-import com.intellij.extapi.psi.PsiFileBase;
-import com.intellij.openapi.fileTypes.FileType;
-import com.intellij.psi.FileViewProvider;
-import com.simpleplugin.*;
-import org.jetbrains.annotations.NotNull;
-
-import javax.swing.*;
-
-public class SimpleFile extends PsiFileBase {
- public SimpleFile(@NotNull FileViewProvider viewProvider) {
- super(viewProvider, SimpleLanguage.INSTANCE);
- }
-
- @NotNull
- @Override
- public FileType getFileType() {
- return SimpleFileType.INSTANCE;
- }
-
- @Override
- public String toString() {
- return "Simple File";
- }
-
- @Override
- public Icon getIcon(int flags) {
- return super.getIcon(flags);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/SimpleNamedElement.java b/simple_language_plugin/src/com/simpleplugin/psi/SimpleNamedElement.java
deleted file mode 100644
index 8c4d9260c..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/SimpleNamedElement.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.simpleplugin.psi;
-
-import com.intellij.psi.PsiNameIdentifierOwner;
-
-public interface SimpleNamedElement extends PsiNameIdentifierOwner {
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/SimpleTokenType.java b/simple_language_plugin/src/com/simpleplugin/psi/SimpleTokenType.java
deleted file mode 100644
index b2227e8f6..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/SimpleTokenType.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.simpleplugin.psi;
-
-import com.intellij.psi.tree.IElementType;
-import com.simpleplugin.SimpleLanguage;
-import org.jetbrains.annotations.*;
-
-public class SimpleTokenType extends IElementType {
- public SimpleTokenType(@NotNull @NonNls String debugName) {
- super(debugName, SimpleLanguage.INSTANCE);
- }
-
- @Override
- public String toString() {
- return "SimpleTokenType." + super.toString();
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/impl/SimpleNamedElementImpl.java b/simple_language_plugin/src/com/simpleplugin/psi/impl/SimpleNamedElementImpl.java
deleted file mode 100644
index e727d873d..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/impl/SimpleNamedElementImpl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.simpleplugin.psi.impl;
-
-import com.intellij.extapi.psi.ASTWrapperPsiElement;
-import com.intellij.lang.ASTNode;
-import com.simpleplugin.psi.SimpleNamedElement;
-import org.jetbrains.annotations.NotNull;
-
-public abstract class SimpleNamedElementImpl extends ASTWrapperPsiElement implements SimpleNamedElement {
- public SimpleNamedElementImpl(@NotNull ASTNode node) {
- super(node);
- }
-}
\ No newline at end of file
diff --git a/simple_language_plugin/src/com/simpleplugin/psi/impl/SimplePsiImplUtil.java b/simple_language_plugin/src/com/simpleplugin/psi/impl/SimplePsiImplUtil.java
deleted file mode 100644
index 044228a65..000000000
--- a/simple_language_plugin/src/com/simpleplugin/psi/impl/SimplePsiImplUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.simpleplugin.psi.impl;
-
-import com.intellij.lang.ASTNode;
-import com.intellij.navigation.ItemPresentation;
-import com.intellij.psi.*;
-import com.simpleplugin.SimpleIcons;
-import com.simpleplugin.psi.*;
-import org.jetbrains.annotations.Nullable;
-
-import javax.swing.*;
-
-public class SimplePsiImplUtil {
- public static String getKey(SimpleProperty element) {
- ASTNode keyNode = element.getNode().findChildByType(SimpleTypes.KEY);
- if (keyNode != null) {
- // IMPORTANT: Convert embedded escaped spaces to simple spaces
- return keyNode.getText().replaceAll("\\\\ ", " ");
- } else {
- return null;
- }
- }
-
- public static String getValue(SimpleProperty element) {
- ASTNode valueNode = element.getNode().findChildByType(SimpleTypes.VALUE);
- if (valueNode != null) {
- return valueNode.getText();
- } else {
- return null;
- }
- }
-
- public static String getName(SimpleProperty element) {
- return getKey(element);
- }
-
- public static PsiElement setName(SimpleProperty element, String newName) {
- ASTNode keyNode = element.getNode().findChildByType(SimpleTypes.KEY);
- if (keyNode != null) {
- SimpleProperty property = SimpleElementFactory.createProperty(element.getProject(), newName);
- ASTNode newKeyNode = property.getFirstChild().getNode();
- element.getNode().replaceChild(keyNode, newKeyNode);
- }
- return element;
- }
-
- public static PsiElement getNameIdentifier(SimpleProperty element) {
- ASTNode keyNode = element.getNode().findChildByType(SimpleTypes.KEY);
- if (keyNode != null) {
- return keyNode.getPsi();
- } else {
- return null;
- }
- }
-
- public static ItemPresentation getPresentation(final SimpleProperty element) {
- return new ItemPresentation() {
- @Nullable
- @Override
- public String getPresentableText() {
- return element.getKey();
- }
-
- @Nullable
- @Override
- public String getLocationString() {
- PsiFile containingFile = element.getContainingFile();
- return containingFile == null ? null : containingFile.getName();
- }
-
- @Nullable
- @Override
- public Icon getIcon(boolean unused) {
- return SimpleIcons.FILE;
- }
- };
- }
-}
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/SimpleLexer.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/SimpleLexer.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/SimpleLexer.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/SimpleLexer.java
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/parser/SimpleParser.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/parser/SimpleParser.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/parser/SimpleParser.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/parser/SimpleParser.java
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleProperty.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleProperty.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleProperty.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleProperty.java
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleTypes.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleTypes.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleTypes.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleTypes.java
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleVisitor.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleVisitor.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/psi/SimpleVisitor.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/SimpleVisitor.java
diff --git a/simple_language/src/main/gen/com/intellij/sdk/language/psi/impl/SimplePropertyImpl.java b/simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/impl/SimplePropertyImpl.java
similarity index 100%
rename from simple_language/src/main/gen/com/intellij/sdk/language/psi/impl/SimplePropertyImpl.java
rename to simple_language_plugin/src/main/gen/com/intellij/sdk/language/psi/impl/SimplePropertyImpl.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/Simple.bnf b/simple_language_plugin/src/main/java/com/intellij/sdk/language/Simple.bnf
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/Simple.bnf
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/Simple.bnf
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/Simple.flex b/simple_language_plugin/src/main/java/com/intellij/sdk/language/Simple.flex
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/Simple.flex
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/Simple.flex
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleAnnotator.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleAnnotator.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleAnnotator.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleAnnotator.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleBlock.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleBlock.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleBlock.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleBlock.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleChooseByNameContributor.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleChooseByNameContributor.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleChooseByNameContributor.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleChooseByNameContributor.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettings.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettings.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettings.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettings.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleColorSettingsPage.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleColorSettingsPage.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleColorSettingsPage.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleColorSettingsPage.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleCommenter.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCommenter.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleCommenter.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCommenter.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleCompletionContributor.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCompletionContributor.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleCompletionContributor.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCompletionContributor.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleCreatePropertyQuickFix.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCreatePropertyQuickFix.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleCreatePropertyQuickFix.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleCreatePropertyQuickFix.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleFileType.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFileType.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleFileType.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFileType.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleFileTypeFactory.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFileTypeFactory.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleFileTypeFactory.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFileTypeFactory.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleFindUsagesProvider.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFindUsagesProvider.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleFindUsagesProvider.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFindUsagesProvider.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleFoldingBuilder.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFoldingBuilder.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleFoldingBuilder.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFoldingBuilder.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleFormattingModelBuilder.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFormattingModelBuilder.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleFormattingModelBuilder.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleFormattingModelBuilder.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleIcons.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleIcons.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleIcons.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleIcons.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleLanguage.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLanguage.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleLanguage.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLanguage.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleLexerAdapter.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLexerAdapter.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleLexerAdapter.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLexerAdapter.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleLineMarkerProvider.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLineMarkerProvider.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleLineMarkerProvider.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleLineMarkerProvider.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleParserDefinition.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleParserDefinition.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleParserDefinition.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleParserDefinition.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleRefactoringSupportProvider.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleRefactoringSupportProvider.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleRefactoringSupportProvider.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleRefactoringSupportProvider.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleReference.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleReference.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleReference.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleReference.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleReferenceContributor.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleReferenceContributor.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleReferenceContributor.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleReferenceContributor.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewElement.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewElement.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewElement.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewElement.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewFactory.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewFactory.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewFactory.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewFactory.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewModel.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewModel.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleStructureViewModel.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleStructureViewModel.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighter.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighter.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighter.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighter.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/SimpleUtil.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleUtil.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/SimpleUtil.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/SimpleUtil.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleElementFactory.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleElementFactory.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleElementFactory.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleElementFactory.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleElementType.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleElementType.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleElementType.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleElementType.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleFile.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleFile.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleFile.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleFile.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleNamedElement.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleNamedElement.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleNamedElement.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleNamedElement.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleTokenType.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleTokenType.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/SimpleTokenType.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/SimpleTokenType.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java
diff --git a/simple_language/src/main/java/com/intellij/sdk/language/psi/impl/SimplePsiImplUtil.java b/simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/impl/SimplePsiImplUtil.java
similarity index 100%
rename from simple_language/src/main/java/com/intellij/sdk/language/psi/impl/SimplePsiImplUtil.java
rename to simple_language_plugin/src/main/java/com/intellij/sdk/language/psi/impl/SimplePsiImplUtil.java
diff --git a/simple_language/src/main/resources/META-INF/plugin.xml b/simple_language_plugin/src/main/resources/META-INF/plugin.xml
similarity index 100%
rename from simple_language/src/main/resources/META-INF/plugin.xml
rename to simple_language_plugin/src/main/resources/META-INF/plugin.xml
diff --git a/simple_language/src/main/resources/META-INF/pluginIcon.svg b/simple_language_plugin/src/main/resources/META-INF/pluginIcon.svg
similarity index 100%
rename from simple_language/src/main/resources/META-INF/pluginIcon.svg
rename to simple_language_plugin/src/main/resources/META-INF/pluginIcon.svg
diff --git a/simple_language/src/main/resources/icons/jar-gray.png b/simple_language_plugin/src/main/resources/icons/jar-gray.png
similarity index 100%
rename from simple_language/src/main/resources/icons/jar-gray.png
rename to simple_language_plugin/src/main/resources/icons/jar-gray.png
diff --git a/simple_language/src/test/java/com/intellij/sdk/language/SimpleCodeInsightTest.java b/simple_language_plugin/src/test/java/com/intellij/sdk/language/SimpleCodeInsightTest.java
similarity index 100%
rename from simple_language/src/test/java/com/intellij/sdk/language/SimpleCodeInsightTest.java
rename to simple_language_plugin/src/test/java/com/intellij/sdk/language/SimpleCodeInsightTest.java
diff --git a/simple_language/src/test/java/com/intellij/sdk/language/SimpleParsingTest.java b/simple_language_plugin/src/test/java/com/intellij/sdk/language/SimpleParsingTest.java
similarity index 100%
rename from simple_language/src/test/java/com/intellij/sdk/language/SimpleParsingTest.java
rename to simple_language_plugin/src/test/java/com/intellij/sdk/language/SimpleParsingTest.java
diff --git a/simple_language/src/test/testData/AnnotatorTestData.java b/simple_language_plugin/src/test/testData/AnnotatorTestData.java
similarity index 100%
rename from simple_language/src/test/testData/AnnotatorTestData.java
rename to simple_language_plugin/src/test/testData/AnnotatorTestData.java
diff --git a/simple_language/src/test/testData/CompleteTestData.java b/simple_language_plugin/src/test/testData/CompleteTestData.java
similarity index 100%
rename from simple_language/src/test/testData/CompleteTestData.java
rename to simple_language_plugin/src/test/testData/CompleteTestData.java
diff --git a/simple_language/src/test/testData/DefaultTestData.simple b/simple_language_plugin/src/test/testData/DefaultTestData.simple
similarity index 100%
rename from simple_language/src/test/testData/DefaultTestData.simple
rename to simple_language_plugin/src/test/testData/DefaultTestData.simple
diff --git a/simple_language/src/test/testData/FindUsagesTestData.java b/simple_language_plugin/src/test/testData/FindUsagesTestData.java
similarity index 100%
rename from simple_language/src/test/testData/FindUsagesTestData.java
rename to simple_language_plugin/src/test/testData/FindUsagesTestData.java
diff --git a/simple_language/src/test/testData/FindUsagesTestData.simple b/simple_language_plugin/src/test/testData/FindUsagesTestData.simple
similarity index 100%
rename from simple_language/src/test/testData/FindUsagesTestData.simple
rename to simple_language_plugin/src/test/testData/FindUsagesTestData.simple
diff --git a/simple_language/src/test/testData/FoldingTestData.java b/simple_language_plugin/src/test/testData/FoldingTestData.java
similarity index 100%
rename from simple_language/src/test/testData/FoldingTestData.java
rename to simple_language_plugin/src/test/testData/FoldingTestData.java
diff --git a/simple_language/src/test/testData/FormatterTestData.simple b/simple_language_plugin/src/test/testData/FormatterTestData.simple
similarity index 100%
rename from simple_language/src/test/testData/FormatterTestData.simple
rename to simple_language_plugin/src/test/testData/FormatterTestData.simple
diff --git a/simple_language/src/test/testData/ParsingTestData.simple b/simple_language_plugin/src/test/testData/ParsingTestData.simple
similarity index 100%
rename from simple_language/src/test/testData/ParsingTestData.simple
rename to simple_language_plugin/src/test/testData/ParsingTestData.simple
diff --git a/simple_language/src/test/testData/ParsingTestData.txt b/simple_language_plugin/src/test/testData/ParsingTestData.txt
similarity index 100%
rename from simple_language/src/test/testData/ParsingTestData.txt
rename to simple_language_plugin/src/test/testData/ParsingTestData.txt
diff --git a/simple_language/src/test/testData/ReferenceTestData.java b/simple_language_plugin/src/test/testData/ReferenceTestData.java
similarity index 100%
rename from simple_language/src/test/testData/ReferenceTestData.java
rename to simple_language_plugin/src/test/testData/ReferenceTestData.java
diff --git a/simple_language/src/test/testData/RenameTestData.java b/simple_language_plugin/src/test/testData/RenameTestData.java
similarity index 100%
rename from simple_language/src/test/testData/RenameTestData.java
rename to simple_language_plugin/src/test/testData/RenameTestData.java
diff --git a/simple_language/src/test/testData/RenameTestData.simple b/simple_language_plugin/src/test/testData/RenameTestData.simple
similarity index 100%
rename from simple_language/src/test/testData/RenameTestData.simple
rename to simple_language_plugin/src/test/testData/RenameTestData.simple
diff --git a/simple_language/src/test/testData/RenameTestDataAfter.simple b/simple_language_plugin/src/test/testData/RenameTestDataAfter.simple
similarity index 100%
rename from simple_language/src/test/testData/RenameTestDataAfter.simple
rename to simple_language_plugin/src/test/testData/RenameTestDataAfter.simple
diff --git a/simple_language_plugin/testData/AnnotatorTestData.java b/simple_language_plugin/testData/AnnotatorTestData.java
deleted file mode 100644
index eae0b79de..000000000
--- a/simple_language_plugin/testData/AnnotatorTestData.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:website");
- System.out.println("simple:key with spaces");
- System.out.println("simple:websit");
- }
-}
diff --git a/simple_language_plugin/testData/CompleteTestData.java b/simple_language_plugin/testData/CompleteTestData.java
deleted file mode 100644
index 7c2c666a1..000000000
--- a/simple_language_plugin/testData/CompleteTestData.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:");
- }
-}
diff --git a/simple_language_plugin/testData/DefaultTestData.simple b/simple_language_plugin/testData/DefaultTestData.simple
deleted file mode 100644
index ebe624812..000000000
--- a/simple_language_plugin/testData/DefaultTestData.simple
+++ /dev/null
@@ -1,14 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-website = http://en.wikipedia.org/
-
-
-language = English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab : \u0009
diff --git a/simple_language_plugin/testData/FindUsagesTestData.java b/simple_language_plugin/testData/FindUsagesTestData.java
deleted file mode 100644
index 727681239..000000000
--- a/simple_language_plugin/testData/FindUsagesTestData.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:key with spaces");
- }
-}
diff --git a/simple_language_plugin/testData/FindUsagesTestData.simple b/simple_language_plugin/testData/FindUsagesTestData.simple
deleted file mode 100644
index 2f31ab9e2..000000000
--- a/simple_language_plugin/testData/FindUsagesTestData.simple
+++ /dev/null
@@ -1,13 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-website = http://en.wikipedia.org/
-
-language = English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab : \u0009
diff --git a/simple_language_plugin/testData/FoldingTestData.java b/simple_language_plugin/testData/FoldingTestData.java
deleted file mode 100644
index 1920b5fae..000000000
--- a/simple_language_plugin/testData/FoldingTestData.java
+++ /dev/null
@@ -1,11 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:website");
- }
- public static void main1(String[] args) {
- System.out.println("simple:key with spaces");
- }
- public static void main2(String[] args) {
- System.out.println("simple:message");
- }
-}
diff --git a/simple_language_plugin/testData/FormatterTestData.simple b/simple_language_plugin/testData/FormatterTestData.simple
deleted file mode 100644
index 44a78fa68..000000000
--- a/simple_language_plugin/testData/FormatterTestData.simple
+++ /dev/null
@@ -1,15 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-website=http://en.wikipedia.org/
-
-
-
-language= English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab :\u0009
diff --git a/simple_language_plugin/testData/ParsingTestData.simple b/simple_language_plugin/testData/ParsingTestData.simple
deleted file mode 100644
index e11fdcef3..000000000
--- a/simple_language_plugin/testData/ParsingTestData.simple
+++ /dev/null
@@ -1,17 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-website = http://en.wikipedia.org/
-
-language = English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab : \u0009
-# test for illegal key attempt
-key\
-with\
-endofline = test
diff --git a/simple_language_plugin/testData/ParsingTestData.txt b/simple_language_plugin/testData/ParsingTestData.txt
deleted file mode 100644
index 012fa0291..000000000
--- a/simple_language_plugin/testData/ParsingTestData.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-Simple File(0,492)
- PsiComment(SimpleTokenType.COMMENT)('# You are reading the ".properties" entry.')(0,42)
- PsiWhiteSpace('\n')(42,43)
- PsiComment(SimpleTokenType.COMMENT)('! The exclamation mark can also mark text as comments.')(43,97)
- PsiWhiteSpace('\n')(97,98)
- SimplePropertyImpl(PROPERTY)(98,132)
- PsiElement(SimpleTokenType.KEY)('website')(98,105)
- PsiWhiteSpace(' ')(105,106)
- PsiElement(SimpleTokenType.SEPARATOR)('=')(106,107)
- PsiWhiteSpace(' ')(107,108)
- PsiElement(SimpleTokenType.VALUE)('http://en.wikipedia.org/')(108,132)
- PsiWhiteSpace('\n\n')(132,134)
- SimplePropertyImpl(PROPERTY)(134,152)
- PsiElement(SimpleTokenType.KEY)('language')(134,142)
- PsiWhiteSpace(' ')(142,143)
- PsiElement(SimpleTokenType.SEPARATOR)('=')(143,144)
- PsiWhiteSpace(' ')(144,145)
- PsiElement(SimpleTokenType.VALUE)('English')(145,152)
- PsiWhiteSpace('\n')(152,153)
- PsiComment(SimpleTokenType.COMMENT)('# The backslash below tells the application to continue reading')(153,216)
- PsiWhiteSpace('\n')(216,217)
- PsiComment(SimpleTokenType.COMMENT)('# the value onto the next line.')(217,248)
- PsiWhiteSpace('\n')(248,249)
- SimplePropertyImpl(PROPERTY)(249,292)
- PsiElement(SimpleTokenType.KEY)('message')(249,256)
- PsiWhiteSpace(' ')(256,257)
- PsiElement(SimpleTokenType.SEPARATOR)('=')(257,258)
- PsiWhiteSpace(' ')(258,259)
- PsiElement(SimpleTokenType.VALUE)('Welcome to \\n Wikipedia!')(259,292)
- PsiWhiteSpace('\n')(292,293)
- PsiComment(SimpleTokenType.COMMENT)('# Add spaces to the key')(293,316)
- PsiWhiteSpace('\n')(316,317)
- SimplePropertyImpl(PROPERTY)(317,410)
- PsiElement(SimpleTokenType.KEY)('key\ with\ spaces')(317,334)
- PsiWhiteSpace(' ')(334,335)
- PsiElement(SimpleTokenType.SEPARATOR)('=')(335,336)
- PsiWhiteSpace(' ')(336,337)
- PsiElement(SimpleTokenType.VALUE)('This is the value that could be looked up with the key "key with spaces".')(337,410)
- PsiWhiteSpace('\n')(410,411)
- PsiComment(SimpleTokenType.COMMENT)('# Unicode')(411,420)
- PsiWhiteSpace('\n')(420,421)
- SimplePropertyImpl(PROPERTY)(421,433)
- PsiElement(SimpleTokenType.KEY)('tab')(421,424)
- PsiWhiteSpace(' ')(424,425)
- PsiElement(SimpleTokenType.SEPARATOR)(':')(425,426)
- PsiWhiteSpace(' ')(426,427)
- PsiElement(SimpleTokenType.VALUE)('\u0009')(427,433)
- PsiWhiteSpace('\n')(433,434)
- PsiComment(SimpleTokenType.COMMENT)('# test for illegal key attempt')(434,464)
- PsiWhiteSpace('\n')(464,465)
- SimplePropertyImpl(PROPERTY)(465,469)
- PsiElement(SimpleTokenType.KEY)('key')(465,468)
- PsiErrorElement:SimpleTokenType.SEPARATOR expected, got '\'(468,469)
- PsiElement(BAD_CHARACTER)('\')(468,469)
- PsiWhiteSpace('\n')(469,470)
- SimplePropertyImpl(PROPERTY)(470,475)
- PsiElement(SimpleTokenType.KEY)('with')(470,474)
- PsiErrorElement:SimpleTokenType.SEPARATOR expected, got '\'(474,475)
- PsiElement(BAD_CHARACTER)('\')(474,475)
- PsiWhiteSpace('\n')(475,476)
- SimplePropertyImpl(PROPERTY)(476,492)
- PsiElement(SimpleTokenType.KEY)('endofline')(476,485)
- PsiWhiteSpace(' ')(485,486)
- PsiElement(SimpleTokenType.SEPARATOR)('=')(486,487)
- PsiWhiteSpace(' ')(487,488)
- PsiElement(SimpleTokenType.VALUE)('test')(488,492)
\ No newline at end of file
diff --git a/simple_language_plugin/testData/ReferenceTestData.java b/simple_language_plugin/testData/ReferenceTestData.java
deleted file mode 100644
index 92c55dfd5..000000000
--- a/simple_language_plugin/testData/ReferenceTestData.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:website");
- }
-}
diff --git a/simple_language_plugin/testData/RenameTestData.java b/simple_language_plugin/testData/RenameTestData.java
deleted file mode 100644
index 92c55dfd5..000000000
--- a/simple_language_plugin/testData/RenameTestData.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class Test {
- public static void main(String[] args) {
- System.out.println("simple:website");
- }
-}
diff --git a/simple_language_plugin/testData/RenameTestData.simple b/simple_language_plugin/testData/RenameTestData.simple
deleted file mode 100644
index 31492ca75..000000000
--- a/simple_language_plugin/testData/RenameTestData.simple
+++ /dev/null
@@ -1,13 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-website = http://en.wikipedia.org/
-
-language = English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab : \u0009
\ No newline at end of file
diff --git a/simple_language_plugin/testData/RenameTestDataAfter.simple b/simple_language_plugin/testData/RenameTestDataAfter.simple
deleted file mode 100644
index 71bf7bf73..000000000
--- a/simple_language_plugin/testData/RenameTestDataAfter.simple
+++ /dev/null
@@ -1,13 +0,0 @@
-# You are reading the ".properties" entry.
-! The exclamation mark can also mark text as comments.
-websiteUrl = http://en.wikipedia.org/
-
-language = English
-# The backslash below tells the application to continue reading
-# the value onto the next line.
-message = Welcome to \
- Wikipedia!
-# Add spaces to the key
-key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
-# Unicode
-tab : \u0009
\ No newline at end of file
diff --git a/simple_language_plugin/tests/com/simpleplugin/SimpleCodeInsightTest.java b/simple_language_plugin/tests/com/simpleplugin/SimpleCodeInsightTest.java
deleted file mode 100644
index 6ce61b42e..000000000
--- a/simple_language_plugin/tests/com/simpleplugin/SimpleCodeInsightTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.application.options.CodeStyle;
-import com.intellij.codeInsight.completion.CompletionType;
-import com.intellij.codeInsight.generation.actions.CommentByLineCommentAction;
-import com.intellij.openapi.command.WriteCommandAction;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.codeStyle.CodeStyleManager;
-import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
-import com.intellij.usageView.UsageInfo;
-import com.intellij.util.containers.ContainerUtil;
-import com.simpleplugin.psi.SimpleProperty;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-public class SimpleCodeInsightTest extends LightJavaCodeInsightFixtureTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- // path to test data file directory relative to working directory in the run configuration for this test.
- @Override
- protected String getTestDataPath() { return "testData"; }
-
- public void testCompletion() {
- myFixture.configureByFiles("CompleteTestData.java", "DefaultTestData.simple");
- myFixture.complete(CompletionType.BASIC, 1);
- List strings = myFixture.getLookupElementStrings();
- assertTrue(strings.containsAll(Arrays.asList("key with spaces", "language", "message", "tab", "website")));
- assertEquals(5, strings.size());
- }
-
- public void testAnnotator() {
- myFixture.configureByFiles("AnnotatorTestData.java", "DefaultTestData.simple");
- myFixture.checkHighlighting(false, false, true, true);
- }
-
- public void testFormatter() {
- myFixture.configureByFiles("FormatterTestData.simple");
- CodeStyle.getLanguageSettings(myFixture.getFile()).SPACE_AROUND_ASSIGNMENT_OPERATORS = true;
- CodeStyle.getLanguageSettings(myFixture.getFile()).KEEP_BLANK_LINES_IN_CODE = 2;
- WriteCommandAction.writeCommandAction(getProject()).run(() -> {
- CodeStyleManager.getInstance(getProject()).reformatText(myFixture.getFile(),
- ContainerUtil.newArrayList(myFixture.getFile().getTextRange()));
- });
- myFixture.checkResultByFile("DefaultTestData.simple");
- }
-
- public void testRename() {
- myFixture.configureByFiles("RenameTestData.java", "RenameTestData.simple");
- myFixture.renameElementAtCaret("websiteUrl");
- myFixture.checkResultByFile("RenameTestData.simple", "RenameTestDataAfter.simple", false);
- }
-
- public void testFolding() {
- myFixture.configureByFiles("DefaultTestData.simple");
- myFixture.testFolding(getTestDataPath() + "/FoldingTestData.java");
- }
-
- public void testFindUsages() {
- Collection usageInfos = myFixture.testFindUsages("FindUsagesTestData.simple", "FindUsagesTestData.java");
- assertEquals(1, usageInfos.size());
- }
-
- public void testCommenter() {
- myFixture.configureByText(SimpleFileType.INSTANCE, "website = http://en.wikipedia.org/");
- CommentByLineCommentAction commentAction = new CommentByLineCommentAction();
- commentAction.actionPerformedImpl(getProject(), myFixture.getEditor());
- myFixture.checkResult("#website = http://en.wikipedia.org/");
- commentAction.actionPerformedImpl(getProject(), myFixture.getEditor());
- myFixture.checkResult("website = http://en.wikipedia.org/");
- }
-
- public void testReference() {
- myFixture.configureByFiles("ReferenceTestData.java", "DefaultTestData.simple");
- PsiElement element = myFixture.getFile().findElementAt(myFixture.getCaretOffset()).getParent();
- assertEquals("http://en.wikipedia.org/", ((SimpleProperty) element.getReferences()[0].resolve()).getValue());
- }
-}
diff --git a/simple_language_plugin/tests/com/simpleplugin/SimpleParsingTest.java b/simple_language_plugin/tests/com/simpleplugin/SimpleParsingTest.java
deleted file mode 100644
index 41f3a0142..000000000
--- a/simple_language_plugin/tests/com/simpleplugin/SimpleParsingTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.simpleplugin;
-
-import com.intellij.testFramework.ParsingTestCase;
-
-public class SimpleParsingTest extends ParsingTestCase {
- public SimpleParsingTest() {
- super("", "simple", new SimpleParserDefinition());
- }
-
- public void testParsingTestData() {
- doTest(true);
- }
-
- @Override
- protected String getTestDataPath() {
- return "testData";
- }
-
- @Override
- protected boolean skipSpaces() {
- return false;
- }
-
- @Override
- protected boolean includeRanges() {
- return true;
- }
-}