Macros
The following macros are available globally.
-
Macro to be attached to rule configurations. It generates the configuration parsing logic automatically based on the defined
@ConfigurationElements.Declaration
Swift
@attached(member, names: named(apply) ) public macro AutoConfigParser() = #externalMacro( module: "SwiftLintCoreMacros", type: "AutoConfigParser" ) -
Macro that lets an enum with a
Stringraw type automatically conform toAcceptableByConfigurationElement.Declaration
Swift
@attached(extension, conformances: AcceptableByConfigurationElement, names: named(init(fromAny:context:) ), named(asOption)) public macro AcceptableByConfigurationElement() = #externalMacro( module: "SwiftLintCoreMacros", type: "AcceptableByConfigurationElement" ) -
Macro that adds a conformance to the
SwiftSyntaxRuleprotocol and a defaultmakeVisitor(file:)implementation that creates a visitor defined in the rule struct.Declaration
Swift
@attached(extension, conformances: SwiftSyntaxRule, SwiftSyntaxCorrectableRule, OptInRule, Rule, names: named(makeVisitor(file:) ), named(preprocess(file:)), named(makeRewriter(file:))) public macro SwiftSyntaxRule(foldExpressions: Bool = false, explicitRewriter: Bool = false, correctable: Bool = false, optIn: Bool = false) = #externalMacro( module: "SwiftLintCoreMacros", type: "SwiftSyntaxRule" )Parameters
foldExpressionsSetting it to
trueadds an implementation ofpreprocess(file:)which folds expressions before they are passed to the visitor.explicitRewriterSet it to
trueto add amakeRewriter(file:)implementation which creates a rewriter defined in the rule struct. In this case, the rule automatically conforms toSwiftSyntaxCorrectableRule.correctableSet it to
trueto make the rule conform toSwiftSyntaxCorrectableRulewithout an explicit rewriter.optInSet it to
trueto make the rule conform toOptInRule.
View on GitHub
Install in Dash
Macros Reference