mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-32109 Use the latest supported language version for the example in colorscheme settings
This commit is contained in:
@@ -34,6 +34,14 @@ public class PySyntaxHighlighterFactory extends SyntaxHighlighterFactory {
|
||||
final LanguageLevel level = project != null && virtualFile != null ?
|
||||
PyUtil.getLanguageLevelForVirtualFile(project, virtualFile) :
|
||||
LanguageLevel.getDefault();
|
||||
return myMap.get(level);
|
||||
return getSyntaxHighlighterForLanguageLevel(level);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a syntax highlighter targeting the specified version of Python.
|
||||
*/
|
||||
@NotNull
|
||||
public SyntaxHighlighter getSyntaxHighlighterForLanguageLevel(@NotNull LanguageLevel version) {
|
||||
return myMap.get(version);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.intellij.psi.codeStyle.DisplayPrioritySortable;
|
||||
import com.intellij.util.PlatformUtils;
|
||||
import com.jetbrains.python.PythonFileType;
|
||||
import com.jetbrains.python.PythonLanguage;
|
||||
import com.jetbrains.python.psi.LanguageLevel;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -114,9 +115,11 @@ public class PythonColorsPage implements RainbowColorSettingsPage, InspectionCol
|
||||
@Override
|
||||
@NotNull
|
||||
public SyntaxHighlighter getHighlighter() {
|
||||
final SyntaxHighlighter highlighter = SyntaxHighlighterFactory.getSyntaxHighlighter(PythonFileType.INSTANCE, null, null);
|
||||
assert highlighter != null;
|
||||
return highlighter;
|
||||
final SyntaxHighlighterFactory factory = SyntaxHighlighterFactory.LANGUAGE_FACTORY.forLanguage(PythonLanguage.getInstance());
|
||||
if (factory instanceof PySyntaxHighlighterFactory) {
|
||||
return ((PySyntaxHighlighterFactory)factory).getSyntaxHighlighterForLanguageLevel(LanguageLevel.getLatest());
|
||||
}
|
||||
return factory.getSyntaxHighlighter(null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -136,7 +139,7 @@ public class PythonColorsPage implements RainbowColorSettingsPage, InspectionCol
|
||||
"class <classDef>Foo</classDef>:\n" +
|
||||
" tags: <annotation>List[<builtin>str</builtin>]</annotation>\n" +
|
||||
" def <predefined>__init__</predefined>(<self>self</self>: <annotation>Foo</annotation>):\n" +
|
||||
" <localVar>byte_string</localVar>: <annotation><builtin>str</builtin></annotation> = 'newline:\\n also newline:\\x0a'\n" +
|
||||
" <localVar>byte_string</localVar>: <annotation><builtin>bytes</builtin></annotation> = b'newline:\\n also newline:\\x0a'\n" +
|
||||
" <localVar>text_string</localVar> = u\"Cyrillic Я is \\u042f. Oops: \\u042g\"\n" +
|
||||
" <self>self</self>.<mcall>makeSense</mcall>(<kwarg>whatever</kwarg>=1)\n" +
|
||||
" \n" +
|
||||
|
||||
Reference in New Issue
Block a user