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

Ignore max_line_length property unless max-line-length rule is enabled #2783

Merged
merged 2 commits into from
Aug 28, 2024

Conversation

paul-dingemans
Copy link
Collaborator

IMPORTANT: Potential breaking change for API Consumers that provide the max_line_length property but not enabling/providing the max-line-length rule of the Ktlint standard rule set.

Description

Ignore max_line_length property unless max-line-length rule is enabled. Align EditorConfig settings for max_line_length and enable/disabling the max-line-length rule

Rules should only consider the maximum line length in case property max_line_length is set to a value between 0 and MAX_INTEGER - 1, and the max-line-length rule is provided to the KtLintRuleEngine, and the max-line-length rule is enabled.

It should not be enforced that property max_line_length should have value unset or off whenever the max-line-length rule is disabled, or not provided to the KtLintRuleEngine. This property is also used by IntelliJ IDEA to display the right margin where lines should be wrapped. A user should be able to disable enforce max line length wrapping in ktlint, while still seeing the margin line in the editor.

Closes #2743

Checklist

Before submitting the PR, please check following (checks which are not relevant may be ignored):

  • Commit message are well written. In addition to a short title, the commit message also explain why a change is made.
  • At least one commit message contains a reference Closes #<xxx> or Fixes #<xxx> (replace<xxx> with issue number)
  • Tests are added
  • KtLint format has been applied on source code itself and violations are fixed
  • PR title is short and clear (it is used as description in the release changelog)
  • PR description added (background information)

Documentation is updated. See difference between snapshot and release documentation

  • Snapshot documentation in case documentation is to be released together with a code change
  • Release documentation in case documentation is related to a released version of ktlint and has to be published as soon as the change is merged to master

…g the `max-line-length` rule

IMPORTANT: Potential breaking change for API Consumers that provide the `max_line_length` property but not enabling/providing the `max-line-length` rule of the Ktlint standard rule set.

Rules should only consider the maximum line length in case property `max_line_length` is set to a value between 0 and `MAX_INTEGER - 1`, and the `max-line-length` rule is provided to the KtLintRuleEngine, and the `max-line-length` rule is enabled.

It should not be enforced that property `max_line_length` should have value `unset` or `off` whenever the `max-line-length` rule is disabled, or not provided to the KtLintRuleEngine. This property is also used by IntelliJ IDEA to display the right margin where lines should be wrapped. A user should be able to disable enforce max line length wrapping in ktlint, while still seeing the margin line in the editor.

Closes #2743
@paul-dingemans paul-dingemans added this to the 1.4.0 milestone Aug 28, 2024
@shashachu shashachu merged commit 4ec5072 into master Aug 28, 2024
20 checks passed
@paul-dingemans paul-dingemans deleted the 2743 branch September 1, 2024 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

function-literal rule conflict with maximum line length
2 participants