diff --git a/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java b/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java index 2c3758a0946d..565b39361545 100644 --- a/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java +++ b/python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java @@ -566,6 +566,10 @@ public class PythonDocumentationProvider extends AbstractDocumentationProvider i } } } + if (PyTokenTypes.DOCSTRING == elementType) { + final PyDocStringOwner docstringOwner = PsiTreeUtil.getParentOfType(contextElement, PyDocStringOwner.class); + if (docstringOwner != null) return docstringOwner; + } } return super.getCustomDocumentationElement(editor, file, contextElement); } diff --git a/python/testData/quickdoc/Docstring.html b/python/testData/quickdoc/Docstring.html new file mode 100644 index 000000000000..e4cfe0fd4e36 --- /dev/null +++ b/python/testData/quickdoc/Docstring.html @@ -0,0 +1 @@ +def foo()
Inferred type: () -> None

Doc of foo.
\ No newline at end of file diff --git a/python/testData/quickdoc/Docstring.py b/python/testData/quickdoc/Docstring.py new file mode 100644 index 000000000000..a703742ebbb4 --- /dev/null +++ b/python/testData/quickdoc/Docstring.py @@ -0,0 +1,6 @@ +# directly in function +def foo(): + "Doc of foo." + pass + +foo() diff --git a/python/testSrc/com/jetbrains/python/PyQuickDocTest.java b/python/testSrc/com/jetbrains/python/PyQuickDocTest.java index ce5ae9d67346..8f0599d55795 100644 --- a/python/testSrc/com/jetbrains/python/PyQuickDocTest.java +++ b/python/testSrc/com/jetbrains/python/PyQuickDocTest.java @@ -300,6 +300,14 @@ public class PyQuickDocTest extends LightMarkedTestCase { checkByHTML(myProvider.generateDoc(element, originalElement)); } + public void testDocstring() { + Map marks = loadTest(); + final PsiElement originalElement = marks.get(""); + + final PsiElement element = myProvider.getCustomDocumentationElement(myFixture.getEditor(), myFile, originalElement); + checkByHTML(myProvider.generateDoc(element, originalElement)); + } + public void testReferenceToMethodQualifiedWithInstance() { checkHTMLOnly(); }