Files
SwiftLint/Protocols/SwiftSyntaxRule.html
2025-06-22 14:27:57 +00:00

593 lines
31 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>SwiftSyntaxRule Protocol 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 name="//apple_ref/swift/Protocol/SwiftSyntaxRule" class="dashAnchor"></a>
<a title="SwiftSyntaxRule Protocol Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SwiftLintCore 0.59.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</a>
<img class="carat" src="../img/carat.png" alt=""/>
<a class="breadcrumb" href="../Protocols.html">Protocols</a>
<img class="carat" src="../img/carat.png" alt=""/>
SwiftSyntaxRule Protocol 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/BodyLengthVisitor.html">BodyLengthVisitor</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/CodeBlockVisitor.html">CodeBlockVisitor</a>
</li>
<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/DeclaredIdentifiersTrackingVisitor.html">DeclaredIdentifiersTrackingVisitor</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="../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/CurrentRule.html">CurrentRule</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/SwiftSyntaxKindBridge.html">SwiftSyntaxKindBridge</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="../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/ConditionallySourceKitFree.html">ConditionallySourceKitFree</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/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/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/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/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/RegexConfiguration/ExecutionMode.html"> ExecutionMode</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/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>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Macros.html">Macros</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore32AcceptableByConfigurationElementyycfm">AcceptableByConfigurationElement()</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore16AutoConfigParseryycfm">AutoConfigParser()</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Macros.html#/s:13SwiftLintCore0A10SyntaxRule15foldExpressions16explicitRewriter11correctable5optInySb_S3btcfm">SwiftSyntaxRule(foldExpressions:explicitRewriter:correctable:optIn:)</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content top-matter">
<h1>SwiftSyntaxRule</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SwiftSyntaxRule</span> <span class="p">:</span> <span class="kt"><a href="../Protocols.html#/s:13SwiftLintCore17SourceKitFreeRuleP">SourceKitFreeRule</a></span></code></pre>
</div>
</div>
<p>A SwiftLint Rule backed by SwiftSyntax that does not use SourceKit requests.</p>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Protocols/SwiftSyntaxRule.swift#L4-L29">Show on GitHub</a>
</div>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore0A10SyntaxRuleP11makeVisitor4fileAA010ViolationsdG0Cy17ConfigurationTypeQzGAA0aB4FileC_tF"></a>
<a name="//apple_ref/swift/Method/makeVisitor(file:)" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore0A10SyntaxRuleP11makeVisitor4fileAA010ViolationsdG0Cy17ConfigurationTypeQzGAA0aB4FileC_tF">makeVisitor(file:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Produce a <code><a href="../Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a></code> for the given file.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">makeVisitor</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SwiftLintFile.html">SwiftLintFile</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a></span><span class="o">&lt;</span><span class="kt">ConfigurationType</span><span class="o">&gt;</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>file</em>
</code>
</td>
<td>
<div>
<p>The file for which to produce the visitor.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>A <code><a href="../Classes/ViolationsSyntaxVisitor.html">ViolationsSyntaxVisitor</a></code> for the given file.</p>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Protocols/SwiftSyntaxRule.swift#L10">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore0A10SyntaxRuleP13makeViolation4file9violationAA05StyleG0VAA0aB4FileC_AA08ReasonedeG0VtF"></a>
<a name="//apple_ref/swift/Method/makeViolation(file:violation:)" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore0A10SyntaxRuleP13makeViolation4file9violationAA05StyleG0VAA0aB4FileC_AA08ReasonedeG0VtF">makeViolation(file:<wbr>violation:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Produce a violation for the given file and absolute position.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">makeViolation</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SwiftLintFile.html">SwiftLintFile</a></span><span class="p">,</span> <span class="nv">violation</span><span class="p">:</span> <span class="kt"><a href="../Structs/ReasonedRuleViolation.html">ReasonedRuleViolation</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/StyleViolation.html">StyleViolation</a></span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>file</em>
</code>
</td>
<td>
<div>
<p>The file for which to produce the violation.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>violation</em>
</code>
</td>
<td>
<div>
<p>A violation in the file.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>A violation for the given file and absolute position.</p>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Protocols/SwiftSyntaxRule.swift#L18">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore0A10SyntaxRuleP10preprocess4file0aD0010SourceFileD0VSgAA0abI0C_tF"></a>
<a name="//apple_ref/swift/Method/preprocess(file:)" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore0A10SyntaxRuleP10preprocess4file0aD0010SourceFileD0VSgAA0abI0C_tF">preprocess(file:<wbr>)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Gives a chance for the rule to do some pre-processing on the syntax tree.
One typical example is using <code>SwiftOperators</code> to &ldquo;fold&rdquo; the tree, resolving operators precedence.
This can also be used to skip validation in a given file.
By default, it just returns the file&rsquo;s <code>syntaxTree</code>.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">preprocess</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SwiftLintFile.html">SwiftLintFile</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">SourceFileSyntax</span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>file</em>
</code>
</td>
<td>
<div>
<p>The file to run pre-processing on.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The tree that will be used to check for violations. If <code>nil</code>, this rule will return no violations.</p>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Protocols/SwiftSyntaxRule.swift#L28">Show on GitHub</a>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13SwiftLintCore4RuleP8validate4fileSayAA14StyleViolationVGAA0aB4FileC_tF"></a>
<a name="//apple_ref/swift/Method/validate(file:)" class="dashAnchor"></a>
<a class="token" href="#/s:13SwiftLintCore4RuleP8validate4fileSayAA14StyleViolationVGAA0aB4FileC_tF">validate(file:<wbr>)</a>
</code>
<span class="declaration-note">
Extension method
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">@inlinable</span>
<span class="kd">func</span> <span class="nf">validate</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SwiftLintFile.html">SwiftLintFile</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt"><a href="../Structs/StyleViolation.html">StyleViolation</a></span><span class="p">]</span></code></pre>
</div>
</div>
<div class="slightly-smaller">
<a href="https://github.com/realm/SwiftLint/tree/main/Source/SwiftLintCore/Protocols/SwiftSyntaxRule.swift#L44-L58">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
</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.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</body>
</html>