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:
Mikhail Golubev
2021-08-17 12:24:16 +00:00
committed by intellij-monorepo-bot
parent 9145a3c920
commit 1dc1f77281
8 changed files with 16 additions and 8 deletions
@@ -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;
}
}
@@ -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;
}
@@ -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();
@@ -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/>");
@@ -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();