Automated deployment to GitHub Pages: b67e82a832

This commit is contained in:
swiftlintbot@jpsim.com
2024-08-03 16:11:20 +00:00
parent b4f126bfb5
commit 99fe5ce843
14 changed files with 1118 additions and 102 deletions
+9
View File
@@ -622,6 +622,15 @@
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.contrasted_opening_brace"></a>
<a name="//apple_ref/swift/Guide/contrasted_opening_brace" class="dashAnchor"></a>
<a class="direct-link" href="contrasted_opening_brace.html">contrasted_opening_brace</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
+544
View File
@@ -0,0 +1,544 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>contrasted_opening_brace Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a title="contrasted_opening_brace Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SwiftLintCore 0.55.1 Docs
</a>
(100% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/realm/SwiftLint">
<img class="header-icon" src="img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
<img class="header-icon" src="img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SwiftLintCore Reference</a>
<img class="carat" src="img/carat.png" alt=""/>
contrasted_opening_brace Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Rules.html">Rules</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="rule-directory.html">Rule Directory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter/IndentationStyle.html">– IndentationStyle</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomRuleTimer.html">CustomRuleTimer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/LinterCache.html">LinterCache</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleRegistry.html">RuleRegistry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleStorage.html">RuleStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SwiftLintFile.html">SwiftLintFile</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Global%20Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore9coreRulesSayAA4Rule_pXpGvp">coreRules</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore13reportersListSayAA8Reporter_pXpGvp">reportersList</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/AccessControlLevel.html">AccessControlLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ExecutableInfo.html">ExecutableInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/Issue.html">Issue</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/OptionType.html">OptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleIdentifier.html">RuleIdentifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleKind.html">RuleKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleListError.html">RuleListError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ViolationSeverity.html">ViolationSeverity</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Optional.html">Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Set.html">Set</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:13SwiftLintCore12reporterFrom10identifierAA8Reporter_pXpSSSg_tF">reporterFrom(identifier:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ASTRule.html">ASTRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AnalyzerRule.html">AnalyzerRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CollectingRule.html">CollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CorrectableRule.html">CorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Documentable.html">Documentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Reporter.html">Reporter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Rule.html">Rule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/RuleConfiguration.html">RuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/VersionComparable.html">VersionComparable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Baseline.html">Baseline</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/CollectedLinter.html">CollectedLinter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command.html">Command</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Action.html">– Action</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Modifier.html">– Modifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Configuration.html">Configuration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement.html">ConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement/DeprecationNotice.html">– DeprecationNotice</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Correction.html">Correction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Example.html">Example</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Linter.html">Linter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Location.html">Location</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation/ViolationCorrection.html">– ViolationCorrection</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RegexConfiguration.html">RegexConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Region.html">Region</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleDescription.html">RuleDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleList.html">RuleList</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleListDocumentation.html">RuleListDocumentation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleParameter.html">RuleParameter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityConfiguration.html">SeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Stack.html">Stack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/StyleViolation.html">StyleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftVersion.html">SwiftVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Version.html">Version</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/YamlParser.html">YamlParser</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1 id='contrasted-opening-brace' class='heading'>Contrasted Opening Brace</h1>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are on a separate line after the declaration to contrast the code block from the rest of the declaration. Comments between the declaration and the opening brace are respected. Check out the <code><a href="opening_brace.html">opening_brace</a></code> rule for a different style.</p>
<ul>
<li><strong>Identifier:</strong> <code>contrasted_opening_brace</code></li>
<li><strong>Enabled by default:</strong> Yes</li>
<li><strong>Supports autocorrection:</strong> Yes</li>
<li><strong>Kind:</strong> style</li>
<li><strong>Analyzer rule:</strong> No</li>
<li><strong>Minimum Swift compiler version:</strong> 5.0.0</li>
<li><strong>Default configuration:</strong>
<table>
<thead>
<tr><th>Key</th><th>Value</th></tr>
</thead>
<tbody>
<tr>
<td>
severity
</td>
<td>
warning
</td>
</tr>
</tbody>
</table></li>
</ul>
<h2 id='non-triggering-examples' class='heading'>Non Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="nf">map</span><span class="p">()</span>
<span class="p">{</span>
<span class="nv">$0</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="nf">map</span><span class="p">(</span>
<span class="p">{</span>
<span class="p">}</span>
<span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="n">b</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">while</span> <span class="n">a</span> <span class="o">==</span> <span class="n">b</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">guard</span> <span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="n">b</span> <span class="k">else</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Parent</span>
<span class="p">{</span>
<span class="kd">struct</span> <span class="kt">Child</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">foo</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">(</span><span class="nv">rect</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">)</span>
<span class="p">{</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">centre</span> <span class="o">=</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midX</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midY</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">centre</span><span class="p">)</span>
<span class="p">}()</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">(</span><span class="nv">rect</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Void</span>
<span class="p">{</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">centre</span> <span class="o">=</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midX</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midY</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">centre</span><span class="p">)</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Void</span>
<span class="p">{</span>
<span class="p">{}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">@MyProperty</span> <span class="kd">class</span> <span class="kt">Rule</span><span class="p">:</span>
<span class="kt">NSObject</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span>
<span class="p">{</span>
<span class="k">return</span> <span class="s">""</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">self</span><span class="o">.</span><span class="nf">foo</span><span class="p">(</span>
<span class="p">(</span>
<span class="s">"String parameter"</span><span class="p">,</span>
<span class="p">{</span> <span class="s">"Do something here"</span> <span class="p">}</span>
<span class="p">)</span>
<span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">pattern</span> <span class="o">=</span> <span class="sr">#/(\{(?&lt;key&gt;\w+)\})/#</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span>
<span class="p">{}</span>
<span class="k">else</span>
<span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code> <span class="k">if</span> <span class="n">c</span> <span class="cm">/* comment */</span>
<span class="p">{</span>
<span class="k">return</span>
<span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span><span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="kt">A</span><span class="p">,</span>
<span class="nv">b</span><span class="p">:</span> <span class="kt">B</span><span class="p">)</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="n">map</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">OldContentView</span><span class="p">:</span> <span class="kt">View</span> <span class="err">↓</span><span class="p">{</span>
<span class="kd">@State</span> <span class="kd">private</span> <span class="k">var</span> <span class="nv">showOptions</span> <span class="o">=</span> <span class="kc">false</span>
<span class="k">var</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">some</span> <span class="kt">View</span> <span class="err">↓</span><span class="p">{</span>
<span class="kt">Button</span><span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="p">{</span>
<span class="k">self</span><span class="o">.</span><span class="n">showOptions</span><span class="o">.</span><span class="nf">toggle</span><span class="p">()</span>
<span class="p">})</span><span class="err">↓</span><span class="p">{</span>
<span class="kt">Image</span><span class="p">(</span><span class="nv">systemName</span><span class="p">:</span> <span class="s">"gear"</span><span class="p">)</span>
<span class="p">}</span> <span class="nv">label</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span>
<span class="kt">Image</span><span class="p">(</span><span class="nv">systemName</span><span class="p">:</span> <span class="s">"gear"</span><span class="p">)</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span><span class="err">↓</span><span class="p">{</span>
<span class="k">return</span> <span class="s">""</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">@MyProperty</span> <span class="kd">class</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span>
<span class="p">{</span>
<span class="k">willSet</span><span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
<span class="k">didSet</span> <span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">precedencegroup</span> <span class="kt">Group</span> <span class="err">↓</span><span class="p">{</span>
<span class="nv">assignment</span><span class="p">:</span> <span class="kc">true</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span>
<span class="s">"test"</span><span class="o">.</span><span class="n">isEmpty</span> <span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span> <span class="err">↓</span><span class="p">{}</span>
<span class="k">else</span> <span class="cm">/* comment */</span> <span class="err">↓</span><span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span>
<span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>
@@ -622,6 +622,15 @@
</code>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/documentation.contrasted_opening_brace"></a>
<a name="//apple_ref/swift/Guide/contrasted_opening_brace" class="dashAnchor"></a>
<a class="direct-link" href="contrasted_opening_brace.html">contrasted_opening_brace</a>
</code>
</div>
</li>
<li class="item">
<div>
<code>
@@ -0,0 +1,544 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>contrasted_opening_brace Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset="utf-8">
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
<script src="js/lunr.min.js" defer></script>
<script src="js/typeahead.jquery.js" defer></script>
<script src="js/jazzy.search.js" defer></script>
</head>
<body>
<a title="contrasted_opening_brace Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="index.html">
SwiftLintCore 0.55.1 Docs
</a>
(100% documented)
</p>
<div class="header-col--secondary">
<form role="search" action="search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</div>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/realm/SwiftLint">
<img class="header-icon" src="img/gh.png" alt="GitHub"/>
View on GitHub
</a>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="dash-feed://https%3A%2F%2Frealm.github.io%2FSwiftLint%2Fdocsets%2FSwiftLintCore.xml">
<img class="header-icon" src="img/dash.png" alt="Dash"/>
Install in Dash
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="index.html">SwiftLintCore Reference</a>
<img class="carat" src="img/carat.png" alt=""/>
contrasted_opening_brace Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="Rules.html">Rules</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="rule-directory.html">Rule Directory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter.html">CodeIndentingRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CodeIndentingRewriter/IndentationStyle.html">– IndentationStyle</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/CustomRuleTimer.html">CustomRuleTimer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/LinterCache.html">LinterCache</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleRegistry.html">RuleRegistry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/RuleStorage.html">RuleStorage</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/SwiftLintFile.html">SwiftLintFile</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxRewriter.html">ViolationsSyntaxRewriter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Global%20Variables.html">Global Variables</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore9coreRulesSayAA4Rule_pXpGvp">coreRules</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Global%20Variables.html#/s:13SwiftLintCore13reportersListSayAA8Reporter_pXpGvp">reportersList</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/AccessControlLevel.html">AccessControlLevel</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ExecutableInfo.html">ExecutableInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/IdentifierDeclaration.html">IdentifierDeclaration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/Issue.html">Issue</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/OptionType.html">OptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleIdentifier.html">RuleIdentifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleKind.html">RuleKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/RuleListError.html">RuleListError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/SwiftExpressionKind.html">SwiftExpressionKind</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Enums/ViolationSeverity.html">ViolationSeverity</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Bool.html">Bool</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Double.html">Double</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Int.html">Int</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Optional.html">Optional</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/Set.html">Set</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Extensions/String.html">String</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Functions.html">Functions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Functions.html#/s:13SwiftLintCore12reporterFrom10identifierAA8Reporter_pXpSSSg_tF">reporterFrom(identifier:)</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/ASTRule.html">ASTRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AcceptableByConfigurationElement.html">AcceptableByConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/AnalyzerRule.html">AnalyzerRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17AnyCollectingRuleP">AnyCollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CacheDescriptionProvider.html">CacheDescriptionProvider</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CollectingRule.html">CollectingRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/CorrectableRule.html">CorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Documentable.html">Documentable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore19InlinableOptionTypeP">InlinableOptionType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore9OptInRuleP">OptInRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Reporter.html">Reporter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/Rule.html">Rule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/RuleConfiguration.html">RuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SeverityBasedRuleConfiguration.html">SeverityBasedRuleConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SubstitutionCorrectableRule.html">SubstitutionCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxCorrectableRule.html">SwiftSyntaxCorrectableRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/SwiftSyntaxRule.html">SwiftSyntaxRule</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Protocols/VersionComparable.html">VersionComparable</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Baseline.html">Baseline</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ChildOptionSeverityConfiguration.html">ChildOptionSeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/CollectedLinter.html">CollectedLinter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command.html">Command</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Action.html">– Action</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Command/Modifier.html">– Modifier</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Configuration.html">Configuration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement.html">ConfigurationElement</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ConfigurationElement/DeprecationNotice.html">– DeprecationNotice</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Correction.html">Correction</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Example.html">Example</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Linter.html">Linter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Location.html">Location</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/ReasonedRuleViolation/ViolationCorrection.html">– ViolationCorrection</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RegexConfiguration.html">RegexConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Region.html">Region</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationDescription.html">RuleConfigurationDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs.html#/s:13SwiftLintCore35RuleConfigurationDescriptionBuilderV">RuleConfigurationDescriptionBuilder</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleConfigurationOption.html">RuleConfigurationOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleDescription.html">RuleDescription</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleList.html">RuleList</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleListDocumentation.html">RuleListDocumentation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/RuleParameter.html">RuleParameter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityConfiguration.html">SeverityConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SeverityLevelsConfiguration.html">SeverityLevelsConfiguration</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Stack.html">Stack</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/StyleViolation.html">StyleViolation</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxMap.html">SwiftLintSyntaxMap</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftLintSyntaxToken.html">SwiftLintSyntaxToken</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/SwiftVersion.html">SwiftVersion</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/Version.html">Version</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="Structs/YamlParser.html">YamlParser</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1 id='contrasted-opening-brace' class='heading'>Contrasted Opening Brace</h1>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are on a separate line after the declaration to contrast the code block from the rest of the declaration. Comments between the declaration and the opening brace are respected. Check out the <code><a href="opening_brace.html">opening_brace</a></code> rule for a different style.</p>
<ul>
<li><strong>Identifier:</strong> <code>contrasted_opening_brace</code></li>
<li><strong>Enabled by default:</strong> Yes</li>
<li><strong>Supports autocorrection:</strong> Yes</li>
<li><strong>Kind:</strong> style</li>
<li><strong>Analyzer rule:</strong> No</li>
<li><strong>Minimum Swift compiler version:</strong> 5.0.0</li>
<li><strong>Default configuration:</strong>
<table>
<thead>
<tr><th>Key</th><th>Value</th></tr>
</thead>
<tbody>
<tr>
<td>
severity
</td>
<td>
warning
</td>
</tr>
</tbody>
</table></li>
</ul>
<h2 id='non-triggering-examples' class='heading'>Non Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="nf">map</span><span class="p">()</span>
<span class="p">{</span>
<span class="nv">$0</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="nf">map</span><span class="p">(</span>
<span class="p">{</span>
<span class="p">}</span>
<span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="n">b</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">while</span> <span class="n">a</span> <span class="o">==</span> <span class="n">b</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">guard</span> <span class="k">let</span> <span class="nv">a</span> <span class="o">=</span> <span class="n">b</span> <span class="k">else</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Parent</span>
<span class="p">{</span>
<span class="kd">struct</span> <span class="kt">Child</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">foo</span><span class="p">:</span> <span class="kt">Int</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">(</span><span class="nv">rect</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">)</span>
<span class="p">{</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">centre</span> <span class="o">=</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midX</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midY</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">centre</span><span class="p">)</span>
<span class="p">}()</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">(</span><span class="nv">rect</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Void</span>
<span class="p">{</span>
<span class="p">{</span>
<span class="k">let</span> <span class="nv">centre</span> <span class="o">=</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midX</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="n">rect</span><span class="o">.</span><span class="n">midY</span><span class="p">)</span>
<span class="nf">print</span><span class="p">(</span><span class="n">centre</span><span class="p">)</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">f</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Void</span>
<span class="p">{</span>
<span class="p">{}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">@MyProperty</span> <span class="kd">class</span> <span class="kt">Rule</span><span class="p">:</span>
<span class="kt">NSObject</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span>
<span class="p">{</span>
<span class="k">return</span> <span class="s">""</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">self</span><span class="o">.</span><span class="nf">foo</span><span class="p">(</span>
<span class="p">(</span>
<span class="s">"String parameter"</span><span class="p">,</span>
<span class="p">{</span> <span class="s">"Do something here"</span> <span class="p">}</span>
<span class="p">)</span>
<span class="p">)</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">pattern</span> <span class="o">=</span> <span class="sr">#/(\{(?&lt;key&gt;\w+)\})/#</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span>
<span class="p">{}</span>
<span class="k">else</span>
<span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code> <span class="k">if</span> <span class="n">c</span> <span class="cm">/* comment */</span>
<span class="p">{</span>
<span class="k">return</span>
<span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span><span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">(</span><span class="nv">a</span><span class="p">:</span> <span class="kt">A</span><span class="p">,</span>
<span class="nv">b</span><span class="p">:</span> <span class="kt">B</span><span class="p">)</span> <span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="p">[]</span><span class="o">.</span><span class="n">map</span> <span class="p">{</span> <span class="nv">$0</span> <span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">OldContentView</span><span class="p">:</span> <span class="kt">View</span> <span class="err">↓</span><span class="p">{</span>
<span class="kd">@State</span> <span class="kd">private</span> <span class="k">var</span> <span class="nv">showOptions</span> <span class="o">=</span> <span class="kc">false</span>
<span class="k">var</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">some</span> <span class="kt">View</span> <span class="err">↓</span><span class="p">{</span>
<span class="kt">Button</span><span class="p">(</span><span class="nv">action</span><span class="p">:</span> <span class="p">{</span>
<span class="k">self</span><span class="o">.</span><span class="n">showOptions</span><span class="o">.</span><span class="nf">toggle</span><span class="p">()</span>
<span class="p">})</span><span class="err">↓</span><span class="p">{</span>
<span class="kt">Image</span><span class="p">(</span><span class="nv">systemName</span><span class="p">:</span> <span class="s">"gear"</span><span class="p">)</span>
<span class="p">}</span> <span class="nv">label</span><span class="p">:</span> <span class="err">↓</span><span class="p">{</span>
<span class="kt">Image</span><span class="p">(</span><span class="nv">systemName</span><span class="p">:</span> <span class="s">"gear"</span><span class="p">)</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span><span class="err">↓</span><span class="p">{</span>
<span class="k">return</span> <span class="s">""</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="kd">@MyProperty</span> <span class="kd">class</span> <span class="kt">Rule</span>
<span class="p">{</span>
<span class="k">var</span> <span class="nv">a</span><span class="p">:</span> <span class="kt">String</span>
<span class="p">{</span>
<span class="k">willSet</span><span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
<span class="k">didSet</span> <span class="err">↓</span><span class="p">{</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">precedencegroup</span> <span class="kt">Group</span> <span class="err">↓</span><span class="p">{</span>
<span class="nv">assignment</span><span class="p">:</span> <span class="kc">true</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span>
<span class="s">"test"</span><span class="o">.</span><span class="n">isEmpty</span> <span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span> <span class="err">↓</span><span class="p">{}</span>
<span class="k">else</span> <span class="cm">/* comment */</span> <span class="err">↓</span><span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span>
<span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2023 <a class="link" href="https://jpsim.com" target="_blank" rel="external noopener">JP Simard</a> under MIT.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>
@@ -353,7 +353,7 @@
<h1 id='opening-brace-spacing' class='heading'>Opening Brace Spacing</h1>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are either preceded by a single space and on the same line as the declaration or on a separate line after the declaration itself. Comments between the declaration and the opening brace are respected.</p>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are preceded by a single space and on the same line as the declaration. Comments between the declaration and the opening brace are respected. Check out the <code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code> rule for a different style.</p>
<ul>
<li><strong>Identifier:</strong> <code>opening_brace</code></li>
@@ -384,14 +384,6 @@ allow_multiline_func
false
</td>
</tr>
<tr>
<td>
brace_on_new_line
</td>
<td>
false
</td>
</tr>
</tbody>
</table></li>
</ul>
@@ -457,26 +449,6 @@ false
<pre class="highlight swift"><code> <span class="k">if</span> <span class="n">c</span> <span class="cm">/* comment */</span> <span class="p">{</span>
<span class="k">return</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="k">if</span> <span class="n">c</span>
<span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="kd">@MyProperty</span> <span class="kd">struct</span> <span class="kt">S</span>
<span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span><span class="err">↓</span><span class="p">{</span>
@@ -650,25 +622,6 @@ false
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span> <span class="err">↓</span><span class="p">{}</span>
<span class="k">else</span> <span class="cm">/* comment */</span> <span class="err">↓</span><span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="k">if</span> <span class="n">c</span>
<span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="kd">@MyProperty</span> <span class="kd">struct</span> <span class="kt">S</span> <span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
</div>
@@ -365,6 +365,7 @@
<li><a href="comment_spacing.md"><code><a href="comment_spacing.html">comment_spacing</a></code></a>: Comment Spacing</li>
<li><a href="compiler_protocol_init.md"><code><a href="compiler_protocol_init.html">compiler_protocol_init</a></code></a>: Compiler Protocol Init</li>
<li><a href="computed_accessors_order.md"><code><a href="computed_accessors_order.html">computed_accessors_order</a></code></a>: Computed Accessors Order</li>
<li><a href="contrasted_opening_brace.md"><code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code></a>: Contrasted Opening Brace</li>
<li><a href="control_statement.md"><code><a href="control_statement.html">control_statement</a></code></a>: Control Statement</li>
<li><a href="custom_rules.md"><code><a href="custom_rules.html">custom_rules</a></code></a>: Custom Rules</li>
<li><a href="cyclomatic_complexity.md"><code><a href="cyclomatic_complexity.html">cyclomatic_complexity</a></code></a>: Cyclomatic Complexity</li>
File diff suppressed because one or more lines are too long
@@ -358,7 +358,7 @@
<p>Rules written using SwiftSyntax tend to be significantly faster and have fewer false positives
than rules that use SourceKit to get source structure information.</p>
<p>23 out of 236 (9%)
<p>23 out of 237 (9%)
of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<h2 id='rules-using-sourcekit' class='heading'>Rules Using SourceKit</h2>
<h3 id='default-rules-6' class='heading'>Default Rules (6)</h3>
@@ -393,7 +393,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="vertical_whitespace_opening_braces.md"><code><a href="vertical_whitespace_opening_braces.html">vertical_whitespace_opening_braces</a></code></a>: Vertical Whitespace after Opening Braces</li>
</ul>
<h2 id='rules-not-using-sourcekit' class='heading'>Rules not Using SourceKit</h2>
<h3 id='default-rules-90' class='heading'>Default Rules (90)</h3>
<h3 id='default-rules-91' class='heading'>Default Rules (91)</h3>
<ul>
<li><a href="blanket_disable_command.md"><code><a href="blanket_disable_command.html">blanket_disable_command</a></code></a>: Blanket Disable Command</li>
@@ -406,6 +406,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="comment_spacing.md"><code><a href="comment_spacing.html">comment_spacing</a></code></a>: Comment Spacing</li>
<li><a href="compiler_protocol_init.md"><code><a href="compiler_protocol_init.html">compiler_protocol_init</a></code></a>: Compiler Protocol Init</li>
<li><a href="computed_accessors_order.md"><code><a href="computed_accessors_order.html">computed_accessors_order</a></code></a>: Computed Accessors Order</li>
<li><a href="contrasted_opening_brace.md"><code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code></a>: Contrasted Opening Brace</li>
<li><a href="control_statement.md"><code><a href="control_statement.html">control_statement</a></code></a>: Control Statement</li>
<li><a href="cyclomatic_complexity.md"><code><a href="cyclomatic_complexity.html">cyclomatic_complexity</a></code></a>: Cyclomatic Complexity</li>
<li><a href="deployment_target.md"><code><a href="deployment_target.html">deployment_target</a></code></a>: Deployment Target</li>
Binary file not shown.
+1 -48
View File
@@ -353,7 +353,7 @@
<h1 id='opening-brace-spacing' class='heading'>Opening Brace Spacing</h1>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are either preceded by a single space and on the same line as the declaration or on a separate line after the declaration itself. Comments between the declaration and the opening brace are respected.</p>
<p>The correct positioning of braces that introduce a block of code or member list is highly controversial. No matter which style is preferred, consistency is key. Apart from different tastes, the positioning of braces can also have a significant impact on the readability of the code, especially for visually impaired developers. This rule ensures that braces are preceded by a single space and on the same line as the declaration. Comments between the declaration and the opening brace are respected. Check out the <code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code> rule for a different style.</p>
<ul>
<li><strong>Identifier:</strong> <code>opening_brace</code></li>
@@ -384,14 +384,6 @@ allow_multiline_func
false
</td>
</tr>
<tr>
<td>
brace_on_new_line
</td>
<td>
false
</td>
</tr>
</tbody>
</table></li>
</ul>
@@ -457,26 +449,6 @@ false
<pre class="highlight swift"><code> <span class="k">if</span> <span class="n">c</span> <span class="cm">/* comment */</span> <span class="p">{</span>
<span class="k">return</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="k">if</span> <span class="n">c</span>
<span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="kd">@MyProperty</span> <span class="kd">struct</span> <span class="kt">S</span>
<span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<h2 id='triggering-examples' class='heading'>Triggering Examples</h2>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">abc</span><span class="p">()</span><span class="err">↓</span><span class="p">{</span>
@@ -650,25 +622,6 @@ false
</code></pre>
<pre class="highlight swift"><code><span class="k">if</span> <span class="n">c</span> <span class="err">↓</span><span class="p">{}</span>
<span class="k">else</span> <span class="cm">/* comment */</span> <span class="err">↓</span><span class="p">{}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="k">if</span> <span class="n">c</span>
<span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
<pre class="highlight swift"><code><span class="c1">//</span>
<span class="c1">// brace_on_new_line: true</span>
<span class="c1">//</span>
<span class="kd">@MyProperty</span> <span class="kd">struct</span> <span class="kt">S</span> <span class="err">↓</span><span class="p">{</span>
<span class="c1">// code here</span>
<span class="p">}</span>
</code></pre>
</div>
+1
View File
@@ -365,6 +365,7 @@
<li><a href="comment_spacing.md"><code><a href="comment_spacing.html">comment_spacing</a></code></a>: Comment Spacing</li>
<li><a href="compiler_protocol_init.md"><code><a href="compiler_protocol_init.html">compiler_protocol_init</a></code></a>: Compiler Protocol Init</li>
<li><a href="computed_accessors_order.md"><code><a href="computed_accessors_order.html">computed_accessors_order</a></code></a>: Computed Accessors Order</li>
<li><a href="contrasted_opening_brace.md"><code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code></a>: Contrasted Opening Brace</li>
<li><a href="control_statement.md"><code><a href="control_statement.html">control_statement</a></code></a>: Control Statement</li>
<li><a href="custom_rules.md"><code><a href="custom_rules.html">custom_rules</a></code></a>: Custom Rules</li>
<li><a href="cyclomatic_complexity.md"><code><a href="cyclomatic_complexity.html">cyclomatic_complexity</a></code></a>: Cyclomatic Complexity</li>
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -2
View File
@@ -358,7 +358,7 @@
<p>Rules written using SwiftSyntax tend to be significantly faster and have fewer false positives
than rules that use SourceKit to get source structure information.</p>
<p>23 out of 236 (9%)
<p>23 out of 237 (9%)
of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<h2 id='rules-using-sourcekit' class='heading'>Rules Using SourceKit</h2>
<h3 id='default-rules-6' class='heading'>Default Rules (6)</h3>
@@ -393,7 +393,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="vertical_whitespace_opening_braces.md"><code><a href="vertical_whitespace_opening_braces.html">vertical_whitespace_opening_braces</a></code></a>: Vertical Whitespace after Opening Braces</li>
</ul>
<h2 id='rules-not-using-sourcekit' class='heading'>Rules not Using SourceKit</h2>
<h3 id='default-rules-90' class='heading'>Default Rules (90)</h3>
<h3 id='default-rules-91' class='heading'>Default Rules (91)</h3>
<ul>
<li><a href="blanket_disable_command.md"><code><a href="blanket_disable_command.html">blanket_disable_command</a></code></a>: Blanket Disable Command</li>
@@ -406,6 +406,7 @@ of SwiftLint&rsquo;s linter rules use SourceKit.</p>
<li><a href="comment_spacing.md"><code><a href="comment_spacing.html">comment_spacing</a></code></a>: Comment Spacing</li>
<li><a href="compiler_protocol_init.md"><code><a href="compiler_protocol_init.html">compiler_protocol_init</a></code></a>: Compiler Protocol Init</li>
<li><a href="computed_accessors_order.md"><code><a href="computed_accessors_order.html">computed_accessors_order</a></code></a>: Computed Accessors Order</li>
<li><a href="contrasted_opening_brace.md"><code><a href="contrasted_opening_brace.html">contrasted_opening_brace</a></code></a>: Contrasted Opening Brace</li>
<li><a href="control_statement.md"><code><a href="control_statement.html">control_statement</a></code></a>: Control Statement</li>
<li><a href="cyclomatic_complexity.md"><code><a href="cyclomatic_complexity.html">cyclomatic_complexity</a></code></a>: Cyclomatic Complexity</li>
<li><a href="deployment_target.md"><code><a href="deployment_target.html">deployment_target</a></code></a>: Deployment Target</li>