diff --git a/python/src/com/jetbrains/python/documentation/GoogleCodeStyleDocString.java b/python/src/com/jetbrains/python/documentation/GoogleCodeStyleDocString.java index a5bf2960e4ed..d720604ed24c 100644 --- a/python/src/com/jetbrains/python/documentation/GoogleCodeStyleDocString.java +++ b/python/src/com/jetbrains/python/documentation/GoogleCodeStyleDocString.java @@ -16,6 +16,7 @@ package com.jetbrains.python.documentation; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.containers.ContainerUtil; import com.jetbrains.python.toolbox.Substring; import org.jetbrains.annotations.NonNls; @@ -120,8 +121,9 @@ public class GoogleCodeStyleDocString extends SectionBasedDocString { final Substring line = getLine(lineNum); final Matcher matcher = SECTION_HEADER.matcher(line); if (matcher.matches()) { - @NonNls final Substring title = line.getMatcherGroup(matcher, 1).trim(); - if (SECTION_NAMES.contains(title.toString().toLowerCase())) { + final Substring title = line.getMatcherGroup(matcher, 1).trim(); + @NonNls final String titleText = title.toString(); + if (StringUtil.isCapitalized(titleText) && SECTION_NAMES.contains(titleText.toLowerCase())) { return Pair.create(title, lineNum + 1); } } diff --git a/python/testData/docstrings/googleParamNamedLikeSection.py b/python/testData/docstrings/googleParamNamedLikeSection.py new file mode 100644 index 000000000000..4dd7921f7f9b --- /dev/null +++ b/python/testData/docstrings/googleParamNamedLikeSection.py @@ -0,0 +1,6 @@ +def func(x, *args): + """ + Args: + x: + args: + """ \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PySectionBasedDocStringTest.java b/python/testSrc/com/jetbrains/python/PySectionBasedDocStringTest.java index 531dfb23388a..85219a189388 100644 --- a/python/testSrc/com/jetbrains/python/PySectionBasedDocStringTest.java +++ b/python/testSrc/com/jetbrains/python/PySectionBasedDocStringTest.java @@ -319,6 +319,15 @@ public class PySectionBasedDocStringTest extends PyTestCase { assertEquals("Something", returnSection.getFields().get(0).getType()); } + public void testGoogleParamNamedLikeSection() { + final GoogleCodeStyleDocString docString = findAndParseGoogleStyleDocString(); + assertSize(1, docString.getSections()); + final Section paramSection = docString.getSections().get(0); + assertSize(2, paramSection.getFields()); + assertEquals("x", paramSection.getFields().get(0).getName()); + assertEquals("args", paramSection.getFields().get(1).getName()); + } + @Override protected String getTestDataPath() { return super.getTestDataPath() + "/docstrings";