summaryrefslogtreecommitdiffstats
path: root/sd-plugin
diff options
context:
space:
mode:
authorsariel <shahar.ariel@verizonmedia.com>2021-10-20 13:29:21 +0300
committersariel <shahar.ariel@verizonmedia.com>2021-10-20 13:29:21 +0300
commitf4068feed1b0923fa66a566b56002283e437bd8b (patch)
tree6513d8f601ce3d6bbe60b6867c2610ae81fd68a8 /sd-plugin
parent546a139308686d7619da69c8330b42873ce15a11 (diff)
Add class headers with description and @author tag
Diffstat (limited to 'sd-plugin')
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdBlock.java60
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettings.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettingsProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdCommenter.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdCompletionContributor.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdFileType.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdFormattingModelBuilder.java37
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdIcons.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguage.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguageCodeStyleSettingsProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdLexerAdapter.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdRefactoringSupportProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdReference.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java7
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighterFactory.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRule.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRuleProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandler.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandlerFactory.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRule.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRuleProvider.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyBrowser.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyNodeDescriptor.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyProvider.java5
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallTreeStructure.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCalleeTreeStructure.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallerTreeStructure.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdHierarchyUtil.java5
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/parser/SdParserDefinition.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf12
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclaration.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclarationType.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementDescriptionProvider.java7
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementFactory.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementType.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdFile.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdIdentifier.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdNamedElement.java5
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdTokenType.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdNamedElementImpl.java5
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdPsiImplUtil.java3
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/sd.flex26
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java4
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewFactory.java5
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewModel.java3
-rw-r--r--sd-plugin/src/main/resources/META-INF/plugin.xml1
50 files changed, 209 insertions, 116 deletions
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdBlock.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdBlock.java
deleted file mode 100644
index d32baf86d7a..00000000000
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdBlock.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.intellij.sdk.language;
-
-import com.intellij.formatting.Alignment;
-import com.intellij.formatting.Block;
-import com.intellij.formatting.Indent;
-import com.intellij.formatting.Spacing;
-import com.intellij.formatting.SpacingBuilder;
-import com.intellij.formatting.Wrap;
-import com.intellij.formatting.WrapType;
-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 SdBlock extends AbstractBlock {
-
- private final SpacingBuilder spacingBuilder;
-
- protected SdBlock(@NotNull ASTNode node, @Nullable Wrap wrap, @Nullable Alignment alignment,
- SpacingBuilder spacingBuilder) {
- super(node, wrap, alignment);
- this.spacingBuilder = spacingBuilder;
- }
-
- @Override
- protected List<Block> buildChildren() {
- List<Block> blocks = new ArrayList<>();
- ASTNode child = myNode.getFirstChildNode();
- while (child != null) {
- if (child.getElementType() != TokenType.WHITE_SPACE) {
- Block block = new SdBlock(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/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java
index 45e26f401d4..cfcb06614d7 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdChooseByNameContributor.java
@@ -16,6 +16,10 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+/**
+ * This class is used for the extension (in plugin.xml) to enable "Go To Symbol" feature.
+ * @author shahariel
+ */
public class SdChooseByNameContributor implements ChooseByNameContributor {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettings.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettings.java
index 0719ac7f426..e4c441e1877 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettings.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettings.java
@@ -3,6 +3,10 @@ package org.intellij.sdk.language;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
+/**
+ * This class represent a code style settings, and creates an option page in settings/preferences.
+ * @author shahariel
+ */
public class SdCodeStyleSettings extends CustomCodeStyleSettings {
public SdCodeStyleSettings(CodeStyleSettings settings) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettingsProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettingsProvider.java
index 6ea68655c70..095426262fd 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettingsProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCodeStyleSettingsProvider.java
@@ -10,6 +10,10 @@ import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdCodeStyleSettings.
+ * @author shahariel
+ */
public class SdCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCommenter.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCommenter.java
index e0fc30df22b..1a91e16b494 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCommenter.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCommenter.java
@@ -4,7 +4,9 @@ import com.intellij.lang.Commenter;
import org.jetbrains.annotations.Nullable;
/**
- * This class enables turning a line into a comment with "Code -> Comment with line comment"
+ * This class is used for the extension (in plugin.xml), to enable turning a line into a comment with
+ * "Code -> Comment with line comment".
+ * @author shahariel
*/
public class SdCommenter implements Commenter {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCompletionContributor.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCompletionContributor.java
index 5dd67e5b6e6..b73e49bd430 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdCompletionContributor.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdCompletionContributor.java
@@ -11,6 +11,10 @@ import com.intellij.util.ProcessingContext;
import org.intellij.sdk.language.psi.SdTypes;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class is used for the extension (in plugin.xml) to enables Auto-Complete. Partially works for now.
+ * @author shahariel
+ */
public class SdCompletionContributor extends CompletionContributor {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdFileType.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdFileType.java
index eeed80ad9f1..0ca8eb332a3 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdFileType.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdFileType.java
@@ -6,6 +6,10 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.Icon;
+/**
+ * This class is used for the extension (in plugin.xml), to define SD as a file's type.
+ * @author shahariel
+ */
public class SdFileType extends LanguageFileType {
public static final SdFileType INSTANCE = new SdFileType();
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdFormattingModelBuilder.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdFormattingModelBuilder.java
deleted file mode 100644
index 35f57f65c26..00000000000
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdFormattingModelBuilder.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.intellij.sdk.language;
-
-import com.intellij.formatting.Alignment;
-import com.intellij.formatting.FormattingContext;
-import com.intellij.formatting.FormattingModel;
-import com.intellij.formatting.FormattingModelBuilder;
-import com.intellij.formatting.FormattingModelProvider;
-import com.intellij.formatting.SpacingBuilder;
-import com.intellij.formatting.Wrap;
-import com.intellij.formatting.WrapType;
-import com.intellij.psi.codeStyle.CodeStyleSettings;
-import org.intellij.sdk.language.psi.SdTypes;
-import org.jetbrains.annotations.NotNull;
-
-public class SdFormattingModelBuilder implements FormattingModelBuilder {
-
- private static SpacingBuilder createSpaceBuilder(CodeStyleSettings settings) {
- return new SpacingBuilder(settings, SdLanguage.INSTANCE)
- .around(SdTypes.SYMBOL)
- .spaceIf(settings.getCommonSettings(SdLanguage.INSTANCE.getID()).SPACE_AFTER_COLON)
- .before(SdTypes.DOCUMENT_FIELD_DEFINITION)
- .none();
- }
-
- @Override
- public @NotNull FormattingModel createModel(@NotNull FormattingContext formattingContext) {
- final CodeStyleSettings codeStyleSettings = formattingContext.getCodeStyleSettings();
- return FormattingModelProvider
- .createFormattingModelForPsiFile(formattingContext.getContainingFile(),
- new SdBlock(formattingContext.getNode(),
- Wrap.createWrap(WrapType.NONE, false),
- Alignment.createAlignment(),
- createSpaceBuilder(codeStyleSettings)),
- codeStyleSettings);
- }
-
-}
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdIcons.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdIcons.java
index 8dadda25774..31c25b2181d 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdIcons.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdIcons.java
@@ -4,6 +4,10 @@ import com.intellij.openapi.util.IconLoader;
import javax.swing.Icon;
+/**
+ * This class is used for defining Icons for the IDE.
+ * @author shahariel
+ */
public class SdIcons {
public static final Icon FILE = IconLoader.getIcon("icons/sd_icon.png", SdIcons.class);
public static final Icon STRUCT_FIELD = IconLoader.getIcon("icons/struct_field_icon.png", SdIcons.class);
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguage.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguage.java
index 7dbf10b68ac..389b4915543 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguage.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguage.java
@@ -2,6 +2,10 @@ package org.intellij.sdk.language;
import com.intellij.lang.Language;
+/**
+ * This class defines SD as a language.
+ * @author shahariel
+ */
public class SdLanguage extends Language {
public static final SdLanguage INSTANCE = new SdLanguage();
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguageCodeStyleSettingsProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguageCodeStyleSettingsProvider.java
index b51ae286201..ed944dfb3d1 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguageCodeStyleSettingsProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLanguageCodeStyleSettingsProvider.java
@@ -5,6 +5,10 @@ import com.intellij.psi.codeStyle.CodeStyleSettingsCustomizable;
import com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class is used for the extension (in plugin.xml), to make the IDE use our plugin's code for coding style.
+ * @author shahariel
+ */
public class SdLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSettingsProvider {
@NotNull
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLexerAdapter.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLexerAdapter.java
index 3363ce730b8..377b4f44c68 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdLexerAdapter.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdLexerAdapter.java
@@ -3,6 +3,10 @@ package org.intellij.sdk.language;
import com.intellij.lexer.FlexAdapter;
import org.intellij.sdk.language.lexer.SdLexer;
+/**
+ * This class adapts the JFlex lexer to the IntelliJ Platform Lexer API.
+ * @author shahariel
+ */
public class SdLexerAdapter extends FlexAdapter {
public SdLexerAdapter() {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdRefactoringSupportProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdRefactoringSupportProvider.java
index 5867729d54d..62f67c303b9 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdRefactoringSupportProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdRefactoringSupportProvider.java
@@ -6,6 +6,10 @@ import org.intellij.sdk.language.psi.SdIdentifierVal;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml), to enable refactoring.
+ * @author shahariel
+ */
public class SdRefactoringSupportProvider extends RefactoringSupportProvider {
@Override
public boolean isMemberInplaceRenameAvailable(@NotNull PsiElement elementToRename, @Nullable PsiElement context) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdReference.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdReference.java
index 891d94e15cb..2aac3f29e4a 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdReference.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdReference.java
@@ -17,6 +17,10 @@ import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
+/**
+ * This class represent a reference to a Psi Element.
+ * @author shahariel
+ */
public class SdReference extends PsiReferenceBase<PsiElement> implements PsiPolyVariantReference {
private final String elementName;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
index ea2e6331c38..2f21400f14a 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
@@ -14,6 +14,10 @@ import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
+/**
+ * This class defines the syntax highlighting of an SD file.
+ * @author shahariel
+ */
public class SdSyntaxHighlighter extends SyntaxHighlighterBase {
private static final HashSet<IElementType> keyWordsSet = initKeyWordsSet();
@@ -52,9 +56,8 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase {
return new SdLexerAdapter();
}
- @NotNull
@Override
- public TextAttributesKey[] getTokenHighlights(IElementType tokenType) {
+ public TextAttributesKey @NotNull [] getTokenHighlights(IElementType tokenType) {
if (tokenType.equals(SdTypes.IDENTIFIER_VAL)) {
return IDENTIFIER_KEYS;
// } else if (tokenType.equals(SdTypes.KEY)) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighterFactory.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighterFactory.java
index c4bc4491bf1..292224741bd 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighterFactory.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighterFactory.java
@@ -6,6 +6,10 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdSyntaxHighlighter.
+ * @author shahariel
+ */
public class SdSyntaxHighlighterFactory extends SyntaxHighlighterFactory {
@NotNull
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java
index 50eef106b90..0b0c75087d6 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdUtil.java
@@ -36,6 +36,10 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
+/**
+ * This is the util class for the plugin's code.
+ * @author shahariel
+ */
public class SdUtil {
public static @NotNull HashMap<String, List<PsiElement>> createMacrosMap(SdFile file) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRule.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRule.java
index d4d38c8c38a..4833027948b 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRule.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRule.java
@@ -12,6 +12,10 @@ import org.intellij.sdk.language.psi.SdDocumentSummaryDefinition;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class represent a Document Summary that groups elements in the "Find Usages" window.
+ * @author shahariel
+ */
public class SdDocumentSummaryGroupingRule extends SingleParentUsageGroupingRule implements DumbAware {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRuleProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRuleProvider.java
index ffd620c822e..9ec6b2cc220 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRuleProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdDocumentSummaryGroupingRuleProvider.java
@@ -6,6 +6,10 @@ import com.intellij.usages.rules.UsageGroupingRule;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdDocumentSummaryGroupingRule.
+ * @author shahariel
+ */
public class SdDocumentSummaryGroupingRuleProvider implements FileStructureGroupRuleProvider {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandler.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandler.java
index f00ea940613..f3a41ae2dd7 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandler.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandler.java
@@ -20,6 +20,10 @@ import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.List;
+/**
+ * This class handles creating the "Find Usages" window.
+ * @author shahariel
+ */
public class SdFindUsagesHandler extends FindUsagesHandler {
protected HashMap<String, List<PsiElement>> macrosMap;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandlerFactory.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandlerFactory.java
index e5a6580c8c2..dbf6e4c32e7 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandlerFactory.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesHandlerFactory.java
@@ -7,6 +7,10 @@ import com.intellij.psi.PsiNamedElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdFindUsagesHandler.
+ * @author shahariel
+ */
public class SdFindUsagesHandlerFactory extends FindUsagesHandlerFactory {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesProvider.java
index eaa5b43641d..d252c8ae0d2 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdFindUsagesProvider.java
@@ -15,6 +15,10 @@ import org.intellij.sdk.language.psi.SdTypes;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml), to enable "find Usages" window using the plugin code.
+ * @author shahariel
+ */
public class SdFindUsagesProvider implements FindUsagesProvider {
@Nullable
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRule.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRule.java
index 379f70903df..294469f457d 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRule.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRule.java
@@ -12,6 +12,10 @@ import org.intellij.sdk.language.psi.SdRankProfileDefinition;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class represent a Rank Profile that groups elements in the "Find Usages" window.
+ * @author shahariel
+ */
public class SdRankProfileGroupingRule extends SingleParentUsageGroupingRule implements DumbAware {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRuleProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRuleProvider.java
index 9ed8628dc44..8413a335c7c 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRuleProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdRankProfileGroupingRuleProvider.java
@@ -6,6 +6,10 @@ import com.intellij.usages.rules.UsageGroupingRule;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdRankProfileGroupingRule.
+ * @author shahariel
+ */
public class SdRankProfileGroupingRuleProvider implements FileStructureGroupRuleProvider {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java
index 21f54f86472..e2a2bd895cc 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/findUsages/SdUsageGroup.java
@@ -15,6 +15,10 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
+/**
+ * This class represent a group of elements in the "Find Usages" window.
+ * @author shahariel
+ */
public class SdUsageGroup implements UsageGroup {
private final VirtualFile myFile;
private final SmartPsiElementPointer<SdDeclaration> myElementPointer;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyBrowser.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyBrowser.java
index 5960f1241c3..621d939ce1a 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyBrowser.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyBrowser.java
@@ -21,6 +21,10 @@ import java.util.Map;
import javax.swing.JTree;
+/**
+ * This class is a browser for the "Call Hierarchy" window.
+ * @author shahariel
+ */
public class SdCallHierarchyBrowser extends CallHierarchyBrowserBase {
public SdCallHierarchyBrowser(@NotNull Project project,
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyNodeDescriptor.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyNodeDescriptor.java
index 0cf612b0058..297056dc524 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyNodeDescriptor.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyNodeDescriptor.java
@@ -18,6 +18,10 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.Icon;
+/**
+ * This class represents a node descriptor to a node in a tree in the "Call Hierarchy" window.
+ * @author shahariel
+ */
public class SdCallHierarchyNodeDescriptor extends HierarchyNodeDescriptor {
public SdCallHierarchyNodeDescriptor(final NodeDescriptor parentDescriptor, @NotNull final PsiElement element, final boolean isBase) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyProvider.java
index 44bfdca134f..09f4d2a603d 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallHierarchyProvider.java
@@ -23,7 +23,10 @@ import com.intellij.openapi.project.Project;
import com.intellij.psi.util.PsiTreeUtil;
-
+/**
+ * This class is used for the extension (in plugin.xml), to enable "Call Hierarchy" window using the plugin code.
+ * @author shahariel
+ */
public class SdCallHierarchyProvider implements HierarchyProvider {
@Override
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallTreeStructure.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallTreeStructure.java
index fb612ed851a..636871fc719 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallTreeStructure.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallTreeStructure.java
@@ -20,6 +20,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+/**
+ * This abstract class represents a general tree in the "Call Hierarchy" window.
+ * @author shahariel
+ */
public abstract class SdCallTreeStructure extends HierarchyTreeStructure {
protected final String myScopeType;
protected final SdFile myFile;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCalleeTreeStructure.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCalleeTreeStructure.java
index 977d1948b81..a8f8622a8d5 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCalleeTreeStructure.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCalleeTreeStructure.java
@@ -15,6 +15,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+/**
+ * This class represents a Callee tree in the "Call Hierarchy" window.
+ * @author shahariel
+ */
public class SdCalleeTreeStructure extends SdCallTreeStructure {
public SdCalleeTreeStructure(Project project, PsiElement element, String currentScopeType) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallerTreeStructure.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallerTreeStructure.java
index f6b21fc9ead..28bd39b5c00 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallerTreeStructure.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdCallerTreeStructure.java
@@ -17,6 +17,10 @@ import java.util.HashSet;
import java.util.List;
import java.util.function.Consumer;
+/**
+ * This class represents a Caller tree in the "Call Hierarchy" window.
+ * @author shahariel
+ */
public class SdCallerTreeStructure extends SdCallTreeStructure {
private HashMap<String, HashSet<PsiElement>> macroTreeChildren;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdHierarchyUtil.java b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdHierarchyUtil.java
index b3376a85524..186327178d3 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdHierarchyUtil.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/hierarchy/SdHierarchyUtil.java
@@ -15,7 +15,10 @@ import org.intellij.sdk.language.psi.SdRankProfileDefinition;
import java.util.Comparator;
import java.util.HashSet;
-
+/**
+ * This class is util class to the Call Hierarchy feature.
+ * @author shahariel
+ */
public class SdHierarchyUtil {
private static final Comparator<NodeDescriptor<?>> NODE_DESCRIPTOR_COMPARATOR = Comparator.comparingInt(NodeDescriptor::getIndex);
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/SdParserDefinition.java b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/SdParserDefinition.java
index 9d888a89cbf..aeb1a718de7 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/SdParserDefinition.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/SdParserDefinition.java
@@ -18,6 +18,10 @@ import org.intellij.sdk.language.psi.SdFile;
import org.intellij.sdk.language.psi.SdTypes;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class is used for the extension (in plugin.xml), to make the parsing process use the plugin code.
+ * @author shahariel
+ */
public class SdParserDefinition implements ParserDefinition {
public static final TokenSet WHITE_SPACES = TokenSet.create(TokenType.WHITE_SPACE);
public static final TokenSet COMMENTS = TokenSet.create(SdTypes.COMMENT);
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
index 64cb06f48db..245975f301c 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
@@ -1,3 +1,9 @@
+/**
+This file is the SD grammar.
+NOTE: This grammar does not enforce zero-or-one occurrences of elements (treats it like zero-to-many)
+@author: shahariel
+ */
+
{
parserClass="org.intellij.sdk.language.parser.SdParser" // Name and the location of the parser which will be generated.
@@ -34,8 +40,6 @@
]
}
-// NOTE: This grammar does not enforce zero-or-one occurrences of elements (treats it like zero-to-many)
-
SdFile ::= SchemaDefinition
SchemaDefinition ::= (search | schema) IdentifierVal? '{' SchemaBody '}'
SchemaBody ::= SchemaBodyOptions* DocumentDefinition SchemaBodyOptions* // Does not support zero-or-one occurrences
@@ -322,13 +326,13 @@ KeywordOrIdentifier ::= schema | search | document | struct | field | type | ind
function | macro | inline | text | exact | word | prefix | cased | uncased | substring | suffix |
gram | paged | mutable | alias | sorting | strength | locale | uca | lowercase |
primary | secondary | tertiary | quaternary | identical | rank | filter | normal | none | full | dynamic |
- source | to | strict | loose | //execute |
+ source | to | strict | loose |
bolding | on | off | true | false | id | normalizing | stemming | arity | hnsw | dictionary | hash | btree |
fieldset | fields | constant | annotation
- // KeywordNotIdentifier ::= (not enforced in this version)
| attribute | body | header | index |
reference | summary
+// Note- in this form, those keywords can't be use as identifier-with-dash!
KeywordNotIdentifier ::= struct-field | document-summary | omit-summary-features | from-disk | rank-profile | rank-type |
num-threads-per-search | termwise-limit | ignore-default-rank-features | min-hits-per-thread |
num-search-partition | match-phase | max-hits | second-phase | rerank-count | min-groups |
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclaration.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclaration.java
index c46466ddb84..cae9dc1a52d 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclaration.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclaration.java
@@ -4,6 +4,10 @@ import com.intellij.navigation.NavigationItem;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNamedElement;
+/**
+ * This interface represents a declaration in the SD language.
+ * @author shahariel
+ */
public interface SdDeclaration extends PsiElement, PsiNamedElement, NavigationItem {
String getName();
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclarationType.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclarationType.java
index 05b38d981c3..76760396ad7 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclarationType.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdDeclarationType.java
@@ -1,5 +1,9 @@
package org.intellij.sdk.language.psi;
+/**
+ * This Enum describes the different declarations' types and their names.
+ * @author shahariel
+ */
public enum SdDeclarationType {
DOCUMENT("Document"),
STRUCT("Struct"),
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementDescriptionProvider.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementDescriptionProvider.java
index ea588f965e5..ed278e9eefb 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementDescriptionProvider.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementDescriptionProvider.java
@@ -8,13 +8,16 @@ import org.intellij.sdk.language.psi.SdDeclaration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-
+/**
+ * This class is used for the extension (in plugin.xml), to enable "find Usages" window take the element description from
+ * here. Used only for the "target" element.
+ * @author shahariel
+ */
public class SdElementDescriptionProvider implements ElementDescriptionProvider {
/**
* Controls the headline of the element in the "Find Usages" window
* @param psiElement the element to describe
- * @param elementDescriptionLocation
* @return a string with the description to write in the headline
*/
@Nullable
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementFactory.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementFactory.java
index 0961704443c..3a2402490cd 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementFactory.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementFactory.java
@@ -6,6 +6,10 @@ import com.intellij.psi.PsiFileFactory;
import com.intellij.psi.util.PsiTreeUtil;
import org.intellij.sdk.language.SdFileType;
+/**
+ * This class is a factory of psi elements in the SD PSI tree.
+ * @author shahariel
+ */
public class SdElementFactory {
private static final String GENERAL_FILE_TEXT = "search {document %s {} rank-profile %s {}}";
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementType.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementType.java
index a17ae3c1c07..a14dfa11a5c 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementType.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdElementType.java
@@ -5,6 +5,10 @@ import org.intellij.sdk.language.SdLanguage;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class represent a SdElementType.
+ * @author shahariel
+ */
public class SdElementType extends IElementType {
public SdElementType(@NotNull @NonNls String debugName) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdFile.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdFile.java
index 0e0a8b0661c..b9b8270a595 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdFile.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdFile.java
@@ -7,6 +7,10 @@ import org.intellij.sdk.language.SdFileType;
import org.intellij.sdk.language.SdLanguage;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class represent an SD file.
+ * @author shahariel
+ */
public class SdFile extends PsiFileBase {
public SdFile(@NotNull FileViewProvider viewProvider) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdIdentifier.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdIdentifier.java
index 27009e9369c..25a843e8629 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdIdentifier.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdIdentifier.java
@@ -4,6 +4,10 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
import org.jetbrains.annotations.NotNull;
+/**
+ * This interface represents an identifier in the SD language (regular identifiers and identifiers with dash).
+ * @author shahariel
+ */
public interface SdIdentifier extends PsiElement {
String getName();
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdNamedElement.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdNamedElement.java
index 7f4133246a0..1e019d8d20e 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdNamedElement.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdNamedElement.java
@@ -2,6 +2,11 @@ package org.intellij.sdk.language.psi;
import com.intellij.psi.PsiNameIdentifierOwner;
+/**
+ * This interface is used to wrap a Psi Element with SdNamedElement interface, which enables the element to be a
+ * "name owner" (like an identifier). It allows the element to take a part in references, find usages and more.
+ * @author shahariel
+ */
public interface SdNamedElement extends PsiNameIdentifierOwner {
}
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdTokenType.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdTokenType.java
index ec587ceeb86..050793ee01a 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdTokenType.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/SdTokenType.java
@@ -5,6 +5,10 @@ import org.intellij.sdk.language.SdLanguage;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class represent a SdTokenType.
+ * @author shahariel
+ */
public class SdTokenType extends IElementType {
public SdTokenType(@NotNull @NonNls String debugName) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdNamedElementImpl.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdNamedElementImpl.java
index 999fc4bd290..2d0ee78dd40 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdNamedElementImpl.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdNamedElementImpl.java
@@ -5,6 +5,11 @@ import com.intellij.lang.ASTNode;
import org.intellij.sdk.language.psi.SdNamedElement;
import org.jetbrains.annotations.NotNull;
+/**
+ * This abstract class is used to wrap a Psi Element with SdNamedElement interface, which enables the element to be a
+ * "name owner" (like an identifier). It allows the element to take a part in references, find usages and more.
+ * @author shahariel
+ */
public abstract class SdNamedElementImpl extends ASTWrapperPsiElement implements SdNamedElement {
public SdNamedElementImpl(@NotNull ASTNode node) {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdPsiImplUtil.java b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdPsiImplUtil.java
index 0645bd3c51f..e667fd3aea9 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdPsiImplUtil.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/psi/impl/SdPsiImplUtil.java
@@ -42,8 +42,9 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.Icon;
/**
- * In this class there are implementations of methods from rules in the .bnf file. While generating the psi files
+ * In this class there are implementations of methods of rules in the .bnf file. While generating the psi files
* (classes and interfaces) the implementations would be taken from here.
+ * @author shahariel
*/
public class SdPsiImplUtil {
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/sd.flex b/sd-plugin/src/main/java/org/intellij/sdk/language/sd.flex
index 5150250665e..02c14a53358 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/sd.flex
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/sd.flex
@@ -1,12 +1,19 @@
package org.intellij.sdk.language.lexer;
import com.intellij.lexer.FlexLexer;
-import com.intellij.psi.tree.IElementType;import com.intellij.ui.components.MultiColumnList;import org.intellij.sdk.language.psi.SdTokenType;
+import com.intellij.psi.tree.IElementType;
+import com.intellij.ui.components.MultiColumnList;
+import org.intellij.sdk.language.psi.SdTokenType;
-import static com.intellij.psi.TokenType.BAD_CHARACTER; // Pre-defined bad character token.
-import static com.intellij.psi.TokenType.WHITE_SPACE; // Pre-defined whitespace character token.
import static org.intellij.sdk.language.psi.SdTypes.*; // That is the class which is specified as `elementTypeHolderClass` in bnf
// grammar file. This will contain all other tokens which we will use.
+import static com.intellij.psi.TokenType.BAD_CHARACTER; // Pre-defined bad character token.
+import static com.intellij.psi.TokenType.WHITE_SPACE; // Pre-defined whitespace character token.
+
+/*
+* This file is used for the generation of the lexer of the SD language.
+* @author shahariel
+*/
%%
@@ -37,9 +44,16 @@ WORD = \w+
%%
<YYINITIAL> {
- // In here, we match keywords. So if a keyword is found, this returns a token which corresponds to that keyword.
- // These tokens are generated using the 'sd.bnf' file and located in the SdTypes class.
- // These tokens are Parsed uses these return values to match token squence to a parser rule.
+ /**
+ In here, we match keywords. So if a keyword is found, this returns a token which corresponds to that keyword.
+ These tokens are generated using the 'sd.bnf' file and located in the SdTypes class.
+ These tokens are Parsed uses these return values to match token squence to a parser rule.
+ */
+
+ /**
+ This list of keywords has to be synchronized with sd.bnf file. If you add a keyword here, you should add it to the
+ sd.bnf file as well (to the rule KeywordOrIdentifier / KeywordNotIdentifier).
+ */
"search" { return SEARCH; }
"schema" { return SCHEMA; }
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java
index ac7b79c8dd3..a8df43fbece 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewElement.java
@@ -20,6 +20,10 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
+/**
+ * This class is used for the presentation of an element in the "Structure View" window.
+ * @author shahariel
+ */
public class SdStructureViewElement implements StructureViewTreeElement, SortableTreeElement {
private final NavigatablePsiElement myElement;
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewFactory.java b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewFactory.java
index 05590362fcf..ca2b964ade4 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewFactory.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewFactory.java
@@ -9,6 +9,11 @@ import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+/**
+ * This class is used for the extension (in plugin.xml) to the class SdStructureViewModel. It make the IDE use our
+ * plugin's code when creating the "Structure View" window.
+ * @author shahariel
+ */
public class SdStructureViewFactory implements PsiStructureViewFactory {
@Nullable
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewModel.java b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewModel.java
index 549bd811dcf..216b2b09096 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewModel.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/structure/SdStructureViewModel.java
@@ -7,6 +7,9 @@ import com.intellij.ide.util.treeView.smartTree.Sorter;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
+/**
+ * This class represents the "Structure View" window.
+ */
public class SdStructureViewModel extends StructureViewModelBase implements StructureViewModel.ElementInfoProvider {
public SdStructureViewModel(PsiFile psiFile) {
super(psiFile, new SdStructureViewElement(psiFile));
diff --git a/sd-plugin/src/main/resources/META-INF/plugin.xml b/sd-plugin/src/main/resources/META-INF/plugin.xml
index 1fdc1a3857b..4ffe86ce3a2 100644
--- a/sd-plugin/src/main/resources/META-INF/plugin.xml
+++ b/sd-plugin/src/main/resources/META-INF/plugin.xml
@@ -33,7 +33,6 @@
<elementDescriptionProvider implementation="org.intellij.sdk.language.psi.SdElementDescriptionProvider"/>
<lang.psiStructureViewFactory language="Sd" implementationClass="org.intellij.sdk.language.structure.SdStructureViewFactory"/>
- <lang.formatter language="Sd" implementationClass="org.intellij.sdk.language.SdFormattingModelBuilder"/>
<codeStyleSettingsProvider implementation="org.intellij.sdk.language.SdCodeStyleSettingsProvider"/>
<langCodeStyleSettingsProvider implementation="org.intellij.sdk.language.SdLanguageCodeStyleSettingsProvider"/>
<lang.commenter language="Sd" implementationClass="org.intellij.sdk.language.SdCommenter"/>