Skip to content

The page_width option in the analysis_options.yaml is ignored #1518

@koji-1009

Description

@koji-1009

json_serializable disregards the page_width setting in analysis_options.yaml and uses the default value of 80. Therefore, if a different page_width is specified in the project's analysis_options.yaml, a separate formatting step is required after running build_runner build.

String defaultFormatOutput(String code, Version languageVersion) =>
DartFormatter(languageVersion: languageVersion).format(code);

Steps to Reproduce

This behavior can be reproduced in the json_serializable.dart project.

  1. Set a page_width value other than 80 in /analysis_options.yaml:
    formatter:
      page_width: 120
  2. Navigate to the /example.
  3. Run dart run build_runner build -d.
    • The generated code is formatted with page_width 80.
  4. Run dart format lib/.
    • The generated code is formatted with page_width 120.
  5. Run dart run build_runner build -d.
    • The generated code is formatted with page_width 80.

Proposal

How about adding the line // dart format width=80 to the generated code?

https://github.com/dart-lang/dart_style/blob/bacc9bf8fcec6fffc15ad7e9257b7faba5298ea9/CHANGELOG.md#300

Trailing comma

As reported in #1486, the trailing commas option is also not reflected. However, since commas are removed when formatted with TrailingCommas.automate, I cannot think of any cases where additional formatting would be necessary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions