Feature request: Add an option that changes behavior depending on whether attributes have arguments
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 19.7k
- Forks
- 2.3k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 11
Description
New Issue Checklist
- Updated SwiftLint to the latest version
- I searched for existing GitHub issues
New feature request
The attributes_with_arguments_always_on_line_above option which has added to the attributes rule in version 0.52.0 is only working for variables and imports.
I think it would be nice if there was a way to work for functions and types as well.
In the current version, variables and imports can change the behavior of the attributes rule depending on whether their attributes have arguments, but functions and types cannot.
I think it would be nice if they had a way to do the same.
An use case:
@objc(Foo)
class Foo: NSObject {
@objc func foo() {}
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attributes rule and the existing attributes_with_arguments_always_on_line_above option, then trace how it handles variables and imports. Extend the same behavior to functions and types, and verify that attributes with arguments can follow the requested placement behavior in examples like the supplied @objc declarations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100