Don't highlight Unicode literals in Python 3.3 as errors (PY-6703)

This commit is contained in:
Andrey Vlasovskikh
2012-06-04 22:04:38 +04:00
parent b0f01482fd
commit 56a0c67e4a
4 changed files with 13 additions and 3 deletions
@@ -18,7 +18,8 @@ public enum LanguageLevel {
PYTHON27(27, true, true, true, false),
PYTHON30(30, true, false, false, true),
PYTHON31(31, true, false, true, true),
PYTHON32(32, true, false, true, true);
PYTHON32(32, true, false, true, true),
PYTHON33(33, true, false, true, true);
public static LanguageLevel getDefault() {
return PYTHON26;
@@ -87,7 +88,10 @@ public enum LanguageLevel {
if (pythonVersion.startsWith("3.1")) {
return PYTHON31;
}
return PYTHON32;
if (pythonVersion.startsWith("3.2")) {
return PYTHON32;
}
return PYTHON33;
}
return PYTHON24;
}
@@ -218,7 +218,7 @@ public abstract class CompatibilityVisitor extends PyAnnotator {
for (int i = 0; i != myVersionsToProcess.size(); ++i) {
LanguageLevel languageLevel = myVersionsToProcess.get(i);
if (languageLevel.isPy3K()) {
if (languageLevel.isAtLeast(LanguageLevel.PYTHON30) && languageLevel.isOlderThan(LanguageLevel.PYTHON33)) {
final String text = node.getText();
if (text.startsWith("u") || text.startsWith("U")) {
len = appendLanguageLevel(message, len, languageLevel);
@@ -0,0 +1 @@
print(u'text')
@@ -147,6 +147,11 @@ public class PythonHighlightingTest extends PyTestCase {
doTest(LanguageLevel.PYTHON30, true, false);
}
// PY-6703
public void testUnicode33() {
doTest(LanguageLevel.PYTHON33, true, false);
}
public void testYieldInNestedFunction() {
// highlight func declaration first, lest we get an "Extra fragment highlighted" error.
EditorColorsManager manager = EditorColorsManager.getInstance();