diff options
Diffstat (limited to 'sd-plugin/src/main/resources')
15 files changed, 334 insertions, 0 deletions
diff --git a/sd-plugin/src/main/resources/META-INF/plugin.xml b/sd-plugin/src/main/resources/META-INF/plugin.xml new file mode 100644 index 00000000000..206b33144e2 --- /dev/null +++ b/sd-plugin/src/main/resources/META-INF/plugin.xml @@ -0,0 +1,48 @@ +<idea-plugin> + <id>org.intellij.sdk.language</id> + <name>SdPlugin</name> + + <!-- Text to display as company information on Preferences/Settings | Plugin page --> + <vendor email="shahar.ariel@verizonmedia.com">VerizonMedia</vendor> + + <!-- Product and plugin compatibility requirements --> + <depends>com.intellij.java</depends> + + <!-- Text to display as description on Preferences/Settings | Plugin page --> + <description><![CDATA[ + A plugin to recognize sd files and work with them through IntelliJ<br> + <em></em> + ]]></description> + + <!-- please see https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html + on how to target different products --> + <depends>com.intellij.modules.platform</depends> + <depends>com.intellij.java</depends> + + <extensions defaultExtensionNs="com.intellij"> + <fileType name="Sd File" implementationClass="org.intellij.sdk.language.SdFileType" fieldName="INSTANCE" + language="Sd" extensions="sd"/> + <lang.parserDefinition language="Sd" implementationClass="org.intellij.sdk.language.parser.SdParserDefinition"/> + <lang.syntaxHighlighterFactory language="Sd" implementationClass="org.intellij.sdk.language.SdSyntaxHighlighterFactory"/> + <completion.contributor language="Sd" implementationClass="org.intellij.sdk.language.SdCompletionContributor"/> + + <lang.findUsagesProvider language="Sd" implementationClass="org.intellij.sdk.language.findUsages.SdFindUsagesProvider"/> + <findUsagesHandlerFactory implementation="org.intellij.sdk.language.findUsages.SdFindUsagesHandlerFactory"/> + <fileStructureGroupRuleProvider implementation="org.intellij.sdk.language.findUsages.SdRankProfileGroupingRuleProvider"/> + <fileStructureGroupRuleProvider implementation="org.intellij.sdk.language.findUsages.SdDocumentSummaryGroupingRuleProvider"/> + <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"/> + <lang.refactoringSupport language="Sd" implementationClass="org.intellij.sdk.language.SdRefactoringSupportProvider"/> + <gotoSymbolContributor implementation="org.intellij.sdk.language.SdChooseByNameContributor"/> + <callHierarchyProvider language="Sd" implementationClass="org.intellij.sdk.language.hierarchy.SdCallHierarchyProvider"/> + </extensions> + + <actions> + <!-- Add your actions here --> + </actions> +</idea-plugin>
\ No newline at end of file diff --git a/sd-plugin/src/main/resources/META-INF/pluginIcon.svg b/sd-plugin/src/main/resources/META-INF/pluginIcon.svg new file mode 100644 index 00000000000..9babe4c4ef4 --- /dev/null +++ b/sd-plugin/src/main/resources/META-INF/pluginIcon.svg @@ -0,0 +1,19 @@ +<svg version="1.2" baseProfile="tiny-ps" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" width="40" height="40"> + <title>pluginIcon</title> + <defs> + <image width="40" height="40" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAQMAAAC2MCouAAAAAXNSR0IB2cksfwAAAANQTFRFAAAAp3o92gAAAAF0Uk5TAEDm2GYAAAAMSURBVHicY2AYWQAAAPAAAQaUif0AAAAASUVORK5CYII="/> + <image width="36" height="36" id="img2" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAQMAAADbzgrbAAAAAXNSR0IB2cksfwAAAANQTFRFuubnWfllrQAAAAxJREFUeJxjYBieAAAA2AABOXA/oAAAAABJRU5ErkJggg=="/> + <image width="34" height="34" id="img3" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiAQMAAAAAiZmBAAAAAXNSR0IB2cksfwAAAAZQTFRFAAAAP5aZJJgdHgAAAAJ0Uk5TAP9bkSK1AAAAWUlEQVR4nI3Ouw2AMAxF0YcoXGYERsloyWiMwhgUiIsTKxESDS5O49+T7JRXpgm7tMAhreANg0tK3Q3uNghhVfno+In/lum4kKfjY3plsJ4qEkZaX6uuefMBOOp0ufGf8MYAAAAASUVORK5CYII="/> + </defs> + <style> + tspan { white-space:pre } + .txt0 { font-size: 20px;fill: #efab00;font-weight: 400;font-family: "DejaVuSans", "DejaVu Sans" } + </style> + <use id="Background" href="#img1" x="0" y="0" /> + <use id="Layer 1" style="opacity: 0.42" href="#img2" x="2" y="2" /> + <use id="Layer 2" style="opacity: 0.769" href="#img3" x="3" y="3" /> + <text id="SD" style="transform: matrix(1,0,0,1,7,27);paint-order:stroke fill markers;stroke: #826c34;stroke-width: 2;stroke-linejoin: round;" > + <tspan x="0" y="0" class="txt0">S</tspan><tspan y="0" class="txt0">D +</tspan> + </text> +</svg>
\ No newline at end of file diff --git a/sd-plugin/src/main/resources/META-INF/pluginIcon_dark.svg b/sd-plugin/src/main/resources/META-INF/pluginIcon_dark.svg new file mode 100644 index 00000000000..9babe4c4ef4 --- /dev/null +++ b/sd-plugin/src/main/resources/META-INF/pluginIcon_dark.svg @@ -0,0 +1,19 @@ +<svg version="1.2" baseProfile="tiny-ps" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" width="40" height="40"> + <title>pluginIcon</title> + <defs> + <image width="40" height="40" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAQMAAAC2MCouAAAAAXNSR0IB2cksfwAAAANQTFRFAAAAp3o92gAAAAF0Uk5TAEDm2GYAAAAMSURBVHicY2AYWQAAAPAAAQaUif0AAAAASUVORK5CYII="/> + <image width="36" height="36" id="img2" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAQMAAADbzgrbAAAAAXNSR0IB2cksfwAAAANQTFRFuubnWfllrQAAAAxJREFUeJxjYBieAAAA2AABOXA/oAAAAABJRU5ErkJggg=="/> + <image width="34" height="34" id="img3" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiAQMAAAAAiZmBAAAAAXNSR0IB2cksfwAAAAZQTFRFAAAAP5aZJJgdHgAAAAJ0Uk5TAP9bkSK1AAAAWUlEQVR4nI3Ouw2AMAxF0YcoXGYERsloyWiMwhgUiIsTKxESDS5O49+T7JRXpgm7tMAhreANg0tK3Q3uNghhVfno+In/lum4kKfjY3plsJ4qEkZaX6uuefMBOOp0ufGf8MYAAAAASUVORK5CYII="/> + </defs> + <style> + tspan { white-space:pre } + .txt0 { font-size: 20px;fill: #efab00;font-weight: 400;font-family: "DejaVuSans", "DejaVu Sans" } + </style> + <use id="Background" href="#img1" x="0" y="0" /> + <use id="Layer 1" style="opacity: 0.42" href="#img2" x="2" y="2" /> + <use id="Layer 2" style="opacity: 0.769" href="#img3" x="3" y="3" /> + <text id="SD" style="transform: matrix(1,0,0,1,7,27);paint-order:stroke fill markers;stroke: #826c34;stroke-width: 2;stroke-linejoin: round;" > + <tspan x="0" y="0" class="txt0">S</tspan><tspan y="0" class="txt0">D +</tspan> + </text> +</svg>
\ No newline at end of file diff --git a/sd-plugin/src/main/resources/flex/idea-flex.skeleton b/sd-plugin/src/main/resources/flex/idea-flex.skeleton new file mode 100644 index 00000000000..218399976ca --- /dev/null +++ b/sd-plugin/src/main/resources/flex/idea-flex.skeleton @@ -0,0 +1,248 @@ + + /** 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 = ...; + + /** lexical states */ +--- lexical states, charmap + + /* 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" + }; + +--- isFinal list + /** 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; + +--- user class code + +--- constructor declaration + + 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 {@code 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 {@code 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 occurred 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 + */ +--- zzScanError declaration + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } + catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + +--- throws clause + } + + + /** + * 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()! + */ +--- yypushback decl (contains zzScanError exception) + if ( number > yylength() ) + zzScanError(ZZ_PUSHBACK_2BIG); + + zzMarkedPos -= number; + } + + +--- zzDoEOF + /** + * 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 + */ +--- yylex declaration + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + CharSequence zzBufferL = zzBuffer; + +--- local declarations + + while (true) { + zzMarkedPosL = zzMarkedPos; + +--- start admin (line, char, col count) + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + +--- start admin (lexstate etc) + + zzForAction: { + while (true) { + +--- next input, line, col, char count, next transition, isFinal action + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; +--- line count update + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; +--- char count update + + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; +--- eofvalue + } + else { +--- actions + default: +--- no match + } + } + } + } + +--- main + +} diff --git a/sd-plugin/src/main/resources/flex/jflex-1.7.0-2.jar b/sd-plugin/src/main/resources/flex/jflex-1.7.0-2.jar Binary files differnew file mode 100644 index 00000000000..c152c2c3384 --- /dev/null +++ b/sd-plugin/src/main/resources/flex/jflex-1.7.0-2.jar diff --git a/sd-plugin/src/main/resources/icons/document_icon.png b/sd-plugin/src/main/resources/icons/document_icon.png Binary files differnew file mode 100644 index 00000000000..497c218ab91 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/document_icon.png diff --git a/sd-plugin/src/main/resources/icons/document_summary_icon.png b/sd-plugin/src/main/resources/icons/document_summary_icon.png Binary files differnew file mode 100644 index 00000000000..72f42c68902 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/document_summary_icon.png diff --git a/sd-plugin/src/main/resources/icons/first_phase_icon.png b/sd-plugin/src/main/resources/icons/first_phase_icon.png Binary files differnew file mode 100644 index 00000000000..18f24e9e462 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/first_phase_icon.png diff --git a/sd-plugin/src/main/resources/icons/imported_field_icon.png b/sd-plugin/src/main/resources/icons/imported_field_icon.png Binary files differnew file mode 100644 index 00000000000..1ec9b1d6a96 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/imported_field_icon.png diff --git a/sd-plugin/src/main/resources/icons/macro_icon.png b/sd-plugin/src/main/resources/icons/macro_icon.png Binary files differnew file mode 100644 index 00000000000..736d8168119 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/macro_icon.png diff --git a/sd-plugin/src/main/resources/icons/override_macro_icon.png b/sd-plugin/src/main/resources/icons/override_macro_icon.png Binary files differnew file mode 100644 index 00000000000..ae9e2636798 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/override_macro_icon.png diff --git a/sd-plugin/src/main/resources/icons/sd_icon.png b/sd-plugin/src/main/resources/icons/sd_icon.png Binary files differnew file mode 100644 index 00000000000..1c96aaee633 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/sd_icon.png diff --git a/sd-plugin/src/main/resources/icons/struct_field_icon.png b/sd-plugin/src/main/resources/icons/struct_field_icon.png Binary files differnew file mode 100644 index 00000000000..7f5074630d4 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/struct_field_icon.png diff --git a/sd-plugin/src/main/resources/icons/struct_icon.png b/sd-plugin/src/main/resources/icons/struct_icon.png Binary files differnew file mode 100644 index 00000000000..c2f6fdc8440 --- /dev/null +++ b/sd-plugin/src/main/resources/icons/struct_icon.png diff --git a/sd-plugin/src/main/resources/icons/summary_def_icon.png b/sd-plugin/src/main/resources/icons/summary_def_icon.png Binary files differnew file mode 100644 index 00000000000..a8faf12601f --- /dev/null +++ b/sd-plugin/src/main/resources/icons/summary_def_icon.png |