mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
move Python to new highlighter API, extract Python and ReST colors out of platform color scheme (PY-8841)
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
<lang.formatter language="ReST" implementationClass="com.jetbrains.rest.formatter.RestFormattingModelBuilder"/>
|
||||
<codeInsight.fillParagraph language="ReST" implementationClass="com.jetbrains.rest.actions.RestFillParagraphHandler"/>
|
||||
|
||||
<additionalTextAttributes scheme="Default" file="colorSchemes/RestDefault.xml"/>
|
||||
<additionalTextAttributes scheme="Darcula" file="colorSchemes/RestDarcula.xml"/>
|
||||
</extensions>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij.spellchecker">
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<list>
|
||||
<option name="REST.BOLD">
|
||||
<value>
|
||||
<option name="FONT_TYPE" value="1" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.FIXED">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="a3a08" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.INLINE">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="236423" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.INTERPRETED">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="15463c" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.ITALIC">
|
||||
<value>
|
||||
<option name="FONT_TYPE" value="2" />
|
||||
</value>
|
||||
</option>
|
||||
</list>
|
||||
@@ -0,0 +1,27 @@
|
||||
<list>
|
||||
<option name="REST.BOLD">
|
||||
<value>
|
||||
<option name="FONT_TYPE" value="1" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.FIXED">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="D9D9F0" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.INLINE">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="EDFCED" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.INTERPRETED">
|
||||
<value>
|
||||
<option name="BACKGROUND" value="CADABA" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="REST.ITALIC">
|
||||
<value>
|
||||
<option name="FONT_TYPE" value="2" />
|
||||
</value>
|
||||
</option>
|
||||
</list>
|
||||
@@ -462,6 +462,9 @@
|
||||
<statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyInterpreterUsagesCollector"/>
|
||||
<statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyPackageUsagesCollector"/>
|
||||
|
||||
<additionalTextAttributes scheme="Default" file="colorSchemes/PythonDefault.xml"/>
|
||||
<additionalTextAttributes scheme="Darcula" file="colorSchemes/PythonDarcula.xml"/>
|
||||
|
||||
<!-- Cython -->
|
||||
<lang.parserDefinition language="Cython" implementationClass="com.jetbrains.cython.parser.CythonParserDefinition"/>
|
||||
<lang.syntaxHighlighterFactory key="Cython" implementationClass="com.jetbrains.cython.CythonSyntaxHighlighterFactory"/>
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jetbrains.python.buildout.config;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.intellij.lexer.Lexer;
|
||||
import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
|
||||
import com.intellij.openapi.editor.SyntaxHighlighterColors;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesKey;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighterBase;
|
||||
@@ -41,34 +42,34 @@ public class BuildoutCfgSyntaxHighlighter extends SyntaxHighlighterBase implemen
|
||||
|
||||
|
||||
public static final TextAttributesKey BUILDOUT_SECTION_NAME =
|
||||
TextAttributesKey.createTextAttributesKey("BUILDOUT.SECTION_NAME", SyntaxHighlighterColors.NUMBER.getDefaultAttributes().clone());
|
||||
TextAttributesKey.createTextAttributesKey("BUILDOUT.SECTION_NAME", SyntaxHighlighterColors.NUMBER);
|
||||
|
||||
public static final TextAttributesKey BUILDOUT_KEY = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.KEY",
|
||||
SyntaxHighlighterColors.KEYWORD.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.KEYWORD
|
||||
);
|
||||
|
||||
public static final TextAttributesKey BUILDOUT_VALUE = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.VALUE",
|
||||
SyntaxHighlighterColors.STRING.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.STRING
|
||||
);
|
||||
|
||||
public static final TextAttributesKey BUILDOUT_COMMENT = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.LINE_COMMENT",
|
||||
SyntaxHighlighterColors.LINE_COMMENT.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.LINE_COMMENT
|
||||
);
|
||||
|
||||
public static final TextAttributesKey BUILDOUT_KEY_VALUE_SEPARATOR = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.KEY_VALUE_SEPARATOR",
|
||||
SyntaxHighlighterColors.OPERATION_SIGN.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.OPERATION_SIGN
|
||||
);
|
||||
public static final TextAttributesKey BUILDOUT_VALID_STRING_ESCAPE = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.VALID_STRING_ESCAPE",
|
||||
SyntaxHighlighterColors.VALID_STRING_ESCAPE.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.VALID_STRING_ESCAPE
|
||||
);
|
||||
public static final TextAttributesKey BUILDOUT_INVALID_STRING_ESCAPE = TextAttributesKey.createTextAttributesKey(
|
||||
"BUILDOUT.INVALID_STRING_ESCAPE",
|
||||
SyntaxHighlighterColors.INVALID_STRING_ESCAPE.getDefaultAttributes()
|
||||
DefaultLanguageHighlighterColors.INVALID_STRING_ESCAPE
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -3,9 +3,7 @@ package com.jetbrains.python.highlighting;
|
||||
import com.intellij.lexer.LayeredLexer;
|
||||
import com.intellij.lexer.Lexer;
|
||||
import com.intellij.openapi.editor.HighlighterColors;
|
||||
import com.intellij.openapi.editor.colors.CodeInsightColors;
|
||||
import com.intellij.openapi.editor.colors.TextAttributesKey;
|
||||
import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighterBase;
|
||||
import com.intellij.psi.StringEscapesTokenTypes;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
@@ -16,11 +14,10 @@ import com.jetbrains.python.lexer.PythonHighlightingLexer;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.intellij.openapi.editor.SyntaxHighlighterColors.*;
|
||||
import static com.intellij.openapi.editor.DefaultLanguageHighlighterColors.*;
|
||||
|
||||
/**
|
||||
* Colors and lexer(s) needed for highlighting.
|
||||
@@ -56,72 +53,50 @@ public class PyHighlighter extends SyntaxHighlighterBase {
|
||||
return new PythonHighlightingLexer(myLanguageLevel);
|
||||
}
|
||||
|
||||
private static TextAttributesKey _copy(String name, TextAttributesKey src) {
|
||||
return TextAttributesKey.createTextAttributesKey(name, src.getDefaultAttributes().clone());
|
||||
}
|
||||
public static final TextAttributesKey PY_KEYWORD = TextAttributesKey.createTextAttributesKey("PY.KEYWORD", KEYWORD);
|
||||
|
||||
public static final TextAttributesKey PY_KEYWORD = _copy("PY.KEYWORD", KEYWORD);
|
||||
public static final TextAttributesKey PY_BYTE_STRING = TextAttributesKey.createTextAttributesKey("PY.STRING.B", STRING);
|
||||
public static final TextAttributesKey PY_UNICODE_STRING = TextAttributesKey.createTextAttributesKey("PY.STRING.U", STRING);
|
||||
public static final TextAttributesKey PY_NUMBER = TextAttributesKey.createTextAttributesKey("PY.NUMBER", NUMBER);
|
||||
|
||||
public static final TextAttributesKey PY_BYTE_STRING = _copy("PY.STRING.B", STRING);
|
||||
public static final TextAttributesKey PY_UNICODE_STRING = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.STRING.U",
|
||||
new TextAttributes(new Color(0, 128, 128), null, null, null, STRING.getDefaultAttributes().getFontType())
|
||||
);
|
||||
public static final TextAttributesKey PY_NUMBER = _copy("PY.NUMBER", NUMBER);
|
||||
static final TextAttributesKey PY_LINE_COMMENT = TextAttributesKey.createTextAttributesKey("PY.LINE_COMMENT", LINE_COMMENT);
|
||||
|
||||
static final TextAttributesKey PY_LINE_COMMENT = _copy("PY.LINE_COMMENT", LINE_COMMENT);
|
||||
static final TextAttributesKey PY_OPERATION_SIGN = TextAttributesKey.createTextAttributesKey("PY.OPERATION_SIGN", OPERATION_SIGN);
|
||||
|
||||
static final TextAttributesKey PY_OPERATION_SIGN = _copy("PY.OPERATION_SIGN", OPERATION_SIGN);
|
||||
static final TextAttributesKey PY_PARENTHS = TextAttributesKey.createTextAttributesKey("PY.PARENTHS", PARENTHESES);
|
||||
|
||||
static final TextAttributesKey PY_PARENTHS = _copy("PY.PARENTHS", PARENTHS);
|
||||
static final TextAttributesKey PY_BRACKETS = TextAttributesKey.createTextAttributesKey("PY.BRACKETS", BRACKETS);
|
||||
|
||||
static final TextAttributesKey PY_BRACKETS = _copy("PY.BRACKETS", BRACKETS);
|
||||
static final TextAttributesKey PY_BRACES = TextAttributesKey.createTextAttributesKey("PY.BRACES", BRACES);
|
||||
|
||||
static final TextAttributesKey PY_BRACES = _copy("PY.BRACES", BRACES);
|
||||
static final TextAttributesKey PY_COMMA = TextAttributesKey.createTextAttributesKey("PY.COMMA", COMMA);
|
||||
|
||||
static final TextAttributesKey PY_COMMA = _copy("PY.COMMA", COMMA);
|
||||
static final TextAttributesKey PY_DOT = TextAttributesKey.createTextAttributesKey("PY.DOT", DOT);
|
||||
|
||||
static final TextAttributesKey PY_DOT = _copy("PY.DOT", DOT);
|
||||
public static final TextAttributesKey PY_DOC_COMMENT = TextAttributesKey.createTextAttributesKey("PY.DOC_COMMENT", DOC_COMMENT);
|
||||
|
||||
public static final TextAttributesKey PY_DOC_COMMENT = _copy("PY.DOC_COMMENT", DOC_COMMENT);
|
||||
public static final TextAttributesKey PY_DOC_COMMENT_TAG = TextAttributesKey.createTextAttributesKey("PY.DOC_COMMENT_TAG", DOC_COMMENT_TAG);
|
||||
|
||||
public static final TextAttributesKey PY_DOC_COMMENT_TAG = _copy("PY.DOC_COMMENT_TAG", DOC_COMMENT_TAG);
|
||||
public static final TextAttributesKey PY_DECORATOR = TextAttributesKey.createTextAttributesKey("PY.DECORATOR", IDENTIFIER);
|
||||
|
||||
public static final TextAttributesKey PY_DECORATOR = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.DECORATOR", new TextAttributes(Color.blue.darker(), null, null, null, Font.PLAIN)
|
||||
);
|
||||
public static final TextAttributesKey PY_CLASS_DEFINITION = TextAttributesKey.createTextAttributesKey("PY.CLASS_DEFINITION", CLASS_NAME);
|
||||
|
||||
public static final TextAttributesKey PY_CLASS_DEFINITION = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.CLASS_DEFINITION", new TextAttributes(Color.black, null, null, null, Font.BOLD)
|
||||
);
|
||||
public static final TextAttributesKey PY_FUNC_DEFINITION = TextAttributesKey.createTextAttributesKey("PY.FUNC_DEFINITION", FUNCTION_DECLARATION);
|
||||
|
||||
public static final TextAttributesKey PY_FUNC_DEFINITION = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.FUNC_DEFINITION", new TextAttributes(Color.black, null, null, null, Font.BOLD)
|
||||
);
|
||||
public static final TextAttributesKey PY_PREDEFINED_DEFINITION = TextAttributesKey.createTextAttributesKey("PY.PREDEFINED_DEFINITION", PREDEFINED_SYMBOL);
|
||||
|
||||
public static final TextAttributesKey PY_PREDEFINED_DEFINITION = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.PREDEFINED_DEFINITION", new TextAttributes(Color.magenta.darker(), null, null, null, Font.BOLD)
|
||||
);
|
||||
public static final TextAttributesKey PY_PREDEFINED_USAGE = TextAttributesKey.createTextAttributesKey("PY.PREDEFINED_USAGE", PREDEFINED_SYMBOL);
|
||||
|
||||
public static final TextAttributesKey PY_PREDEFINED_USAGE = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.PREDEFINED_USAGE", new TextAttributes(Color.magenta.darker(), null, null, null, Font.PLAIN)
|
||||
);
|
||||
public static final TextAttributesKey PY_BUILTIN_NAME = TextAttributesKey.createTextAttributesKey("PY.BUILTIN_NAME", PREDEFINED_SYMBOL);
|
||||
|
||||
public static final TextAttributesKey PY_BUILTIN_NAME = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.BUILTIN_NAME",
|
||||
new TextAttributes(KEYWORD.getDefaultAttributes().getForegroundColor(), null, null, null, Font.PLAIN)
|
||||
);
|
||||
public static final TextAttributesKey PY_PARAMETER = TextAttributesKey.createTextAttributesKey("PY.PARAMETER", PARAMETER);
|
||||
public static final TextAttributesKey PY_SELF_PARAMETER = TextAttributesKey.createTextAttributesKey( "PY.SELF_PARAMETER", PARAMETER);
|
||||
|
||||
public static final TextAttributesKey PY_PARAMETER =_copy("PY.PARAMETER", CodeInsightColors.PARAMETER_ATTRIBUTES);
|
||||
public static final TextAttributesKey PY_SELF_PARAMETER = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.SELF_PARAMETER", new TextAttributes(new Color(148, 85, 141), null, null, null, Font.PLAIN));
|
||||
public static final TextAttributesKey PY_KEYWORD_ARGUMENT = TextAttributesKey.createTextAttributesKey("PY.KEYWORD_ARGUMENT", PARAMETER);
|
||||
|
||||
public static final TextAttributesKey PY_KEYWORD_ARGUMENT = TextAttributesKey.createTextAttributesKey(
|
||||
"PY.KEYWORD_ARGUMENT", new TextAttributes(new Color(102, 0, 153), null, null, null, Font.PLAIN));
|
||||
public static final TextAttributesKey PY_VALID_STRING_ESCAPE = TextAttributesKey.createTextAttributesKey("PY.VALID_STRING_ESCAPE", VALID_STRING_ESCAPE);
|
||||
|
||||
public static final TextAttributesKey PY_VALID_STRING_ESCAPE = _copy("PY.VALID_STRING_ESCAPE", VALID_STRING_ESCAPE);
|
||||
|
||||
public static final TextAttributesKey PY_INVALID_STRING_ESCAPE = _copy("PY.INVALID_STRING_ESCAPE", INVALID_STRING_ESCAPE);
|
||||
public static final TextAttributesKey PY_INVALID_STRING_ESCAPE = TextAttributesKey.createTextAttributesKey("PY.INVALID_STRING_ESCAPE", INVALID_STRING_ESCAPE);
|
||||
|
||||
/**
|
||||
* The 'heavy' constructor that initializes everything. PySyntaxHighlighterFactory caches such instances per level.
|
||||
|
||||
Reference in New Issue
Block a user