mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
enable documentation for directories according to containing files (IDEA-65679 )
This commit is contained in:
@@ -221,6 +221,11 @@ public class JavaDocInfoGenerator {
|
||||
else if (myElement instanceof PsiVariable) {
|
||||
generateVariableJavaDoc(buffer, (PsiVariable)myElement);
|
||||
}
|
||||
else if (myElement instanceof PsiDirectory) {
|
||||
final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage((PsiDirectory)myElement);
|
||||
if (aPackage == null) return null;
|
||||
generatePackageJavaDoc(buffer, aPackage);
|
||||
}
|
||||
else if (myElement instanceof PsiPackage) {
|
||||
generatePackageJavaDoc(buffer, (PsiPackage) myElement);
|
||||
} else {
|
||||
|
||||
@@ -21,6 +21,7 @@ package com.intellij.lang;
|
||||
|
||||
import com.intellij.lang.documentation.CompositeDocumentationProvider;
|
||||
import com.intellij.lang.documentation.DocumentationProvider;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
+13
-3
@@ -43,6 +43,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.OrderEntry;
|
||||
@@ -78,10 +79,8 @@ import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class DocumentationManager {
|
||||
private static final Logger LOG = Logger.getInstance("#" + DocumentationManager.class.getName());
|
||||
@@ -802,6 +801,17 @@ public class DocumentationManager {
|
||||
result.add(LanguageDocumentation.INSTANCE.forLanguage(baseLanguage));
|
||||
}
|
||||
}
|
||||
else if (element instanceof PsiDirectory) {
|
||||
final Set<Language> langs = new HashSet<Language>();
|
||||
|
||||
for (PsiFile file : ((PsiDirectory)element).getFiles()) {
|
||||
final Language baseLanguage = file.getViewProvider().getBaseLanguage();
|
||||
if (!langs.contains(baseLanguage)) {
|
||||
langs.add(baseLanguage);
|
||||
result.add(LanguageDocumentation.INSTANCE.forLanguage(baseLanguage));
|
||||
}
|
||||
}
|
||||
}
|
||||
return CompositeDocumentationProvider.wrapProviders(result);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user