mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
i18n: Add missing annotations in Python documentation providers
Proper internationalization of PyDocumentationBuilder and PythonDocumentationProvider is still in the making, though. GitOrigin-RevId: 57745d8c00a9cff9f0d6de6e599482c88a5b147e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9145a3c920
commit
1dc1f77281
+2
-1
@@ -4,6 +4,7 @@ package com.jetbrains.python.documentation;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jsoup.nodes.Document;
|
||||
@@ -18,7 +19,7 @@ public interface PythonDocumentationLinkProvider {
|
||||
String getExternalDocumentationUrl(PsiElement element, PsiElement originalElement);
|
||||
|
||||
@Nullable
|
||||
default Function<Document, String> quickDocExtractor(@NotNull PsiNamedElement namedElement) {
|
||||
default Function<Document, @Nls String> quickDocExtractor(@NotNull PsiNamedElement namedElement) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -17,6 +17,7 @@ package com.jetbrains.python.documentation;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -36,5 +37,5 @@ public interface PythonDocumentationQuickInfoProvider {
|
||||
* @return info (if exists) or null (if another provider should be checked)
|
||||
*/
|
||||
@Nullable
|
||||
String getQuickInfo(@NotNull PsiElement originalElement);
|
||||
@Nls String getQuickInfo(@NotNull PsiElement originalElement);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.jetbrains.python.psi.LanguageLevel;
|
||||
import com.jetbrains.python.psi.PyReferenceExpression;
|
||||
import com.jetbrains.python.psi.resolve.PyResolveContext;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -27,7 +28,7 @@ public class PythonRuntimeService {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String createPydevDoc(PsiElement element, PsiElement originalElement) {
|
||||
public @Nls String createPydevDoc(PsiElement element, PsiElement originalElement) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ import com.jetbrains.python.pyi.PyiUtil;
|
||||
import com.jetbrains.python.toolbox.ChainIterable;
|
||||
import com.jetbrains.python.toolbox.Maybe;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -66,7 +67,7 @@ public class PyDocumentationBuilder {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String build() {
|
||||
public @Nls String build() {
|
||||
final PsiElement outerElement = myOriginalElement != null ? myOriginalElement.getParent() : null;
|
||||
|
||||
PsiElement elementDefinition = resolveToDocStringOwner();
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@ package com.jetbrains.python.codeInsight.stdlib;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -974,7 +975,7 @@ public class PyStdlibDocumentationLinkProvider implements PythonDocumentationLin
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Function<Document, String> quickDocExtractor(@NotNull PsiNamedElement namedElement) {
|
||||
public Function<Document, @NlsSafe String> quickDocExtractor(@NotNull PsiNamedElement namedElement) {
|
||||
return document -> {
|
||||
final String moduleName = getModuleNameForDocumentationUrl(namedElement, namedElement);
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public class PydevDocumentationProvider extends AbstractDocumentationProvider {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static String createDoc(final PsiElement element, final PsiElement originalElement) {
|
||||
public static @Nls String createDoc(final PsiElement element, final PsiElement originalElement) {
|
||||
final PyReferenceExpression expression = PsiTreeUtil.getNonStrictParentOfType(originalElement, PyReferenceExpression.class);
|
||||
// Indicates that we are inside console, not a lookup element!
|
||||
if (expression == null){
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.jetbrains.python.console.completion;
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.jetbrains.python.PythonLanguage;
|
||||
@@ -37,12 +38,13 @@ public class PydevConsoleElement extends LightNamedElement {
|
||||
return "PydevConsoleElement " + myDescription;
|
||||
}
|
||||
|
||||
public static String generateDoc(final PydevConsoleElement pydevConsoleElement) {
|
||||
public static @NlsSafe String generateDoc(final PydevConsoleElement pydevConsoleElement) {
|
||||
final String description = pydevConsoleElement.myDescription;
|
||||
// Description contract:
|
||||
// (Signatures\n\n) ? Description
|
||||
final int index = description.indexOf("\n\n");
|
||||
if (index != -1){
|
||||
// TODO replace with HtmlBuilder
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
builder.append("<b>").append(description.subSequence(0, index)).append("</b>").append("<hr/>").append(description.substring(index+2));
|
||||
return StringUtil.replace(builder.toString(), "\n", "<br/>");
|
||||
|
||||
+2
-1
@@ -14,6 +14,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
@@ -87,7 +88,7 @@ public class PythonExternalDocumentationProvider extends PythonDocumentationProv
|
||||
continue;
|
||||
}
|
||||
|
||||
Function<Document, String> quickDocExtractor = documentationLinkProvider.quickDocExtractor(namedElement);
|
||||
Function<Document, @Nls String> quickDocExtractor = documentationLinkProvider.quickDocExtractor(namedElement);
|
||||
|
||||
if (quickDocExtractor != null) {
|
||||
final Document document = documentSupplier.get();
|
||||
|
||||
Reference in New Issue
Block a user