Skip to content

Commit

Permalink
Improve documentation around custom isort sections
Browse files Browse the repository at this point in the history
  • Loading branch information
charliermarsh committed Apr 19, 2024
1 parent 7b3c92a commit 5b25b5c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
26 changes: 25 additions & 1 deletion crates/ruff_workspace/src/options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2257,7 +2257,31 @@ pub struct IsortOptions {

// Tables are required to go last.
/// A list of mappings from section names to modules.
/// By default custom sections are output last, but this can be overridden with `section-order`.
///
/// By default, imports are categorized according to their type (e.g., `future`, `third-party`,
/// and so on). This setting allows you to group modules into custom sections, to augment or
/// override the built-in sections.
///
/// For example, to group all testing utilities, you could create a `testing` section:
/// ```toml
/// testing = ["pytest", "hypothesis"]
/// ```
///
/// Custom sections should typically be inserted into the `section-order` list to ensure that
/// they're displayed as a standalone group and in the intended order, as in:
/// ```toml
/// section-order = [
/// "future",
/// "standard-library",
/// "third-party",
/// "first-party",
/// "local-folder",
/// "testing"
/// ]
/// ```
///
/// If a custom section is omitted from `section-order`, imports in that section will be
/// assigned to the `default-section` (which defaults to `third-party`).
#[option(
default = "{}",
value_type = "dict[str, list[str]]",
Expand Down
2 changes: 1 addition & 1 deletion ruff.schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 5b25b5c

Please sign in to comment.