When "Args" and "Parameters" are present, prefer NumPy style (#3430)

This commit is contained in:
Charlie Marsh 2023-03-09 21:58:05 -05:00 committed by GitHub
parent 2383228709
commit 872829ca72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -294,18 +294,6 @@ pub fn sections(checker: &mut Checker, docstring: &Docstring, convention: Option
// (e.g., "Returns", "Raises"). Break ties by checking for the presence of some of the
// section names that are unique to each convention.
// If the docstring contains `Args:` or `Arguments:`, use the Google convention.
let google_sections = section_contexts(&lines, &SectionStyle::Google);
if google_sections
.iter()
.any(|context| matches!(context.kind, SectionKind::Arguments | SectionKind::Args))
{
for context in &google_sections {
google_section(checker, docstring, context);
}
return;
}
// If the docstring contains `Parameters:` or `Other Parameters:`, use the NumPy
// convention.
let numpy_sections = section_contexts(&lines, &SectionStyle::Numpy);
@ -321,6 +309,18 @@ pub fn sections(checker: &mut Checker, docstring: &Docstring, convention: Option
return;
}
// If the docstring contains `Args:` or `Arguments:`, use the Google convention.
let google_sections = section_contexts(&lines, &SectionStyle::Google);
if google_sections
.iter()
.any(|context| matches!(context.kind, SectionKind::Arguments | SectionKind::Args))
{
for context in &google_sections {
google_section(checker, docstring, context);
}
return;
}
// Otherwise, use whichever convention matched more sections.
if google_sections.len() > numpy_sections.len() {
for context in &google_sections {