Java Code Examples for com.intellij.psi.PsiFile#getContext()
The following examples show how to use
com.intellij.psi.PsiFile#getContext() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GraphQLLanguageInjectionUtil.java From js-graphql-intellij-plugin with MIT License | 6 votes |
public static String getEnvironment(PsiFile file) { if (file instanceof JSFile) { // for JS Files we have to check the kind of environment being used final Ref<String> envRef = new Ref<>(); file.accept(new PsiRecursiveElementVisitor() { @Override public void visitElement(PsiElement element) { if (!isJSGraphQLLanguageInjectionTarget(element, envRef)) { // no match yet, so keep visiting super.visitElement(element); } } }); final String environment = envRef.get(); if (environment != null) { return environment; } } else if (file instanceof GraphQLFile) { final Ref<String> tag = new Ref<>(); if (file.getContext() != null && isJSGraphQLLanguageInjectionTarget(file.getContext(), tag)) { return tag.get(); } } // fallback is traditional GraphQL return GRAPHQL_ENVIRONMENT; }
Example 2
Source File: SassLintExternalAnnotator.java From sass-lint-plugin with MIT License | 5 votes |
@Nullable private static ExternalLintAnnotationInput collectInformation(@NotNull PsiFile psiFile, @Nullable Editor editor) { if (psiFile.getContext() != null || !SassLintConfigFileUtil.isSassFile(psiFile)) { return null; } VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile == null || !virtualFile.isInLocalFileSystem()) { return null; } if (psiFile.getViewProvider() instanceof MultiplePsiFilesPerDocumentFileViewProvider) { return null; } Project project = psiFile.getProject(); SassLintProjectComponent component = project.getComponent(SassLintProjectComponent.class); if (!component.isSettingsValid() || !component.isEnabled()) { return null; } Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); if (document == null) { return null; } String fileContent = document.getText(); if (StringUtil.isEmptyOrSpaces(fileContent)) { return null; } EditorColorsScheme colorsScheme = editor != null ? editor.getColorsScheme() : null; // tabSize = getTabSize(editor); // tabSize = 4; return new ExternalLintAnnotationInput(project, psiFile, fileContent, colorsScheme); }
Example 3
Source File: RTExternalAnnotator.java From react-templates-plugin with MIT License | 5 votes |
@Nullable private static ExternalLintAnnotationInput collectInformation(@NotNull PsiFile psiFile, @Nullable Editor editor) { if (psiFile.getContext() != null || !RTFileUtil.isRTFile(psiFile)) { return null; } VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile == null || !virtualFile.isInLocalFileSystem()) { return null; } if (psiFile.getViewProvider() instanceof MultiplePsiFilesPerDocumentFileViewProvider) { return null; } Project project = psiFile.getProject(); RTProjectComponent component = project.getComponent(RTProjectComponent.class); if (component == null || !component.isValidAndEnabled()) { return null; } Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); if (document == null) { return null; } String fileContent = document.getText(); if (StringUtil.isEmptyOrSpaces(fileContent)) { return null; } EditorColorsScheme colorsScheme = editor == null ? null : editor.getColorsScheme(); // tabSize = getTabSize(editor); // tabSize = 4; return new ExternalLintAnnotationInput(project, psiFile, fileContent, colorsScheme); }
Example 4
Source File: GraphQLReferencePsiElement.java From js-graphql-intellij-plugin with MIT License | 5 votes |
@NotNull @Override public SearchScope getUseScope() { SearchScope useScope = super.getUseScope(); final PsiFile psiFile = getContainingFile(); if(psiFile != null) { PsiElement context = psiFile.getContext(); if(context != null && context.getLanguage() != this.getLanguage()) { // this PSI element is part of injected GraphQL, so we have to expand the use scope which defaults to the current file only useScope = useScope.union(GraphQLPsiSearchHelper.getService(getProject()).getUseScope(this)); } } return useScope; }
Example 5
Source File: RTExternalAnnotator.java From react-templates-plugin with MIT License | 5 votes |
@Nullable private static ExternalLintAnnotationInput collectInformation(@NotNull PsiFile psiFile, @Nullable Editor editor) { if (psiFile.getContext() != null || !RTFileUtil.isRTFile(psiFile)) { return null; } VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile == null || !virtualFile.isInLocalFileSystem()) { return null; } if (psiFile.getViewProvider() instanceof MultiplePsiFilesPerDocumentFileViewProvider) { return null; } Project project = psiFile.getProject(); RTProjectComponent component = project.getComponent(RTProjectComponent.class); if (component == null || !component.isValidAndEnabled()) { return null; } Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); if (document == null) { return null; } String fileContent = document.getText(); if (StringUtil.isEmptyOrSpaces(fileContent)) { return null; } EditorColorsScheme colorsScheme = editor == null ? null : editor.getColorsScheme(); // tabSize = getTabSize(editor); // tabSize = 4; return new ExternalLintAnnotationInput(project, psiFile, fileContent, colorsScheme); }
Example 6
Source File: ESLintExternalAnnotator.java From eslint-plugin with MIT License | 5 votes |
@Nullable private static ExternalLintAnnotationInput collectInformation(@NotNull PsiFile psiFile, @Nullable Editor editor) { if (psiFile.getContext() != null) { return null; } VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile == null || !virtualFile.isInLocalFileSystem()) { return null; } if (psiFile.getViewProvider() instanceof MultiplePsiFilesPerDocumentFileViewProvider) { return null; } Project project = psiFile.getProject(); ESLintProjectComponent component = project.getComponent(ESLintProjectComponent.class); if (!component.isSettingsValid() || !component.isEnabled() || !isJavaScriptFile(psiFile, component.ext)) { return null; } Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); if (document == null) { return null; } String fileContent = document.getText(); if (StringUtil.isEmptyOrSpaces(fileContent)) { return null; } EditorColorsScheme colorsScheme = editor == null ? null : editor.getColorsScheme(); // tabSize = getTabSize(editor); // tabSize = 4; return new ExternalLintAnnotationInput(project, psiFile, fileContent, colorsScheme); }
Example 7
Source File: PsiSearchScopeUtil.java From consulo with Apache License 2.0 | 5 votes |
public static boolean isInScope(@Nonnull GlobalSearchScope globalScope, @Nonnull PsiElement element) { PsiFile file = element.getContainingFile(); if (file == null) { return true; } final PsiElement context = file.getContext(); if (context != null) file = context.getContainingFile(); if (file == null) return false; VirtualFile virtualFile = file.getVirtualFile(); return virtualFile == null || globalScope.contains(file.getVirtualFile()); }
Example 8
Source File: FileContextUtil.java From consulo with Apache License 2.0 | 5 votes |
@Nullable public static PsiFile getContextFile(@Nonnull PsiElement element) { if (!element.isValid()) return null; PsiFile file = element.getContainingFile(); if (file == null) return null; PsiElement context = file.getContext(); if (context == null) { return file; } else { return getContextFile(context); } }