diff options
Diffstat (limited to 'sd-plugin/src/main')
8 files changed, 129 insertions, 69 deletions
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 ae99b58f11f..31acd5ff730 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 @@ -23,11 +23,9 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { private static final HashSet<IElementType> keyWordsSet = initKeyWordsSet(); private static final HashSet<IElementType> constantsSet = initConstantsSet(); -// private static final HashSet<IElementType> symbols = initSymbolsSet(); - public static final TextAttributesKey IDENTIFIER = - createTextAttributesKey("SD_IDENTIFIER", DefaultLanguageHighlighterColors.INSTANCE_FIELD); + createTextAttributesKey("SD_IDENTIFIER", DefaultLanguageHighlighterColors.IDENTIFIER); public static final TextAttributesKey CONSTANT = createTextAttributesKey("SD_CONSTANT", DefaultLanguageHighlighterColors.CONSTANT); public static final TextAttributesKey KEY = @@ -36,6 +34,8 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { createTextAttributesKey("SD_SYMBOL", DefaultLanguageHighlighterColors.BRACKETS); public static final TextAttributesKey STRING = createTextAttributesKey("SD_STRING", DefaultLanguageHighlighterColors.STRING); + public static final TextAttributesKey NUMBER = + createTextAttributesKey("SD_NUMBER", DefaultLanguageHighlighterColors.NUMBER); public static final TextAttributesKey COMMENT = createTextAttributesKey("SD_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT); public static final TextAttributesKey BAD_CHARACTER = @@ -48,6 +48,7 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { private static final TextAttributesKey[] KEY_KEYS = new TextAttributesKey[]{KEY}; private static final TextAttributesKey[] SYMBOL_KEYS = new TextAttributesKey[]{SYMBOL}; private static final TextAttributesKey[] STRING_KEYS = new TextAttributesKey[]{STRING}; + private static final TextAttributesKey[] NUMBER_KEYS = new TextAttributesKey[]{NUMBER}; private static final TextAttributesKey[] COMMENT_KEYS = new TextAttributesKey[]{COMMENT}; private static final TextAttributesKey[] EMPTY_KEYS = new TextAttributesKey[0]; @@ -59,18 +60,16 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { @Override public TextAttributesKey @NotNull [] getTokenHighlights(IElementType tokenType) { - if (tokenType.equals(SdTypes.IDENTIFIER_VAL)) { + if (tokenType.equals(SdTypes.IDENTIFIER_VAL) || tokenType.equals(SdTypes.IDENTIFIER_WITH_DASH_VAL)) { return IDENTIFIER_KEYS; -// } else if (tokenType.equals(SdTypes.KEY)) { -// return KEY_KEYS; -// } else if (tokenType.equals(SdTypes.VALUE)) { -// return VALUE_KEYS; } else if (keyWordsSet.contains(tokenType)) { return KEY_KEYS; } else if (tokenType.equals(SdTypes.SYMBOL)) { return SYMBOL_KEYS; - } else if (tokenType.equals(SdTypes.STRING)) { + } else if (tokenType.equals(SdTypes.STRING_REG)) { return STRING_KEYS; + } else if (tokenType.equals(SdTypes.INTEGER_REG) || tokenType.equals(SdTypes.FLOAT_REG)) { + return NUMBER_KEYS; } else if (tokenType.equals(SdTypes.COMMENT)) { return COMMENT_KEYS; } else if (constantsSet.contains(tokenType)) { @@ -82,34 +81,81 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { } } -// private static HashSet<IElementType> initSymbolsSet() { -// HashSet<IElementType> symbols = new HashSet<>(); -// symbols.add('{'); -// return symbols; -// } - private static HashSet<IElementType> initKeyWordsSet() { HashSet<IElementType> keyWords = new HashSet<>(); - keyWords.add(SdTypes.MACRO); + keyWords.add(SdTypes.SEARCH); + keyWords.add(SdTypes.SCHEMA); keyWords.add(SdTypes.FIELD); keyWords.add(SdTypes.TYPE); - keyWords.add(SdTypes.SEARCH); - keyWords.add(SdTypes.DOCUMENT); + keyWords.add(SdTypes.INDEXING); + keyWords.add(SdTypes.INPUT); + keyWords.add(SdTypes.DOCUMENT_SUMMARY); keyWords.add(SdTypes.INHERITS); + keyWords.add(SdTypes.IMPORT); + keyWords.add(SdTypes.AS); + keyWords.add(SdTypes.FIELDSET); + keyWords.add(SdTypes.FIELDS); + keyWords.add(SdTypes.CONSTANT); + keyWords.add(SdTypes.FILE); + keyWords.add(SdTypes.URI); + keyWords.add(SdTypes.OUTPUT); + keyWords.add(SdTypes.ONNX_MODEL); + keyWords.add(SdTypes.ANNOTATION); + keyWords.add(SdTypes.RANK_PROFILE); + keyWords.add(SdTypes.MATCH_PHASE); + keyWords.add(SdTypes.FIRST_PHASE); + keyWords.add(SdTypes.EXPRESSION); + keyWords.add(SdTypes.SECOND_PHASE); + keyWords.add(SdTypes.RANK_PROPERTIES); + keyWords.add(SdTypes.MACRO); + keyWords.add(SdTypes.FUNCTION); + keyWords.add(SdTypes.INLINE); + keyWords.add(SdTypes.SUMMARY_FEATURES); + keyWords.add(SdTypes.RANK_FEATURES); + keyWords.add(SdTypes.CONSTANTS); + keyWords.add(SdTypes.DOCUMENT); keyWords.add(SdTypes.STRUCT); keyWords.add(SdTypes.STRUCT_FIELD); keyWords.add(SdTypes.MATCH); - keyWords.add(SdTypes.INDEXING); + keyWords.add(SdTypes.DISTANCE_METRIC); + keyWords.add(SdTypes.ALIAS); + keyWords.add(SdTypes.STEMMING); keyWords.add(SdTypes.RANK); keyWords.add(SdTypes.INDEXING_REWRITE); keyWords.add(SdTypes.QUERY_COMMAND); + keyWords.add(SdTypes.BOLDING); + keyWords.add(SdTypes.HNSW); + keyWords.add(SdTypes.SORTING); + keyWords.add(SdTypes.RANK_TYPE); + keyWords.add(SdTypes.WEIGHTEDSET); + keyWords.add(SdTypes.DICTIONARY); + keyWords.add(SdTypes.ID); + keyWords.add(SdTypes.NORMALIZING); + keyWords.add(SdTypes.WEIGHT); + return keyWords; } private static HashSet<IElementType> initConstantsSet() { HashSet<IElementType> constants = new HashSet<>(); - constants.add(SdTypes.SUMMARY); + constants.add(SdTypes.RAW_AS_BASE64_IN_SUMMARY); + constants.add(SdTypes.OMIT_SUMMARY_FEATURES); + constants.add(SdTypes.FROM_DISK); + constants.add(SdTypes.IGNORE_DEFAULT_RANK_FEATURES); constants.add(SdTypes.ATTRIBUTE); + constants.add(SdTypes.ORDER); + constants.add(SdTypes.MAX_HITS); + constants.add(SdTypes.DIVERSITY); + constants.add(SdTypes.MIN_GROUPS); + constants.add(SdTypes.CUTOFF_FACTOR); + constants.add(SdTypes.CUTOFF_STRATEGY); + constants.add(SdTypes.NUM_THREADS_PER_SEARCH); + constants.add(SdTypes.TERMWISE_LIMIT); + constants.add(SdTypes.MIN_HITS_PER_THREAD); + constants.add(SdTypes.NUM_SEARCH_PARTITION); + constants.add(SdTypes.KEEP_RANK_COUNT); + constants.add(SdTypes.RANK_SCORE_DROP_LIMIT); + constants.add(SdTypes.RERANK_COUNT); constants.add(SdTypes.TEXT); constants.add(SdTypes.EXACT); constants.add(SdTypes.EXACT_TERMINATOR); @@ -122,19 +168,40 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase { constants.add(SdTypes.MAX_LENGTH); constants.add(SdTypes.GRAM); constants.add(SdTypes.GRAM_SIZE); + constants.add(SdTypes.SUMMARY); constants.add(SdTypes.INDEX); + constants.add(SdTypes.SET_LANGUAGE); constants.add(SdTypes.FAST_SEARCH); constants.add(SdTypes.FAST_ACCESS); - constants.add(SdTypes.ALIAS); - constants.add(SdTypes.SORTING); - constants.add(SdTypes.DISTANCE_METRIC); + constants.add(SdTypes.PAGED); + constants.add(SdTypes.MUTABLE); constants.add(SdTypes.FILTER); constants.add(SdTypes.NORMAL); constants.add(SdTypes.NONE); constants.add(SdTypes.FULL); constants.add(SdTypes.DYNAMIC); + constants.add(SdTypes.SOURCE); + constants.add(SdTypes.TO); constants.add(SdTypes.MATCHED_ELEMENTS_ONLY); - + constants.add(SdTypes.ON); + constants.add(SdTypes.OFF); + constants.add(SdTypes.TRUE); + constants.add(SdTypes.FALSE); + constants.add(SdTypes.ARITY); + constants.add(SdTypes.LOWER_BOUND); + constants.add(SdTypes.UPPER_BOUND); + constants.add(SdTypes.DENSE_POSTING_LIST_THRESHOLD); + constants.add(SdTypes.ENABLE_BM25); + constants.add(SdTypes.MAX_LINKS_PER_NODE); + constants.add(SdTypes.NEIGHBORS_TO_EXPLORE_AT_INSERT); + constants.add(SdTypes.MULTI_THREADED_INDEXING); + constants.add(SdTypes.ASCENDING); + constants.add(SdTypes.DESCENDING); + constants.add(SdTypes.STRENGTH); + constants.add(SdTypes.LOCALE); + constants.add(SdTypes.CREATE_IF_NONEXISTENT); + constants.add(SdTypes.REMOVE_IF_ZERO); + return constants; } } 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 4ec407e580d..d011d34227f 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 @@ -28,7 +28,7 @@ public class SdFindUsagesProvider implements FindUsagesProvider { TokenSet.create(SdTypes.ID_REG, SdTypes.ID_WITH_DASH_REG, SdTypes.IDENTIFIER_VAL, SdTypes.IDENTIFIER_WITH_DASH_VAL), TokenSet.create(SdTypes.COMMENT), - TokenSet.create(SdTypes.STRING, SdTypes.INTEGER_REG, SdTypes.FLOAT_REG)); + TokenSet.create(SdTypes.STRING_REG, SdTypes.INTEGER_REG, SdTypes.FLOAT_REG)); } @Override 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 2a169707a79..baf31cde898 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 @@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull; 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); - public static final TokenSet STRINGS = TokenSet.create(SdTypes.STRING); + public static final TokenSet STRINGS = TokenSet.create(SdTypes.STRING_REG); public static final IFileElementType FILE = new IFileElementType(SdLanguage.INSTANCE); 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 245975f301c..073673ee30c 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 @@ -35,7 +35,7 @@ NOTE: This grammar does not enforce zero-or-one occurrences of elements (treats ARITHMETIC_OPERATOR = 'regexp:[\-+*/]' INTEGER_REG = 'regexp:[0-9]+' FLOAT_REG = 'regexp:[0-9]+[.][0-9]+[e]?' - STRING = 'regexp:[\"][^\"]*[\"]' + STRING_REG = 'regexp:[\"][^\"]*[\"]' WORD_REG = 'regexp:\w+' ] } @@ -95,7 +95,7 @@ private UriPath ::= ('H'|'h') ('T'|'t') ('T'|'t') ('P'|'p') ('S'|'s')? ':' ('//' OnnxModelDefinition ::= onnx-model IdentifierVal '{' OnnxModelBody '}' OnnxModelBody ::= OnnxModelBodyOptions* private OnnxModelBodyOptions ::= (file ':' FilePath) | (uri ':' UriPath) | - ((input | output) (IdentifierVal | STRING) ':' ('.' | '/' | '(' | ')' | IdentifierWithDashVal | WORD_REG)) + ((input | output) (IdentifierVal | STRING_REG) ':' ('.' | '/' | '(' | ')' | IdentifierWithDashVal | WORD_REG)) SchemaAnnotationDefinition ::= AnnotationDefinition { mixin="org.intellij.sdk.language.psi.impl.SdNamedElementImpl" @@ -168,8 +168,8 @@ private SecondPhaseBodyOptions ::= (rerank-count ':' INTEGER_REG) | ExpressionDe RankPropertiesDefinition ::= rank-properties '{' RankPropertiesBody '}' RankPropertiesBody ::= (RankPropertiesKey ':' RankPropertiesValue)+ -RankPropertiesKey ::= (IdentifierWithDashVal | STRING | '(' | ')' | '.' | ',')+ -RankPropertiesValue ::= (('-')? INTEGER_REG) | (('-')? FLOAT_REG) | WORD_REG | IdentifierVal | STRING +RankPropertiesKey ::= (IdentifierWithDashVal | STRING_REG | '(' | ')' | '.' | ',')+ +RankPropertiesValue ::= (('-')? INTEGER_REG) | (('-')? FLOAT_REG) | WORD_REG | IdentifierVal | STRING_REG FunctionDefinition ::= (function | macro) inline? IdentifierVal '(' (ArgumentDefinition (',' ArgumentDefinition)*)? ')' '{' ExpressionDefinition '}' @@ -235,7 +235,7 @@ DocumentFieldBody ::= DocumentFieldBodyOptions* // Does not support zero-or-one private DocumentFieldBodyOptions ::= StructFieldDefinition | MatchDefinition | IndexingDefinition | AttributeDefinition | AliasDef | RankDefinition | IndexingRewriteState | QueryCommandDefinition | SummaryDefinition | BoldingDefinition | (id ':' INTEGER_REG) | IndexDefinition | (normalizing ':' IdentifierWithDashVal) | - SortingDefinition | StemmingDefinition | (weight ': INTEGER_REG') | WeightedSetDefinition | + SortingDefinition | StemmingDefinition | (weight ':' INTEGER_REG) | WeightedSetDefinition | RankTypeDefinition | DictionaryDefinition //***** Field's body elements ******// @@ -256,7 +256,7 @@ MatchProperty ::= text | exact | exact-terminator | word | prefix | cased | unca IndexingDefinition ::= indexing (':' IndexingStatement) | ('{' IndexingStatement+ '}') IndexingStatement ::= IndexingStatementOptions (('|' IndexingStatementOptions)*) | ((';' IndexingStatementOptions)*) // Does not support zero-or-one occurrences -IndexingStatementOptions ::= summary | attribute | index | "set_language" +IndexingStatementOptions ::= summary | attribute | index | set_language // Attribute AttributeDefinition ::= attribute ((':' SimpleAttributeProperty) | ('{' (SimpleAttributeProperty | ComplexAttributeProperty)+ '}')) SimpleAttributeProperty ::= fast-search | fast-access | paged | mutable // Does not support zero-or-one occurrences @@ -272,7 +272,7 @@ RankingSetting ::= filter | normal // Indexing Rewrite IndexingRewriteState ::= indexing-rewrite ':' none // Query Command -QueryCommandDefinition ::= query-command ':' IdentifierVal | STRING +QueryCommandDefinition ::= query-command ':' IdentifierVal | STRING_REG // Summary SummaryDefinition ::= summary ((':' SummaryBodyOptions) | (IdentifierWithDashVal? (type FieldTypeName)? '{' SummaryBody '}')) { methods=[getName getPresentation] } @@ -330,7 +330,7 @@ KeywordOrIdentifier ::= schema | search | document | struct | field | type | ind bolding | on | off | true | false | id | normalizing | stemming | arity | hnsw | dictionary | hash | btree | fieldset | fields | constant | annotation | attribute | body | header | index | - reference | summary + reference | summary | set_language // 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 | 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 02c14a53358..ce8fbd091cc 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 @@ -68,6 +68,7 @@ WORD = \w+ "indexing" { return INDEXING; } "summary" { return SUMMARY; } "attribute" { return ATTRIBUTE; } + "set_language" { return SET_LANGUAGE; } "array" { return ARRAY; } "raw" { return RAW; } @@ -214,7 +215,7 @@ WORD = \w+ {ARITHMETIC_OPERATOR} { return ARITHMETIC_OPERATOR; } {COMPARISON_OPERATOR} { return COMPARISON_OPERATOR; } {WORD} { return WORD_REG; } - {STRING} { return STRING; } + {STRING} { return STRING_REG; } } diff --git a/sd-plugin/src/main/resources/META-INF/plugin.xml b/sd-plugin/src/main/resources/META-INF/plugin.xml index 7e61f0a8b1e..5ca73d416e0 100644 --- a/sd-plugin/src/main/resources/META-INF/plugin.xml +++ b/sd-plugin/src/main/resources/META-INF/plugin.xml @@ -2,17 +2,29 @@ <idea-plugin> <id>org.intellij.sdk.language</id> <name>SdReader</name> + <version>1.0.0</version> <!-- Text to display as company information on Preferences/Settings | Plugin page --> - <vendor email="shahar.ariel@yahooinc.com">Yahoo</vendor> + <vendor>Vespa</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> + <p>Support for reading Vespa's SD files.</p> + <p>Features:</p> + <ul> + <li>Structure View</li> + <li>Find Usages</li> + <li>Call Hierarchy (for functions/macros)</li> + <li>Go To Declaration</li> + <li>Go to Symbol</li> + <li>Refactoring</li> + <li>Syntax Highlighting</li> + <li>Commenter- enable turning lines into a comment with "Code -> Comment with line comment"</li> + </ul> + <p>Find more information on Vespa's SD files <a href="https://docs.vespa.ai/en/reference/schema-reference.html">here</a>.</p> ]]></description> <!-- please see https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html @@ -20,6 +32,7 @@ <depends>com.intellij.modules.platform</depends> <depends>com.intellij.java</depends> + <!-- Extension points defined by the plugin --> <extensions defaultExtensionNs="com.intellij"> <fileType name="Sd File" implementationClass="org.intellij.sdk.language.SdFileType" fieldName="INSTANCE" language="Sd" extensions="sd"/> @@ -41,8 +54,5 @@ <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> + +</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 index 9babe4c4ef4..caacd6a053e 100644 --- a/sd-plugin/src/main/resources/META-INF/pluginIcon.svg +++ b/sd-plugin/src/main/resources/META-INF/pluginIcon.svg @@ -1,19 +1,10 @@ -<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> +<svg version="1.2" baseProfile="tiny-ps" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> + <title>New Project</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="/> + <image width="30" height="29" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAdCAMAAACKeiw+AAAAAXNSR0IB2cksfwAAAUpQTFRFAAAAHKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0lOzY/wAAAG50Uk5TAA5Acarj/8dVMgdq1LgjXdzxzbAfO/iV1epHHGO/f9hcFZ3lQiR08oAPeL7CuWkIYKieoI8u9/n69en2/eAX6GY6rljt7MzmWv4ac5jwEO5RM7381k8skCnX3srvyDdB6/N8jNLnBfT7wXqSr7W47lQGAAABpElEQVR4nIVT6z8CQRS9+7qVNk3FKiqUIvJWbSLvjQh5hkgeef//X83s2rb6hfNhZvecmXvP3LkD8AOOF0QJKWyi3cFBO3ocThmbcDl7e1pVzk08Xp+9j333Cy6ieN2t8oA/IA42Iw4FQ+gPW2oIh0fa0o1GomjqnBujYx1mYvFxv9vIP+jFCejEaAi9vfpm0eOkexOTU8npmVmYm19YXEpRA6LCaHAQ4qDTUlrJqFkeJGU5t7KaBwiii/F29LEka+r6xmZ6C7Z3+uJaYZdG3UM7QFEMCCyHpwCQ2s9Tmf6sanQ4QLEIMRtJMTlbCh+yeYfJyhEdjtEWgzJqutUT9fTs3JRz24xCLDdlmCmkoxe/ywCXauQvGVQJDGuWXJGudGvXN9RR1ZAT8i1l7lCqNA+WVmoJtQRwX394fHrmzYM1BKMs2mlpLeMDkF+ymVeS18siNAD4gF5UOMnW3yj7/vGZ/KoBK6rMW1fSCfNKIEi6X6gR9L92AE7u1kwDFiNjZytiqGX1P40MXFAMYPRKoyBVJC2hzAV/PSKGRrFSpogVGxb3De/eO/7N6EMHAAAAAElFTkSuQmCC"/> </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> + <use id="Layer 2" href="#img1" x="1" y="2" /> </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 index 9babe4c4ef4..caacd6a053e 100644 --- a/sd-plugin/src/main/resources/META-INF/pluginIcon_dark.svg +++ b/sd-plugin/src/main/resources/META-INF/pluginIcon_dark.svg @@ -1,19 +1,10 @@ -<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> +<svg version="1.2" baseProfile="tiny-ps" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32"> + <title>New Project</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="/> + <image width="30" height="29" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAdCAMAAACKeiw+AAAAAXNSR0IB2cksfwAAAUpQTFRFAAAAHKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0HKy0lOzY/wAAAG50Uk5TAA5Acarj/8dVMgdq1LgjXdzxzbAfO/iV1epHHGO/f9hcFZ3lQiR08oAPeL7CuWkIYKieoI8u9/n69en2/eAX6GY6rljt7MzmWv4ac5jwEO5RM7381k8skCnX3srvyDdB6/N8jNLnBfT7wXqSr7W47lQGAAABpElEQVR4nIVT6z8CQRS9+7qVNk3FKiqUIvJWbSLvjQh5hkgeef//X83s2rb6hfNhZvecmXvP3LkD8AOOF0QJKWyi3cFBO3ocThmbcDl7e1pVzk08Xp+9j333Cy6ieN2t8oA/IA42Iw4FQ+gPW2oIh0fa0o1GomjqnBujYx1mYvFxv9vIP+jFCejEaAi9vfpm0eOkexOTU8npmVmYm19YXEpRA6LCaHAQ4qDTUlrJqFkeJGU5t7KaBwiii/F29LEka+r6xmZ6C7Z3+uJaYZdG3UM7QFEMCCyHpwCQ2s9Tmf6sanQ4QLEIMRtJMTlbCh+yeYfJyhEdjtEWgzJqutUT9fTs3JRz24xCLDdlmCmkoxe/ywCXauQvGVQJDGuWXJGudGvXN9RR1ZAT8i1l7lCqNA+WVmoJtQRwX394fHrmzYM1BKMs2mlpLeMDkF+ymVeS18siNAD4gF5UOMnW3yj7/vGZ/KoBK6rMW1fSCfNKIEi6X6gR9L92AE7u1kwDFiNjZytiqGX1P40MXFAMYPRKoyBVJC2hzAV/PSKGRrFSpogVGxb3De/eO/7N6EMHAAAAAElFTkSuQmCC"/> </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> + <use id="Layer 2" href="#img1" x="1" y="2" /> </svg>
\ No newline at end of file |