realm / realm/SwiftLint

Feature request: Add an option that changes behavior depending on whether attributes have arguments

Open
#5,011 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion
Dominant language
Swift
Stars
19.7k
Forks
2.3k
Avg merge
1d 1h
Merged PRs (30d)
11

Description

New Issue Checklist
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() {}
}

ref. Google's Swift Style Guide

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.