Skip to content

Commit

Permalink
Avoid tracking as-imports separately with force-single-line
Browse files Browse the repository at this point in the history
  • Loading branch information
charliermarsh committed Mar 15, 2023
1 parent 57796c5 commit ec3aadf
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion crates/ruff/src/rules/isort/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ pub fn format_imports(
let block = annotate_imports(&block.imports, comments, locator, split_on_trailing_comma);

// Normalize imports (i.e., deduplicate, aggregate `from` imports).
let block = normalize_imports(block, combine_as_imports);
let block = normalize_imports(block, combine_as_imports, force_single_line);

let mut output = String::new();

Expand Down
10 changes: 7 additions & 3 deletions crates/ruff/src/rules/isort/normalize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ use crate::rules::isort::types::TrailingComma;
use super::types::{AliasData, ImportBlock, ImportFromData};
use super::AnnotatedImport;

pub fn normalize_imports(imports: Vec<AnnotatedImport>, combine_as_imports: bool) -> ImportBlock {
pub fn normalize_imports(
imports: Vec<AnnotatedImport>,
combine_as_imports: bool,
force_single_line: bool,
) -> ImportBlock {
let mut block = ImportBlock::default();
for import in imports {
match import {
Expand Down Expand Up @@ -55,7 +59,7 @@ pub fn normalize_imports(imports: Vec<AnnotatedImport>, combine_as_imports: bool
.import_from_star
.entry(ImportFromData { module, level })
.or_default()
} else if alias.asname.is_none() || combine_as_imports {
} else if alias.asname.is_none() || combine_as_imports || force_single_line {
block
.import_from
.entry(ImportFromData { module, level })
Expand Down Expand Up @@ -89,7 +93,7 @@ pub fn normalize_imports(imports: Vec<AnnotatedImport>, combine_as_imports: bool
.import_from_star
.entry(ImportFromData { module, level })
.or_default()
} else if alias.asname.is_none() || combine_as_imports {
} else if alias.asname.is_none() || combine_as_imports || force_single_line {
block
.import_from
.entry(ImportFromData { module, level })
Expand Down

0 comments on commit ec3aadf

Please sign in to comment.