get language level for the python fragments in the notebook

This commit is contained in:
Ekaterina Tuzova
2016-03-03 15:33:00 +03:00
parent 480658c12e
commit 14765d78ff
@@ -7,6 +7,9 @@ import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.impl.file.impl.FileManager;
import com.intellij.psi.impl.source.tree.FileElement;
import com.intellij.testFramework.LightVirtualFile;
import com.intellij.util.indexing.IndexingDataKeys;
import com.jetbrains.python.psi.LanguageLevel;
import com.jetbrains.python.psi.PyUtil;
import com.jetbrains.python.psi.impl.PyFileImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -88,4 +91,17 @@ public class IpnbPyFragment extends PyFileImpl {
public PsiElement getPrevSibling() {
return null;
}
@Override
public LanguageLevel getLanguageLevel() {
VirtualFile virtualFile = getVirtualFile();
if (virtualFile == null) {
virtualFile = getUserData(IndexingDataKeys.VIRTUAL_FILE);
}
if (virtualFile == null) {
virtualFile = getViewProvider().getVirtualFile();
}
return PyUtil.getLanguageLevelForVirtualFile(getProject(), virtualFile);
}
}