(String name)
| 98 | } |
| 99 | |
| 100 | private void setTheme(String name) throws IOException { |
| 101 | InputStream defaultXmlInputStream = null; |
| 102 | try { |
| 103 | defaultXmlInputStream = processing.app.Theme.getThemeResource("theme/syntax/" + name + ".xml").getInputStream(); |
| 104 | Theme theme = Theme.load(defaultXmlInputStream); |
| 105 | theme.apply(this); |
| 106 | } finally { |
| 107 | IOUtils.closeQuietly(defaultXmlInputStream); |
| 108 | } |
| 109 | |
| 110 | setEOLMarkersVisible(processing.app.Theme.getBoolean("editor.eolmarkers")); |
| 111 | setBackground(processing.app.Theme.getColor("editor.bgcolor")); |
| 112 | setHighlightCurrentLine(processing.app.Theme.getBoolean("editor.linehighlight")); |
| 113 | setCurrentLineHighlightColor(processing.app.Theme.getColor("editor.linehighlight.color")); |
| 114 | setCaretColor(processing.app.Theme.getColor("editor.caret.color")); |
| 115 | setSelectedTextColor(null); |
| 116 | setUseSelectedTextColor(false); |
| 117 | setSelectionColor(processing.app.Theme.getColor("editor.selection.color")); |
| 118 | setMatchedBracketBorderColor(processing.app.Theme.getColor("editor.brackethighlight.color")); |
| 119 | setHyperlinkForeground((Color) processing.app.Theme.getStyledFont("url", getFont()).get("color")); |
| 120 | |
| 121 | setSyntaxTheme(TokenTypes.DATA_TYPE, "data_type"); |
| 122 | setSyntaxTheme(TokenTypes.FUNCTION, "function"); |
| 123 | setSyntaxTheme(TokenTypes.RESERVED_WORD, "reserved_word"); |
| 124 | setSyntaxTheme(TokenTypes.RESERVED_WORD_2, "reserved_word_2"); |
| 125 | setSyntaxTheme(TokenTypes.VARIABLE, "variable"); |
| 126 | setSyntaxTheme(TokenTypes.OPERATOR, "operator"); |
| 127 | setSyntaxTheme(TokenTypes.COMMENT_DOCUMENTATION, "comment1"); |
| 128 | setSyntaxTheme(TokenTypes.COMMENT_EOL, "comment1"); |
| 129 | setSyntaxTheme(TokenTypes.COMMENT_KEYWORD, "comment1"); |
| 130 | setSyntaxTheme(TokenTypes.COMMENT_MARKUP, "comment1"); |
| 131 | setSyntaxTheme(TokenTypes.COMMENT_MULTILINE, "comment2"); |
| 132 | setSyntaxTheme(TokenTypes.LITERAL_BOOLEAN, "literal_boolean"); |
| 133 | setSyntaxTheme(TokenTypes.LITERAL_CHAR, "literal_char"); |
| 134 | setSyntaxTheme(TokenTypes.LITERAL_STRING_DOUBLE_QUOTE, "literal_string_double_quote"); |
| 135 | setSyntaxTheme(TokenTypes.PREPROCESSOR, "preprocessor"); |
| 136 | |
| 137 | setColorForToken(TokenTypes.IDENTIFIER, "editor.fgcolor"); |
| 138 | setColorForToken(TokenTypes.WHITESPACE, "editor.eolmarkers.color"); |
| 139 | } |
| 140 | |
| 141 | private void setColorForToken(int tokenType, String colorKeyFromTheme) { |
| 142 | Style style = getSyntaxScheme().getStyle(tokenType); |
no test coverage detected