Java Code Examples for com.intellij.psi.PsiFile#getContext()
The following examples show how to use
com.intellij.psi.PsiFile#getContext() .
These examples are extracted from open source projects.
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 Project: js-graphql-intellij-plugin File: GraphQLLanguageInjectionUtil.java License: 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 Project: sass-lint-plugin File: SassLintExternalAnnotator.java License: 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 Project: react-templates-plugin File: RTExternalAnnotator.java License: 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 Project: js-graphql-intellij-plugin File: GraphQLReferencePsiElement.java License: 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 Project: react-templates-plugin File: RTExternalAnnotator.java License: 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 Project: eslint-plugin File: ESLintExternalAnnotator.java License: 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 Project: consulo File: PsiSearchScopeUtil.java License: 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 Project: consulo File: FileContextUtil.java License: 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); } }