Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "// dart format width=80" comment in generated code #724

Open
munificent opened this issue Oct 7, 2024 · 0 comments
Open

Add "// dart format width=80" comment in generated code #724

munificent opened this issue Oct 7, 2024 · 0 comments

Comments

@munificent
Copy link
Member

After many years of users asking for it, we are adding support to the formatter for project-wide page width configuration using a surrounding analysis_options.yaml file (dart-lang/sdk#56863). However, tools like source_gen don't necessarily have access to (or want to access) IO or know where generated code will end up on disk.

To avoid breaking CI by having the code get generated and formatted at one width and then get formatted to a different width when the user runs dart format, we also added support for putting a marker comment in a file to specify an explicit width, like:

// dart format width=80

When this comment is present at the top of the file (before any code, but can be after other comments), then that comment will take precedence and the file will reliably be formatted at that width regardless of any surrounding configuration. So if code generators insert that comment at the top of the code they generate, they don't have to worry about reading the user's configuration.

This issue is requesting that source_gen be updated to add that comment to the code it generates. Since it's just a comment, it's safe to add this at any time. Let me know if you have any questions/feedback and I'll do my best.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant