Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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