mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 06:05:01 +07:00
remove hard dependency of python-rest on django
This commit is contained in:
@@ -11,10 +11,10 @@
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="lang-impl" />
|
||||
<orderEntry type="module" module-name="rest" />
|
||||
<orderEntry type="module" module-name="python" />
|
||||
<orderEntry type="library" name="Guava" level="project" />
|
||||
<orderEntry type="module" module-name="testFramework" scope="TEST" />
|
||||
<orderEntry type="module" module-name="python-tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="python-community" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@ import com.intellij.openapi.editor.colors.EditorColors;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsScheme;
|
||||
import com.intellij.openapi.editor.ex.util.LayerDescriptor;
|
||||
import com.intellij.openapi.editor.ex.util.LayeredLexerEditorHighlighter;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.jetbrains.django.lang.template.DjangoTemplateFileType;
|
||||
import com.jetbrains.python.PythonFileType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -26,9 +27,12 @@ public class RestEditorHighlighter extends LayeredLexerEditorHighlighter {
|
||||
registerLayer(RestTokenTypes.PYTHON_LINE, new LayerDescriptor(
|
||||
SyntaxHighlighterFactory.getSyntaxHighlighter(PythonFileType.INSTANCE, project, file), "", EditorColors.INJECTED_LANGUAGE_FRAGMENT));
|
||||
|
||||
registerLayer(RestTokenTypes.DJANGO_LINE, new LayerDescriptor(
|
||||
SyntaxHighlighterFactory.getSyntaxHighlighter(DjangoTemplateFileType.INSTANCE, project, file), "", EditorColors.INJECTED_LANGUAGE_FRAGMENT));
|
||||
|
||||
FileType djangoTemplateFileType = FileTypeManager.getInstance().findFileTypeByName("DjangoTemplate");
|
||||
if (djangoTemplateFileType != null) {
|
||||
registerLayer(RestTokenTypes.DJANGO_LINE, new LayerDescriptor(
|
||||
SyntaxHighlighterFactory.getSyntaxHighlighter(djangoTemplateFileType, project, file), "",
|
||||
EditorColors.INJECTED_LANGUAGE_FRAGMENT));
|
||||
}
|
||||
|
||||
registerLayer(RestTokenTypes.JAVASCRIPT_LINE, new LayerDescriptor(
|
||||
SyntaxHighlighterFactory.getSyntaxHighlighter(StdFileTypes.JS, project, file), "", EditorColors.INJECTED_LANGUAGE_FRAGMENT));
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.impl.source.PsiFileImpl;
|
||||
import com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider;
|
||||
import com.jetbrains.django.lang.template.DjangoTemplateLanguage;
|
||||
import com.jetbrains.python.PythonLanguage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -51,7 +50,10 @@ public class RestFileViewProvider extends MultiplePsiFilesPerDocumentFileViewPro
|
||||
if (myLanguages == null) {
|
||||
myLanguages = Sets.newLinkedHashSet();
|
||||
myLanguages.add(getBaseLanguage());
|
||||
myLanguages.add(DjangoTemplateLanguage.INSTANCE);
|
||||
Language djangoTemplateLanguage = Language.findLanguageByID("DjangoTemplate");
|
||||
if (djangoTemplateLanguage != null) {
|
||||
myLanguages.add(djangoTemplateLanguage);
|
||||
}
|
||||
myLanguages.add(getTemplateDataLanguage());
|
||||
}
|
||||
return myLanguages;
|
||||
@@ -66,7 +68,7 @@ public class RestFileViewProvider extends MultiplePsiFilesPerDocumentFileViewPro
|
||||
file.setContentElementType(RestPythonElementTypes.PYTHON_BLOCK_DATA);
|
||||
return file;
|
||||
}
|
||||
else if (lang == DjangoTemplateLanguage.INSTANCE) {
|
||||
else if (lang.getID().equals("DjangoTemplate")) {
|
||||
PsiFileImpl file = (PsiFileImpl)def.createFile(this);
|
||||
file.setContentElementType(RestPythonElementTypes.DJANGO_BLOCK_DATA);
|
||||
return file;
|
||||
|
||||
Reference in New Issue
Block a user