<NME> SwiftDocsTests.swift
<BEF> import Foundation
@testable import SourceKittenFramework
import XCTest

func compareJSONString(withFixtureNamed name: String,
                       jsonString: CustomStringConvertible,
                       rootDirectory: String = fixturesDirectory,
                       file: StaticString = #file,
                       line: UInt = #line) {
    // Strip out fixtures directory since it's dependent on the test machine's setup
    let escapedFixturesDirectory = rootDirectory.replacingOccurrences(of: "/", with: "\\/")
    let jsonString = String(describing: jsonString).replacingOccurrences(of: escapedFixturesDirectory, with: "")

    // Strip out any other absolute paths after that, since it's also dependent on the test machine's setup
    let absolutePathRegex = try! NSRegularExpression(pattern: "\"key\\.filepath\" : \"\\\\/[^\\\n]+", options: [])
    let actualContent = absolutePathRegex.stringByReplacingMatches(in: jsonString, options: [],
                                                                   range: NSRange(location: 0, length: jsonString.bridge().length),
                                                                   withTemplate: "\"key\\.filepath\" : \"\",")
    let expectedFile = File(path: versionedExpectedFilename(for: name))!

    // Use if changes are introduced by changes in SourceKitten.
    let overwrite = ProcessInfo.processInfo.environment["OVERWRITE_FIXTURES"] != nil ? true : false
    if overwrite && actualContent != expectedFile.contents {
        _ = try? actualContent.data(using: .utf8)?.write(to: URL(fileURLWithPath: expectedFile.path!), options: [])
        return
    }

    // Use if changes are introduced by the new Swift version.
    let appendFixturesForNewSwiftVersion = ProcessInfo.processInfo.environment["APPEND_FIXTURES"] != nil ? true : false
    if appendFixturesForNewSwiftVersion && actualContent != expectedFile.contents,
        var path = expectedFile.path, let index = path.firstIndex(of: "@"),
        !path.hasSuffix("@\(buildingSwiftVersion).json") {
        path.replaceSubrange(index..<path.endIndex, with: "@\(buildingSwiftVersion).json")
        _ = try? actualContent.data(using: .utf8)?.write(to: URL(fileURLWithPath: path), options: [])
        return
    }

    func jsonValue(_ jsonString: String) -> NSObject {
        let data = jsonString.data(using: .utf8)!
        let result = try! JSONSerialization.jsonObject(with: data, options: [])
        if let dict = (result as? [String: Any])?.bridge() {
            return dict
        } else if let array = (result as? [Any])?.bridge() {
            return array
        }
        fatalError()
    }

    if jsonValue(actualContent) != jsonValue(expectedFile.contents) {
        XCTFail("output should match expected fixture", file: file, line: line)
        print(diff(original: expectedFile.contents, modified: actualContent))
    }
}

private func compareDocs(withFixtureNamed name: String, file: StaticString = #file, line: UInt = #line) {
    let swiftFilePath = fixturesDirectory + name + ".swift"
    let docs = SwiftDocs(file: File(path: swiftFilePath)!, arguments: ["-j4", "-sdk", sdkPath(), swiftFilePath])!
    compareJSONString(withFixtureNamed: name, jsonString: docs, file: file, line: line)
}

private func versionedExpectedFilename(for name: String) -> String {
#if compiler(>=5.6)
    let versions = ["swift-5.6", "swift-5.5.2", "swift-5.5", "swift-5.4", "swift-5.3.1", "swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]
#elseif compiler(>=5.5.2)
    let versions = ["swift-5.5.2", "swift-5.5", "swift-5.4", "swift-5.3.1", "swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]
#elseif compiler(>=5.5.0)
}

private func versionedExpectedFilename(for name: String) -> String {
#if compiler(>=5.2)
    let versions = ["swift-5.2", "swift-5.1", "swift-5.0"]
#elseif compiler(>=5.1)
    let versions = ["swift-5.1", "swift-5.0"]
#endif
#if os(Linux)
    let platforms = ["Linux", ""]
#else
    let platforms = [""]
#endif
    for platform in platforms {
        for version in versions {
            let versionedFilename = "\(fixturesDirectory)\(platform)\(name)@\(version).json"
            if FileManager.default.fileExists(atPath: versionedFilename) {
                return versionedFilename
            }
        }
    }
    return "\(fixturesDirectory)\(name).json"
}

private func diff(original: String, modified: String) -> String {
    do {
        let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("SwiftDocsTests-diff-\(NSUUID())")
        try FileManager.default.createDirectory(at: url, withIntermediateDirectories: true)

        try original.data(using: .utf8)?.write(to: url.appendingPathComponent("original.json"))
        try modified.data(using: .utf8)?.write(to: url.appendingPathComponent("modified.json"))

        return Exec.run("/usr/bin/env", "git", "diff", "original.json", "modified.json",
                        currentDirectory: url.path).string ?? ""
    } catch {
        return "\(error)"
    }
}

private let buildingSwiftVersion: String = {
#if compiler(>=5.6)
    return "swift-5.6"
#elseif compiler(>=5.5.0)
    return "swift-5.5"
#elseif compiler(>=5.4.0)
    return "swift-5.4"
#elseif compiler(>=5.3.1)
    return "swift-5.3.1"
#elseif compiler(>=5.3)
    return "swift-5.3"
#else
    return "swift-5.2"
#endif
}()

class SwiftDocsTests: XCTestCase {

    func testSubscript() {
        compareDocs(withFixtureNamed: "Subscript")
    }

    func testBicycle() {
        compareDocs(withFixtureNamed: "Bicycle")
    }

    func testExtension() {
        compareDocs(withFixtureNamed: "Extension")
    }

    func testParseFullXMLDocs() {
        // swiftlint:disable:next line_length
        let xmlDocsStringPreSwift32 = "<Type file=\"file\" line=\"1\" column=\"2\"><Name>name</Name><USR>usr</USR><Declaration>declaration</Declaration><Abstract><Para>discussion</Para></Abstract><Parameters><Parameter><Name>param1</Name><Direction isExplicit=\"0\">in</Direction><Discussion><Para>param1_discussion</Para></Discussion></Parameter></Parameters><ResultDiscussion><Para>result_discussion</Para></ResultDiscussion></Type>"
        // swiftlint:disable:next line_length
        let xmlDocsStringSwift32 = "<Type file=\"file\" line=\"1\" column=\"2\"><Name>name</Name><USR>usr</USR><Declaration>declaration</Declaration><CommentParts><Abstract><Para>discussion</Para></Abstract><Parameters><Parameter><Name>param1</Name><Direction isExplicit=\"0\">in</Direction><Discussion><Para>param1_discussion</Para></Discussion></Parameter></Parameters><ResultDiscussion><Para>result_discussion</Para></ResultDiscussion></CommentParts></Type>"
        let parsedPreSwift32 = parseFullXMLDocs(xmlDocsStringPreSwift32)!
        let parsedSwift32 = parseFullXMLDocs(xmlDocsStringSwift32)!
        let expected: NSDictionary = [
            "key.doc.type": "Type",
            "key.doc.file": "file",
            "key.doc.line": 1,
            "key.doc.column": 2,
            "key.doc.name": "name",
            "key.usr": "usr",
            "key.doc.declaration": "declaration",
            "key.doc.parameters": [[
                "name": "param1",
                "discussion": [["Para": "param1_discussion"]]
            ]],
            "key.doc.result_discussion": [["Para": "result_discussion"]]
        ]
        XCTAssertEqual(toNSDictionary(parsedPreSwift32), expected)
        XCTAssertEqual(toNSDictionary(parsedSwift32), expected)
    }

    // #606 - create docs without crashing
    func testParseExternalReference() {
        let firstPath = fixturesDirectory + "ExternalRef1.swift"
        let secondPath = fixturesDirectory + "ExternalRef2.swift"
        let docs = SwiftDocs(file: File(path: firstPath)!, arguments: ["-sdk", sdkPath(), firstPath, secondPath])!
        XCTAssertFalse(docs.docsDictionary.isEmpty)
    }
}

<MSG> Merge pull request #671 from jpsim/run-ci-tests-on-xcode-12--swift-5.3

Run CI tests on Xcode 12 & Swift 5.3
<DFF> @@ -67,7 +67,9 @@ private func compareDocs(withFixtureNamed name: String, file: StaticString = #fi
 }
 
 private func versionedExpectedFilename(for name: String) -> String {
-#if compiler(>=5.2)
+#if compiler(>=5.3)
+    let versions = ["swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]
+#elseif compiler(>=5.2)
     let versions = ["swift-5.2", "swift-5.1", "swift-5.0"]
 #elseif compiler(>=5.1)
     let versions = ["swift-5.1", "swift-5.0"]

{'commit': 'diff --git a/Makefile b/Makefile\nindex 9209810..6594dd7 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -83,7 +83,7 @@ archive:\n release: package archive\n \n docker_test:\n-\tdocker run -v `pwd`:`pwd` -w `pwd` --name sourcekitten --rm swift:5.2 swift test --parallel\n+\tdocker run -v `pwd`:`pwd` -w `pwd` --name sourcekitten --rm swift:5.3 swift test --parallel\n \n docker_htop:\n \tdocker run -it --rm --pid=container:sourcekitten terencewestphal/htop || reset\n@@ -113,7 +113,7 @@ update_fixtures_macos:\n \tdone\n \n update_fixtures_docker:\n-\tfor image in swift:5.0 swift:5.1 swift:5.2; do \\\n+\tfor image in swift:5.0 swift:5.1 swift:5.2 swift:5.3; do \\\n \t\tswift package reset ; \\\n \t\tdocker run -t -v `pwd`:`pwd` -w `pwd` --rm $$image env OVERWRITE_FIXTURES=1 swift test ; \\\n \tdone\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json\nnew file mode 100644\nindex 0000000..4683ae4\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/Bicycle@swift-5.3.json\n@@ -0,0 +1,728 @@\n+{\n+  "Bicycle.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2472,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>class NSString : <Type usr=\\"c:objc(cs)NSObject\\">NSObject<\\/Type>, <Type usr=\\"c:objc(pl)NSCopying\\">NSCopying<\\/Type>, <Type usr=\\"c:objc(pl)NSMutableCopying\\">NSMutableCopying<\\/Type>, <Type usr=\\"c:objc(pl)NSSecureCoding\\">NSSecureCoding<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 134\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.available",\n+            "key.length" : 88,\n+            "key.offset" : 45\n+          }\n+        ],\n+        "key.bodylength" : 0,\n+        "key.bodyoffset" : 161,\n+        "key.doc.comment" : "Deprecated extension.",\n+        "key.doclength" : 26,\n+        "key.docoffset" : 19,\n+        "key.filepath" : "",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>NSString<\\/decl.name> : <ref.class usr=\\"c:objc(cs)NSObject\\">NSObject<\\/ref.class>, <ref.protocol usr=\\"c:objc(pl)NSCopying\\">NSCopying<\\/ref.protocol>, <ref.protocol usr=\\"c:objc(pl)NSMutableCopying\\">NSMutableCopying<\\/ref.protocol>, <ref.protocol usr=\\"c:objc(pl)NSSecureCoding\\">NSSecureCoding<\\/ref.protocol><\\/decl.class>",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 21,\n+        "key.modulename" : "Foundation.NSString",\n+        "key.name" : "NSString",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 151,\n+        "key.offset" : 141,\n+        "key.parsed_declaration" : "public extension NSString",\n+        "key.parsed_scope.end" : 5,\n+        "key.parsed_scope.start" : 5,\n+        "key.typename" : "NSString.Type",\n+        "key.typeusr" : "$sSo8NSStringCmD",\n+        "key.usr" : "c:objc(cs)NSString"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public class Bicycle<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 226\n+          }\n+        ],\n+        "key.bodylength" : 2222,\n+        "key.bodyoffset" : 248,\n+        "key.doc.column" : 14,\n+        "key.doc.comment" : "🚲 A two-wheeled, human-powered mode of transportation.",\n+        "key.doc.declaration" : "public class Bicycle",\n+        "key.doc.file" : "Bicycle.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Bicycle.swift\\" line=\\"8\\" column=\\"14\\"><Name>Bicycle<\\/Name><USR>s:7BicycleAAC<\\/USR><Declaration>public class Bicycle<\\/Declaration><CommentParts><Abstract><Para>🚲 A two-wheeled, human-powered mode of transportation.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 8,\n+        "key.doc.name" : "Bicycle",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 164,\n+        "key.filepath" : "Bicycle.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Bicycle<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 2238,\n+        "key.name" : "Bicycle",\n+        "key.namelength" : 7,\n+        "key.nameoffset" : 239,\n+        "key.offset" : 233,\n+        "key.parsed_declaration" : "public class Bicycle",\n+        "key.parsed_scope.end" : 93,\n+        "key.parsed_scope.start" : 8,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Style<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 473\n+              }\n+            ],\n+            "key.bodylength" : 49,\n+            "key.bodyoffset" : 492,\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "Frame and construction style.\\n\\n- Road: For streets or trails.\\n- Touring: For long journeys.\\n- Cruiser: For casual trips around town.\\n- Hybrid: For general-purpose transportation.",\n+            "key.doc.declaration" : "public enum Bicycle.Bicycle.Style",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"17\\" column=\\"17\\"><Name>Style<\\/Name><USR>s:7BicycleAAC5StyleO<\\/USR><Declaration>public enum Bicycle.Bicycle.Style<\\/Declaration><CommentParts><Abstract><Para>Frame and construction style.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Road: For streets or trails.<\\/Para><\\/Item><Item><Para>Touring: For long journeys.<\\/Para><\\/Item><Item><Para>Cruiser: For casual trips around town.<\\/Para><\\/Item><Item><Para>Hybrid: For general-purpose transportation.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 17,\n+            "key.doc.name" : "Style",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 215,\n+            "key.docoffset" : 253,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Style<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 62,\n+            "key.name" : "Style",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 485,\n+            "key.offset" : 480,\n+            "key.parsed_declaration" : "public enum Style",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 17,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 35,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 501,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Road<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Road<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 4,\n+                    "key.name" : "Road",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 506,\n+                    "key.offset" : 506,\n+                    "key.parsed_declaration" : "case Road",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO4RoadyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Touring<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Touring<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 7,\n+                    "key.name" : "Touring",\n+                    "key.namelength" : 7,\n+                    "key.nameoffset" : 512,\n+                    "key.offset" : 512,\n+                    "key.parsed_declaration" : "case Road, Touring",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO7TouringyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Cruiser<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Cruiser<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 7,\n+                    "key.name" : "Cruiser",\n+                    "key.namelength" : 7,\n+                    "key.nameoffset" : 521,\n+                    "key.offset" : 521,\n+                    "key.parsed_declaration" : "case Road, Touring, Cruiser",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO7CruiseryA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Hybrid<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Hybrid<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 6,\n+                    "key.name" : "Hybrid",\n+                    "key.namelength" : 6,\n+                    "key.nameoffset" : 530,\n+                    "key.offset" : 530,\n+                    "key.parsed_declaration" : "case Road, Touring, Cruiser, Hybrid",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO6HybridyA2DmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Style.Type",\n+            "key.typeusr" : "$s7BicycleAAC5StyleOmD",\n+            "key.usr" : "s:7BicycleAAC5StyleO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Gearing<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 712\n+              }\n+            ],\n+            "key.bodylength" : 60,\n+            "key.bodyoffset" : 733,\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "Mechanism for converting pedal power into motion.\\n\\n- Fixed: A single, fixed gear.\\n- Freewheel: A variable-speed, disengageable gear.",\n+            "key.doc.declaration" : "public enum Bicycle.Bicycle.Gearing",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"27\\" column=\\"17\\"><Name>Gearing<\\/Name><USR>s:7BicycleAAC7GearingO<\\/USR><Declaration>public enum Bicycle.Bicycle.Gearing<\\/Declaration><CommentParts><Abstract><Para>Mechanism for converting pedal power into motion.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Fixed: A single, fixed gear.<\\/Para><\\/Item><Item><Para>Freewheel: A variable-speed, disengageable gear.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 27,\n+            "key.doc.name" : "Gearing",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 159,\n+            "key.docoffset" : 548,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Gearing<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 75,\n+            "key.name" : "Gearing",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 724,\n+            "key.offset" : 719,\n+            "key.parsed_declaration" : "public enum Gearing",\n+            "key.parsed_scope.end" : 30,\n+            "key.parsed_scope.start" : 27,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 10,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 742,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Fixed<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Fixed<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Fixed",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 747,\n+                    "key.offset" : 747,\n+                    "key.parsed_declaration" : "case Fixed",\n+                    "key.parsed_scope.end" : 28,\n+                    "key.parsed_scope.start" : 28,\n+                    "key.typename" : "(Bicycle.Gearing.Type) -> Bicycle.Gearing",\n+                    "key.typeusr" : "$sy7BicycleAAC7GearingOADmcD",\n+                    "key.usr" : "s:7BicycleAAC7GearingO5FixedyA2DmF"\n+                  }\n+                ]\n+              },\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 27,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 761,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Freewheel(speeds: <Type usr=\\"s:Si\\">Int<\\/Type>)<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Freewheel<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>speeds<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 22,\n+                    "key.name" : "Freewheel(speeds:)",\n+                    "key.namelength" : 22,\n+                    "key.nameoffset" : 766,\n+                    "key.offset" : 766,\n+                    "key.parsed_declaration" : "case Freewheel(speeds: Int)",\n+                    "key.parsed_scope.end" : 29,\n+                    "key.parsed_scope.start" : 29,\n+                    "key.substructure" : [\n+\n+                    ],\n+                    "key.typename" : "(Bicycle.Gearing.Type) -> (Int) -> Bicycle.Gearing",\n+                    "key.typeusr" : "$sy7BicycleAAC7GearingOSi_tcADmcD",\n+                    "key.usr" : "s:7BicycleAAC7GearingO9FreewheelyADSi_tcADmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Gearing.Type",\n+            "key.typeusr" : "$s7BicycleAAC7GearingOmD",\n+            "key.usr" : "s:7BicycleAAC7GearingO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Handlebar<\\/Declaration>",\n+            "key.bodylength" : 47,\n+            "key.bodyoffset" : 1009,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Hardware used for steering.\\n\\n- Riser: A casual handlebar.\\n- Café: An upright handlebar.\\n- Drop: A classic handlebar.\\n- Bullhorn: A powerful handlebar.",\n+            "key.doc.declaration" : "enum Bicycle.Bicycle.Handlebar",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"40\\" column=\\"10\\"><Name>Handlebar<\\/Name><USR>s:7BicycleAAC9HandlebarO<\\/USR><Declaration>enum Bicycle.Bicycle.Handlebar<\\/Declaration><CommentParts><Abstract><Para>Hardware used for steering.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Riser: A casual handlebar.<\\/Para><\\/Item><Item><Para>Café: An upright handlebar.<\\/Para><\\/Item><Item><Para>Drop: A classic handlebar.<\\/Para><\\/Item><Item><Para>Bullhorn: A powerful handlebar.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 40,\n+            "key.doc.name" : "Handlebar",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 188,\n+            "key.docoffset" : 800,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Handlebar<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 64,\n+            "key.name" : "Handlebar",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 998,\n+            "key.offset" : 993,\n+            "key.parsed_declaration" : "enum Handlebar",\n+            "key.parsed_scope.end" : 42,\n+            "key.parsed_scope.start" : 40,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 33,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 1018,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Riser<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Riser<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Riser",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 1023,\n+                    "key.offset" : 1023,\n+                    "key.parsed_declaration" : "case Riser",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO5RiseryA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Café<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Café<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Café",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 1030,\n+                    "key.offset" : 1030,\n+                    "key.parsed_declaration" : "case Riser, Café",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO007Caf_dmayA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Drop<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Drop<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 4,\n+                    "key.name" : "Drop",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 1037,\n+                    "key.offset" : 1037,\n+                    "key.parsed_declaration" : "case Riser, Café, Drop",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO4DropyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Bullhorn<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Bullhorn<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 8,\n+                    "key.name" : "Bullhorn",\n+                    "key.namelength" : 8,\n+                    "key.nameoffset" : 1043,\n+                    "key.offset" : 1043,\n+                    "key.parsed_declaration" : "case Riser, Café, Drop, Bullhorn",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO8BullhornyA2DmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Handlebar.Type",\n+            "key.typeusr" : "$s7BicycleAAC9HandlebarOmD",\n+            "key.usr" : "s:7BicycleAAC9HandlebarO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let style: <Type usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The style of the bicycle.",\n+            "key.doc.declaration" : "let style: Style",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"45\\" column=\\"9\\"><Name>style<\\/Name><USR>s:7BicycleAAC5styleAB5StyleOvp<\\/USR><Declaration>let style: Style<\\/Declaration><CommentParts><Abstract><Para>The style of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 45,\n+            "key.doc.name" : "style",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 30,\n+            "key.docoffset" : 1063,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>style<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 16,\n+            "key.name" : "style",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 1101,\n+            "key.offset" : 1097,\n+            "key.parsed_declaration" : "let style: Style",\n+            "key.parsed_scope.end" : 45,\n+            "key.parsed_scope.start" : 45,\n+            "key.typename" : "Bicycle.Style",\n+            "key.typeusr" : "$s7BicycleAAC5StyleOD",\n+            "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let gearing: <Type usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The gearing of the bicycle.",\n+            "key.doc.declaration" : "let gearing: Gearing",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"48\\" column=\\"9\\"><Name>gearing<\\/Name><USR>s:7BicycleAAC7gearingAB7GearingOvp<\\/USR><Declaration>let gearing: Gearing<\\/Declaration><CommentParts><Abstract><Para>The gearing of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 48,\n+            "key.doc.name" : "gearing",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 32,\n+            "key.docoffset" : 1119,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>gearing<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "gearing",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 1159,\n+            "key.offset" : 1155,\n+            "key.parsed_declaration" : "let gearing: Gearing",\n+            "key.parsed_scope.end" : 48,\n+            "key.parsed_scope.start" : 48,\n+            "key.typename" : "Bicycle.Gearing",\n+            "key.typeusr" : "$s7BicycleAAC7GearingOD",\n+            "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let handlebar: <Type usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The handlebar of the bicycle.",\n+            "key.doc.declaration" : "let handlebar: Handlebar",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"51\\" column=\\"9\\"><Name>handlebar<\\/Name><USR>s:7BicycleAAC9handlebarAB9HandlebarOvp<\\/USR><Declaration>let handlebar: Handlebar<\\/Declaration><CommentParts><Abstract><Para>The handlebar of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 51,\n+            "key.doc.name" : "handlebar",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 34,\n+            "key.docoffset" : 1181,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>handlebar<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 24,\n+            "key.name" : "handlebar",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 1223,\n+            "key.offset" : 1219,\n+            "key.parsed_declaration" : "let handlebar: Handlebar",\n+            "key.parsed_scope.end" : 51,\n+            "key.parsed_scope.start" : 51,\n+            "key.typename" : "Bicycle.Handlebar",\n+            "key.typeusr" : "$s7BicycleAAC9HandlebarOD",\n+            "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let frameSize: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The size of the frame, in centimeters.",\n+            "key.doc.declaration" : "let frameSize: Int",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"54\\" column=\\"9\\"><Name>frameSize<\\/Name><USR>s:7BicycleAAC9frameSizeSivp<\\/USR><Declaration>let frameSize: Int<\\/Declaration><CommentParts><Abstract><Para>The size of the frame, in centimeters.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 54,\n+            "key.doc.name" : "frameSize",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 43,\n+            "key.docoffset" : 1249,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>frameSize<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 18,\n+            "key.name" : "frameSize",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 1300,\n+            "key.offset" : 1296,\n+            "key.parsed_declaration" : "let frameSize: Int",\n+            "key.parsed_scope.end" : 54,\n+            "key.parsed_scope.start" : 54,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>private(set) var numberOfTrips: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.setter_access.private",\n+                "key.length" : 12,\n+                "key.offset" : 1374\n+              }\n+            ],\n+            "key.doc.column" : 22,\n+            "key.doc.comment" : "The number of trips travelled by the bicycle.",\n+            "key.doc.declaration" : "private(set) var numberOfTrips: Int { get }",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"57\\" column=\\"22\\"><Name>numberOfTrips<\\/Name><USR>s:7BicycleAAC13numberOfTripsSivp<\\/USR><Declaration>private(set) var numberOfTrips: Int { get }<\\/Declaration><CommentParts><Abstract><Para>The number of trips travelled by the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 57,\n+            "key.doc.name" : "numberOfTrips",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 50,\n+            "key.docoffset" : 1320,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword>(set) <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>numberOfTrips<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { get }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 22,\n+            "key.name" : "numberOfTrips",\n+            "key.namelength" : 13,\n+            "key.nameoffset" : 1391,\n+            "key.offset" : 1387,\n+            "key.parsed_declaration" : "private(set) var numberOfTrips: Int",\n+            "key.parsed_scope.end" : 57,\n+            "key.parsed_scope.start" : 57,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>private(set) var distanceTravelled: <Type usr=\\"s:Sd\\">Double<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.setter_access.private",\n+                "key.length" : 12,\n+                "key.offset" : 1479\n+              }\n+            ],\n+            "key.doc.column" : 22,\n+            "key.doc.comment" : "The total distance travelled by the bicycle, in meters.",\n+            "key.doc.declaration" : "private(set) var distanceTravelled: Double { get }",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"60\\" column=\\"22\\"><Name>distanceTravelled<\\/Name><USR>s:7BicycleAAC17distanceTravelledSdvp<\\/USR><Declaration>private(set) var distanceTravelled: Double { get }<\\/Declaration><CommentParts><Abstract><Para>The total distance travelled by the bicycle, in meters.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 60,\n+            "key.doc.name" : "distanceTravelled",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 60,\n+            "key.docoffset" : 1415,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword>(set) <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>distanceTravelled<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.var.type> { get }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 29,\n+            "key.name" : "distanceTravelled",\n+            "key.namelength" : 17,\n+            "key.nameoffset" : 1496,\n+            "key.offset" : 1492,\n+            "key.parsed_declaration" : "private(set) var distanceTravelled: Double",\n+            "key.parsed_scope.end" : 60,\n+            "key.parsed_scope.start" : 60,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "Double",\n+            "key.typeusr" : "$sSdD",\n+            "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>init(style: <Type usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/Type>, gearing: <Type usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/Type>, handlebar: <Type usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/Type>, frameSize centimeters: <Type usr=\\"s:Si\\">Int<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 192,\n+            "key.bodyoffset" : 2010,\n+            "key.doc.column" : 5,\n+            "key.doc.comment" : "Initializes a new bicycle with the provided parts and specifications.\\n\\n- parameter style: The style of the bicycle\\n- parameter gearing: The gearing of the bicycle\\n- parameter handlebar: The handlebar of the bicycle\\n- parameter centimeters: The frame size of the bicycle, in centimeters\\n\\n- returns: A beautiful, brand-new, custom built just for you.",\n+            "key.doc.declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Bicycle.swift\\" line=\\"72\\" column=\\"5\\"><Name>init(style:gearing:handlebar:frameSize:)<\\/Name><USR>s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc<\\/USR><Declaration>init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)<\\/Declaration><CommentParts><Abstract><Para>Initializes a new bicycle with the provided parts and specifications.<\\/Para><\\/Abstract><Parameters><Parameter><Name>style<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The style of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>gearing<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The gearing of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>handlebar<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The handlebar of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>centimeters<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The frame size of the bicycle, in centimeters<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><ResultDiscussion><Para>A beautiful, brand-new, custom built just for you.<\\/Para><\\/ResultDiscussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 72,\n+            "key.doc.name" : "init(style:gearing:handlebar:frameSize:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The style of the bicycle"\n+                  }\n+                ],\n+                "name" : "style"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The gearing of the bicycle"\n+                  }\n+                ],\n+                "name" : "gearing"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The handlebar of the bicycle"\n+                  }\n+                ],\n+                "name" : "handlebar"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The frame size of the bicycle, in centimeters"\n+                  }\n+                ],\n+                "name" : "centimeters"\n+              }\n+            ],\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "A beautiful, brand-new, custom built just for you."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 390,\n+            "key.docoffset" : 1527,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>style<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>gearing<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>handlebar<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>frameSize<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>centimeters<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 281,\n+            "key.name" : "init(style:gearing:handlebar:frameSize:)",\n+            "key.namelength" : 86,\n+            "key.nameoffset" : 1922,\n+            "key.offset" : 1922,\n+            "key.parsed_declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)",\n+            "key.parsed_scope.end" : 80,\n+            "key.parsed_scope.start" : 72,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Bicycle.Type) -> (Bicycle.Style, Bicycle.Gearing, Bicycle.Handlebar, Int) -> Bicycle",\n+            "key.typeusr" : "$s5style7gearing9handlebar9frameSize7BicycleAECAF5StyleO_AF7GearingOAF9HandlebarOSitcD",\n+            "key.usr" : "s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>func travel(distance meters: <Type usr=\\"s:Sd\\">Double<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 112,\n+            "key.bodyoffset" : 2356,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Take a bike out for a spin.\\n\\n- parameter meters: The distance to travel in meters.",\n+            "key.doc.declaration" : "func travel(distance meters: Double)",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Bicycle.swift\\" line=\\"87\\" column=\\"10\\"><Name>travel(distance:)<\\/Name><USR>s:7BicycleAAC6travel8distanceySd_tF<\\/USR><Declaration>func travel(distance meters: Double)<\\/Declaration><CommentParts><Abstract><Para>Take a bike out for a spin.<\\/Para><\\/Abstract><Parameters><Parameter><Name>meters<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The distance to travel in meters.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 87,\n+            "key.doc.name" : "travel(distance:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The distance to travel in meters."\n+                  }\n+                ],\n+                "name" : "meters"\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 104,\n+            "key.docoffset" : 2209,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>travel<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>distance<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>meters<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 151,\n+            "key.name" : "travel(distance:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 2323,\n+            "key.offset" : 2318,\n+            "key.parsed_declaration" : "func travel(distance meters: Double)",\n+            "key.parsed_scope.end" : 92,\n+            "key.parsed_scope.start" : 87,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Bicycle) -> (Double) -> ()",\n+            "key.typeusr" : "$s8distanceySd_tcD",\n+            "key.usr" : "s:7BicycleAAC6travel8distanceySd_tF"\n+          }\n+        ],\n+        "key.typename" : "Bicycle.Type",\n+        "key.typeusr" : "$s7BicycleAACmD",\n+        "key.usr" : "s:7BicycleAAC"\n+      }\n+    ]\n+  }\n+}\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/BicycleIndex@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/BicycleIndex@swift-5.3.json\nnew file mode 100644\nindex 0000000..4cecea7\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/BicycleIndex@swift-5.3.json\n@@ -0,0 +1,864 @@\n+{\n+  "key.dependencies" : [\n+    {\n+      "key.filepath" : "",\n+      "key.is_system" : true,\n+      "key.kind" : "source.lang.swift.import.module.swift",\n+      "key.name" : "Swift"\n+    },\n+    {\n+      "key.dependencies" : [\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.dependencies" : [\n+                {\n+                  "key.filepath" : "",\n+                  "key.is_system" : true,\n+                  "key.kind" : "source.lang.swift.import.module.clang",\n+                  "key.name" : "Darwin"\n+                },\n+                {\n+                  "key.filepath" : "",\n+                  "key.is_system" : true,\n+                  "key.kind" : "source.lang.swift.import.module.swift",\n+                  "key.name" : "Swift"\n+                },\n+                {\n+                  "key.filepath" : "",\n+                  "key.is_system" : true,\n+                  "key.kind" : "source.lang.swift.import.module.clang",\n+                  "key.name" : "SwiftOverlayShims"\n+                },\n+                {\n+                  "key.filepath" : "",\n+                  "key.is_system" : true,\n+                  "key.kind" : "source.lang.swift.import.module.clang",\n+                  "key.name" : "SwiftShims"\n+                }\n+              ],\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Darwin"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Combine"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "CoreFoundation"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "CoreFoundation"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "CoreGraphics"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Darwin"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "CoreGraphics"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Darwin"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Combine"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "Dispatch"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "_SwiftDispatchOverlayShims"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Dispatch"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.clang",\n+          "key.name" : "Foundation"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "ObjectiveC"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "_SwiftObjectiveCOverlayShims"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "ObjectiveC"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Swift"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.clang",\n+          "key.name" : "_SwiftCoreFoundationOverlayShims"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.clang",\n+          "key.name" : "_SwiftFoundationOverlayShims"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.clang",\n+          "key.name" : "uuid"\n+        }\n+      ],\n+      "key.filepath" : "",\n+      "key.is_system" : true,\n+      "key.kind" : "source.lang.swift.import.module.swift",\n+      "key.name" : "Foundation"\n+    }\n+  ],\n+  "key.entities" : [\n+    {\n+      "key.column" : 8,\n+      "key.kind" : "source.lang.swift.ref.module",\n+      "key.line" : 1,\n+      "key.name" : "Foundation",\n+      "key.usr" : "c:@M@Foundation"\n+    },\n+    {\n+      "key.column" : 18,\n+      "key.kind" : "source.lang.swift.ref.class",\n+      "key.line" : 5,\n+      "key.name" : "NSString",\n+      "key.usr" : "c:objc(cs)NSString"\n+    },\n+    {\n+      "key.attributes" : [\n+        {\n+          "key.attribute" : "source.decl.attribute.public"\n+        }\n+      ],\n+      "key.column" : 14,\n+      "key.entities" : [\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.public"\n+            }\n+          ],\n+          "key.column" : 17,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Road",\n+              "key.usr" : "s:7BicycleAAC5StyleO4RoadyA2DmF"\n+            },\n+            {\n+              "key.column" : 20,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Touring",\n+              "key.usr" : "s:7BicycleAAC5StyleO7TouringyA2DmF"\n+            },\n+            {\n+              "key.column" : 29,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Cruiser",\n+              "key.usr" : "s:7BicycleAAC5StyleO7CruiseryA2DmF"\n+            },\n+            {\n+              "key.column" : 38,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Hybrid",\n+              "key.usr" : "s:7BicycleAAC5StyleO6HybridyA2DmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 17,\n+          "key.name" : "Style",\n+          "key.usr" : "s:7BicycleAAC5StyleO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.public"\n+            }\n+          ],\n+          "key.column" : 17,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 28,\n+              "key.name" : "Fixed",\n+              "key.usr" : "s:7BicycleAAC7GearingO5FixedyA2DmF"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 32,\n+                  "key.kind" : "source.lang.swift.ref.struct",\n+                  "key.line" : 29,\n+                  "key.name" : "Int",\n+                  "key.usr" : "s:Si"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 29,\n+              "key.name" : "Freewheel(speeds:)",\n+              "key.usr" : "s:7BicycleAAC7GearingO9FreewheelyADSi_tcADmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 27,\n+          "key.name" : "Gearing",\n+          "key.usr" : "s:7BicycleAAC7GearingO"\n+        },\n+        {\n+          "key.column" : 10,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Riser",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO5RiseryA2DmF"\n+            },\n+            {\n+              "key.column" : 21,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Café",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO007Caf_dmayA2DmF"\n+            },\n+            {\n+              "key.column" : 28,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Drop",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO4DropyA2DmF"\n+            },\n+            {\n+              "key.column" : 34,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Bullhorn",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO8BullhornyA2DmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 40,\n+          "key.name" : "Handlebar",\n+          "key.usr" : "s:7BicycleAAC9HandlebarO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 45,\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 45,\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 45,\n+          "key.name" : "style",\n+          "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+        },\n+        {\n+          "key.column" : 16,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 45,\n+          "key.name" : "Style",\n+          "key.usr" : "s:7BicycleAAC5StyleO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 48,\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 48,\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 48,\n+          "key.name" : "gearing",\n+          "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+        },\n+        {\n+          "key.column" : 18,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 48,\n+          "key.name" : "Gearing",\n+          "key.usr" : "s:7BicycleAAC7GearingO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 51,\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 51,\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 51,\n+          "key.name" : "handlebar",\n+          "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+        },\n+        {\n+          "key.column" : 20,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 51,\n+          "key.name" : "Handlebar",\n+          "key.usr" : "s:7BicycleAAC9HandlebarO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 54,\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 54,\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 54,\n+          "key.name" : "frameSize",\n+          "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+        },\n+        {\n+          "key.column" : 20,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 54,\n+          "key.name" : "Int",\n+          "key.usr" : "s:Si"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.setter_access.private"\n+            }\n+          ],\n+          "key.column" : 22,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 57,\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 57,\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 57,\n+          "key.name" : "numberOfTrips",\n+          "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+        },\n+        {\n+          "key.column" : 37,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 57,\n+          "key.name" : "Int",\n+          "key.usr" : "s:Si"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.setter_access.private"\n+            }\n+          ],\n+          "key.column" : 22,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 60,\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 60,\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 60,\n+          "key.name" : "distanceTravelled",\n+          "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+        },\n+        {\n+          "key.column" : 41,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 60,\n+          "key.name" : "Double",\n+          "key.usr" : "s:Sd"\n+        },\n+        {\n+          "key.column" : 5,\n+          "key.entities" : [\n+            {\n+              "key.column" : 17,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Style",\n+              "key.usr" : "s:7BicycleAAC5StyleO"\n+            },\n+            {\n+              "key.column" : 33,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Gearing",\n+              "key.usr" : "s:7BicycleAAC7GearingO"\n+            },\n+            {\n+              "key.column" : 53,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Handlebar",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO"\n+            },\n+            {\n+              "key.column" : 87,\n+              "key.kind" : "source.lang.swift.ref.struct",\n+              "key.line" : 72,\n+              "key.name" : "Int",\n+              "key.usr" : "s:Si"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 73,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC5styleAB5StyleOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 73,\n+              "key.name" : "style",\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 74,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 74,\n+              "key.name" : "gearing",\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 75,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 75,\n+              "key.name" : "handlebar",\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 76,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC9frameSizeSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 76,\n+              "key.name" : "frameSize",\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+            },\n+            {\n+              "key.column" : 9,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 9,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 78,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 78,\n+              "key.name" : "numberOfTrips",\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+            },\n+            {\n+              "key.column" : 9,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 9,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 79,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 79,\n+              "key.name" : "distanceTravelled",\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.function.constructor",\n+          "key.line" : 72,\n+          "key.name" : "init(style:gearing:handlebar:frameSize:)",\n+          "key.usr" : "s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc"\n+        },\n+        {\n+          "key.column" : 10,\n+          "key.entities" : [\n+            {\n+              "key.column" : 34,\n+              "key.kind" : "source.lang.swift.ref.struct",\n+              "key.line" : 87,\n+              "key.name" : "Double",\n+              "key.usr" : "s:Sd"\n+            },\n+            {\n+              "key.column" : 19,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 88,\n+              "key.name" : ">(_:_:)",\n+              "key.receiver_usr" : "s:Sd",\n+              "key.usr" : "s:SFsE1goiySbx_xtFZ"\n+            },\n+            {\n+              "key.column" : 13,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.getter",\n+                  "key.line" : 89,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvg"\n+                },\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 89,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 89,\n+              "key.name" : "distanceTravelled",\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+            },\n+            {\n+              "key.column" : 31,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 89,\n+              "key.name" : "+=(_:_:)",\n+              "key.receiver_usr" : "s:Sd",\n+              "key.usr" : "s:Sd2peoiyySdz_SdtFZ"\n+            },\n+            {\n+              "key.column" : 13,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.getter",\n+                  "key.line" : 90,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivg"\n+                },\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 90,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 90,\n+              "key.name" : "numberOfTrips",\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+            },\n+            {\n+              "key.column" : 27,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 90,\n+              "key.name" : "+=(_:_:)",\n+              "key.receiver_usr" : "s:Si",\n+              "key.usr" : "s:Si2peoiyySiz_SitFZ"\n+            }\n+          ],\n+          "key.is_dynamic" : true,\n+          "key.kind" : "source.lang.swift.decl.function.method.instance",\n+          "key.line" : 87,\n+          "key.name" : "travel(distance:)",\n+          "key.usr" : "s:7BicycleAAC6travel8distanceySd_tF"\n+        }\n+      ],\n+      "key.kind" : "source.lang.swift.decl.class",\n+      "key.line" : 8,\n+      "key.name" : "Bicycle",\n+      "key.usr" : "s:7BicycleAAC"\n+    }\n+  ]\n+}\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/Commandant@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/Commandant@swift-5.3.json\nnew file mode 100644\nindex 0000000..44c2f74\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/Commandant@swift-5.3.json\n@@ -0,0 +1,7961 @@\n+[{\n+  "Sources\\/Commandant\\/Argument.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 3858,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 204\n+          }\n+        ],\n+        "key.bodylength" : 1029,\n+        "key.bodyoffset" : 231,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an argument that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 68,\n+        "key.docoffset" : 136,\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1050,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 218,\n+        "key.offset" : 211,\n+        "key.parsed_declaration" : "public struct Argument<T>",\n+        "key.parsed_scope.end" : 36,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 227,\n+            "key.offset" : 227,\n+            "key.parsed_declaration" : "public struct Argument<T",\n+            "key.parsed_scope.end" : 10,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant8ArgumentV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 443\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this argument. This is the value that will be used\\nif the argument is never explicitly specified on the command line.\\n\\nIf this is nil, this argument is always required.",\n+            "key.doc.declaration" : "public let defaultValue: T?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If this is nil, this argument is always required."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"15\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant8ArgumentV12defaultValuexSgvp<\\/USR><Declaration>public let defaultValue: T?<\\/Declaration><CommentParts><Abstract><Para>The default value for this argument. This is the value that will be used if the argument is never explicitly specified on the command line.<\\/Para><\\/Abstract><Discussion><Para>If this is nil, this argument is always required.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 209,\n+            "key.docoffset" : 233,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 454,\n+            "key.offset" : 450,\n+            "key.parsed_declaration" : "public let defaultValue: T?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "T?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 585\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this argument. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"19\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant8ArgumentV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this argument. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 19,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 111,\n+            "key.docoffset" : 473,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 596,\n+            "key.offset" : 592,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 804\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string that describes this argument as a paramater shown\\nin the list of possible parameters in help messages (e.g. for \\"paths\\", the\\nuser would see <paths…>).",\n+            "key.doc.declaration" : "public let usageParameter: String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"24\\" column=\\"13\\"><Name>usageParameter<\\/Name><USR>s:10Commandant8ArgumentV14usageParameterSSSgvp<\\/USR><Declaration>public let usageParameter: String?<\\/Declaration><CommentParts><Abstract><Para>A human-readable string that describes this argument as a paramater shown in the list of possible parameters in help messages (e.g. for “paths”, the user would see &lt;paths…&gt;).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 24,\n+            "key.doc.name" : "usageParameter",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 191,\n+            "key.docoffset" : 612,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usageParameter<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 27,\n+            "key.name" : "usageParameter",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 815,\n+            "key.offset" : 811,\n+            "key.parsed_declaration" : "public let usageParameter: String?",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV14usageParameterSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>? = nil, usage: <Type usr=\\"s:SS\\">String<\\/Type>, usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 841\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 924,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usageParameter<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(defaultValue:usage:usageParameter:)",\n+            "key.namelength" : 74,\n+            "key.nameoffset" : 848,\n+            "key.offset" : 848,\n+            "key.parsed_declaration" : "public init(defaultValue: T? = nil, usage: String, usageParameter: String? = nil)",\n+            "key.parsed_scope.end" : 30,\n+            "key.parsed_scope.start" : 26,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Argument<T>.Type) -> (T?, String, String?) -> Argument<T>",\n+            "key.typeusr" : "$s12defaultValue5usage0C9Parameter10Commandant8ArgumentVyxGxSg_S2SSgtcD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValue5usage0E9ParameterACyxGxSg_S2SSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate func invalidUsageError&lt;ClientError&gt;(_ value: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1025\n+              }\n+            ],\n+            "key.bodylength" : 135,\n+            "key.bodyoffset" : 1123,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>invalidUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 222,\n+            "key.name" : "invalidUsageError(_:)",\n+            "key.namelength" : 47,\n+            "key.nameoffset" : 1042,\n+            "key.offset" : 1037,\n+            "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError>(_ value: String) -> CommandantError<ClientError>",\n+            "key.parsed_scope.end" : 35,\n+            "key.parsed_scope.start" : 32,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1060,\n+                "key.offset" : 1060,\n+                "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError",\n+                "key.parsed_scope.end" : 32,\n+                "key.parsed_scope.start" : 32,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 83,\n+                "key.name" : "description",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1130,\n+                "key.offset" : 1126,\n+                "key.parsed_declaration" : "let description = \\"Invalid value for \'\\\\(self.usageParameterDescription)\': \\\\(value)\\"",\n+                "key.parsed_scope.end" : 33,\n+                "key.parsed_scope.start" : 33,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF11descriptionL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError> (Argument<T>) -> (String) -> CommandantError<ClientError>",\n+            "key.typeusr" : "$sy10Commandant0A5ErrorOyqd__GSScluD",\n+            "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 251,\n+        "key.bodyoffset" : 1283,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 272,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1273,\n+        "key.offset" : 1263,\n+        "key.parsed_declaration" : "extension Argument",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 38,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1422\n+              }\n+            ],\n+            "key.bodylength" : 62,\n+            "key.bodyoffset" : 1470,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"41\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentV25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1285,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 102,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1435,\n+            "key.offset" : 1431,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 254,\n+        "key.bodyoffset" : 1575,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 293,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1547,\n+        "key.offset" : 1537,\n+        "key.parsed_declaration" : "extension Argument where T: Sequence",\n+        "key.parsed_scope.end" : 52,\n+        "key.parsed_scope.start" : 46,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1714\n+              }\n+            ],\n+            "key.bodylength" : 65,\n+            "key.bodyoffset" : 1762,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"49\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 49,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1577,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 105,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1723,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 51,\n+            "key.parsed_scope.start" : 49,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentV25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1835\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 1979,\n+        "key.bodyoffset" : 1877,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 2003,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1864,\n+        "key.offset" : 1854,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 120,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2069\n+              }\n+            ],\n+            "key.bodylength" : 518,\n+            "key.bodyoffset" : 2212,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"61\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 61,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 189,\n+            "key.docoffset" : 1879,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 655,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 79,\n+            "key.nameoffset" : 2088,\n+            "key.offset" : 2076,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 81,\n+            "key.parsed_scope.start" : 61,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2095\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2092,\n+                "key.offset" : 2092,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2113,\n+                "key.offset" : 2113,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC8ArgumentVyxGtcAC0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.bodylength" : 778,\n+            "key.bodyoffset" : 3076,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument list in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"87\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument list in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 87,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 194,\n+            "key.docoffset" : 2734,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 919,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 81,\n+            "key.nameoffset" : 2948,\n+            "key.offset" : 2936,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 119,\n+            "key.parsed_scope.start" : 87,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2955\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2952,\n+                "key.offset" : 2952,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2973,\n+                "key.offset" : 2973,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD8ArgumentVyACGtcAD0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentParser.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 4637,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.private",\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.private",\n+            "key.length" : 7,\n+            "key.offset" : 229\n+          }\n+        ],\n+        "key.bodylength" : 296,\n+        "key.bodyoffset" : 266,\n+        "key.doc.column" : 14,\n+        "key.doc.comment" : "Represents an argument passed on the command line.",\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 55,\n+        "key.docoffset" : 174,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 255\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 326,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 242,\n+        "key.offset" : 237,\n+        "key.parsed_declaration" : "private enum RawArgument: Equatable",\n+        "key.parsed_scope.end" : 22,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 16,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 341,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case key(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A key corresponding to an option (e.g., `verbose` for `--verbose`).",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"14\\" column=\\"7\\"><Name>key(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A key corresponding to an option (e.g., <codeVoice>verbose<\\/codeVoice> for <codeVoice>--verbose<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 14,\n+                "key.doc.name" : "key(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 72,\n+                "key.docoffset" : 268,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 11,\n+                "key.name" : "key(_:)",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 346,\n+                "key.offset" : 346,\n+                "key.parsed_declaration" : "case key(String)",\n+                "key.parsed_scope.end" : 14,\n+                "key.parsed_scope.start" : 14,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 18,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 448,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case value(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A value, either associated with an option or passed as a positional\\nargument.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"18\\" column=\\"7\\"><Name>value(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A value, either associated with an option or passed as a positional argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 18,\n+                "key.doc.name" : "value(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 87,\n+                "key.docoffset" : 360,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 13,\n+                "key.name" : "value(_:)",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 453,\n+                "key.offset" : 453,\n+                "key.parsed_declaration" : "case value(String)",\n+                "key.parsed_scope.end" : 18,\n+                "key.parsed_scope.start" : 18,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 32,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 529,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case flag(<Type usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/Type>&lt;<Type usr=\\"s:SJ\\">Character<\\/Type>&gt;)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "One or more flag arguments (e.g \'r\' and \'f\' for `-rf`)",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"21\\" column=\\"7\\"><Name>flag(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>One or more flag arguments (e.g ‘r’ and ‘f’ for <codeVoice>-rf<\\/codeVoice>)<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 21,\n+                "key.doc.name" : "flag(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 59,\n+                "key.docoffset" : 469,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/ref.struct>&lt;<ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 27,\n+                "key.name" : "flag(_:)",\n+                "key.namelength" : 27,\n+                "key.nameoffset" : 534,\n+                "key.offset" : 534,\n+                "key.parsed_declaration" : "case flag(OrderedSet<Character>)",\n+                "key.parsed_scope.end" : 21,\n+                "key.parsed_scope.start" : 21,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (OrderedSet<Character>) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOAA10OrderedSetVySJGcADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 214,\n+        "key.bodyoffset" : 613,\n+        "key.doc.column" : 14,\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 588\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 575,\n+        "key.offset" : 565,\n+        "key.parsed_declaration" : "extension RawArgument: CustomStringConvertible",\n+        "key.parsed_scope.end" : 37,\n+        "key.parsed_scope.start" : 24,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 615\n+              }\n+            ],\n+            "key.bodylength" : 173,\n+            "key.bodyoffset" : 652,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 199,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 631,\n+            "key.offset" : 627,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "fileprivate var description: String",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class ArgumentParser<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 896\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 889\n+          }\n+        ],\n+        "key.bodylength" : 3711,\n+        "key.bodyoffset" : 924,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Destructively parses a list of command-line arguments.",\n+        "key.doc.declaration" : "public final class ArgumentParser",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"40\\" column=\\"20\\"><Name>ArgumentParser<\\/Name><USR>s:10Commandant14ArgumentParserC<\\/USR><Declaration>public final class ArgumentParser<\\/Declaration><CommentParts><Abstract><Para>Destructively parses a list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 40,\n+        "key.doc.name" : "ArgumentParser",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 59,\n+        "key.docoffset" : 830,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>ArgumentParser<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 3734,\n+        "key.name" : "ArgumentParser",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 908,\n+        "key.offset" : 902,\n+        "key.parsed_declaration" : "public final class ArgumentParser",\n+        "key.parsed_scope.end" : 175,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var rawArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 991\n+              }\n+            ],\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "The remaining arguments to be extracted, in their raw form.",\n+            "key.doc.declaration" : "private var rawArguments: [RawArgument]",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"42\\" column=\\"14\\"><Name>rawArguments<\\/Name><USR>s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp<\\/USR><Declaration>private var rawArguments: [RawArgument]<\\/Declaration><CommentParts><Abstract><Para>The remaining arguments to be extracted, in their raw form.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 42,\n+            "key.doc.name" : "rawArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 64,\n+            "key.docoffset" : 926,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>rawArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 36,\n+            "key.name" : "rawArguments",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 1003,\n+            "key.offset" : 999,\n+            "key.parsed_declaration" : "private var rawArguments: [RawArgument] = []",\n+            "key.parsed_scope.end" : 42,\n+            "key.parsed_scope.start" : 42,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[RawArgument]",\n+            "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(_ arguments: [<Type usr=\\"s:SS\\">String<\\/Type>])<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1115\n+              }\n+            ],\n+            "key.bodylength" : 741,\n+            "key.bodyoffset" : 1151,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the generator from a simple list of command-line arguments.",\n+            "key.doc.declaration" : "public init(_ arguments: [String])",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"45\\" column=\\"9\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14ArgumentParserCyACSaySSGcfc<\\/USR><Declaration>public init(_ arguments: [String])<\\/Declaration><CommentParts><Abstract><Para>Initializes the generator from a simple list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 45,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 76,\n+            "key.docoffset" : 1038,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>arguments<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 771,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 1122,\n+            "key.offset" : 1122,\n+            "key.parsed_declaration" : "public init(_ arguments: [String])",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 45,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let params: [<Type usr=\\"s:Sa\\">Array<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;.<Type usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>params<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:Sa\\">Array<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;.<ref.typealias usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/ref.typealias>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 91,\n+                "key.name" : "params",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 1218,\n+                "key.offset" : 1214,\n+                "key.parsed_declaration" : "let params = arguments.split(maxSplits: 1, omittingEmptySubsequences: false) { $0 == \\"--\\" }",\n+                "key.parsed_scope.end" : 47,\n+                "key.parsed_scope.start" : 47,\n+                "key.typename" : "[ArraySlice<String>]",\n+                "key.typeusr" : "$sSays10ArraySliceVySSGGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc6paramsL_Says10ArraySliceVySSGGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let options: <Type usr=\\"s:Sa\\">Array<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;.<Type usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sa\\">Array<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;.<ref.typealias usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/ref.typealias><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 27,\n+                "key.name" : "options",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 1356,\n+                "key.offset" : 1352,\n+                "key.parsed_declaration" : "let options = params.first!",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "ArraySlice<String>",\n+                "key.typeusr" : "$ss10ArraySliceVySSGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc7optionsL_s10ArraySliceVySSGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser.Type) -> ([String]) -> ArgumentParser",\n+            "key.typeusr" : "$sy10Commandant14ArgumentParserCSaySSGcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var remainingArguments: [<Type usr=\\"s:SS\\">String<\\/Type>]? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1934\n+              }\n+            ],\n+            "key.bodylength" : 76,\n+            "key.bodyoffset" : 1978,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Returns the remaining arguments.",\n+            "key.doc.declaration" : "internal var remainingArguments: [String]? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"73\\" column=\\"15\\"><Name>remainingArguments<\\/Name><USR>s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp<\\/USR><Declaration>internal var remainingArguments: [String]? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the remaining arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 73,\n+            "key.doc.name" : "remainingArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 37,\n+            "key.docoffset" : 1896,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>remainingArguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 112,\n+            "key.name" : "remainingArguments",\n+            "key.namelength" : 18,\n+            "key.nameoffset" : 1947,\n+            "key.offset" : 1943,\n+            "key.parsed_declaration" : "internal var remainingArguments: [String]?",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 73,\n+            "key.typename" : "[String]?",\n+            "key.typeusr" : "$sSaySSGSgD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2264\n+              }\n+            ],\n+            "key.bodylength" : 281,\n+            "key.bodyoffset" : 2323,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was enabled or disabled, or nil if it\\nwas not given at all.\\n\\nIf the key is found, it is then removed from the list of arguments\\nremaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the key is found, it is then removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"82\\" column=\\"16\\"><Name>consumeBoolean(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF<\\/USR><Declaration>internal func consumeBoolean(forKey key: String) -&gt; Bool?<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was enabled or disabled, or nil if it was not given at all.<\\/Para><\\/Abstract><Discussion><Para>If the key is found, it is then removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "consumeBoolean(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 205,\n+            "key.docoffset" : 2058,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 332,\n+            "key.name" : "consumeBoolean(forKey:)",\n+            "key.namelength" : 34,\n+            "key.nameoffset" : 2278,\n+            "key.offset" : 2273,\n+            "key.parsed_declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.parsed_scope.end" : 98,\n+            "key.parsed_scope.start" : 82,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF\\">consumeBoolean(flag:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 2330,\n+                "key.offset" : 2326,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 83,\n+                "key.parsed_scope.start" : 83,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var result: <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>result<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 17,\n+                "key.name" : "result",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 2392,\n+                "key.offset" : 2388,\n+                "key.parsed_declaration" : "var result: Bool?",\n+                "key.parsed_scope.end" : 86,\n+                "key.parsed_scope.start" : 86,\n+                "key.typename" : "Bool?",\n+                "key.typeusr" : "$sSbSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF6resultL_AFvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool?",\n+            "key.typeusr" : "$s6forKeySbSgSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeValue(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:s5NeverO\\">Never<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2908\n+              }\n+            ],\n+            "key.bodylength" : 503,\n+            "key.bodyoffset" : 2999,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the value associated with the given flag, or nil if the flag was\\nnot specified. If the key is presented, but no value was given, an error\\nis returned.\\n\\nIf a value is found, the key and the value are both removed from the\\nlist of arguments remaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"106\\" column=\\"16\\"><Name>consumeValue(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF<\\/USR><Declaration>internal func consumeValue(forKey key: String) -&gt; Result&lt;String?, CommandantError&lt;Never&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Returns the value associated with the given flag, or nil if the flag was not specified. If the key is presented, but no value was given, an error is returned.<\\/Para><\\/Abstract><Discussion><Para>If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 106,\n+            "key.doc.name" : "consumeValue(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 299,\n+            "key.docoffset" : 2608,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeValue<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 586,\n+            "key.name" : "consumeValue(forKey:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 2922,\n+            "key.offset" : 2917,\n+            "key.parsed_declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.parsed_scope.end" : 131,\n+            "key.parsed_scope.start" : 106,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 3006,\n+                "key.offset" : 3002,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 107,\n+                "key.parsed_scope.start" : 107,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var foundValue: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>foundValue<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 23,\n+                "key.name" : "foundValue",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 3068,\n+                "key.offset" : 3064,\n+                "key.parsed_declaration" : "var foundValue: String?",\n+                "key.parsed_scope.end" : 110,\n+                "key.parsed_scope.start" : 110,\n+                "key.typename" : "String?",\n+                "key.typeusr" : "$sSSSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF05foundE0L_AHvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var index: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 13,\n+                "key.name" : "index",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 3094,\n+                "key.offset" : 3090,\n+                "key.parsed_declaration" : "var index = 0",\n+                "key.parsed_scope.end" : 111,\n+                "key.parsed_scope.start" : 111,\n+                "key.related_decls" : [\n+                  {\n+                    "key.annotated_decl" : "<RelatedName usr=\\"c:@F@index\\">index(_:_:)<\\/RelatedName>"\n+                  }\n+                ],\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF5indexL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Result<String?, CommandantError<Never>>",\n+            "key.typeusr" : "$s6forKeys6ResultOySSSg10Commandant0D5ErrorOys5NeverOGGSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumePositionalArgument() -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3634\n+              }\n+            ],\n+            "key.bodylength" : 164,\n+            "key.bodyoffset" : 3688,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the next positional argument that hasn\'t yet been returned, or\\nnil if there are no more positional arguments.",\n+            "key.doc.declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"135\\" column=\\"16\\"><Name>consumePositionalArgument()<\\/Name><USR>s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF<\\/USR><Declaration>internal func consumePositionalArgument() -&gt; String?<\\/Declaration><CommentParts><Abstract><Para>Returns the next positional argument that hasn’t yet been returned, or nil if there are no more positional arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 135,\n+            "key.doc.name" : "consumePositionalArgument()",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 127,\n+            "key.docoffset" : 3506,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumePositionalArgument<\\/decl.name>() -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 210,\n+            "key.name" : "consumePositionalArgument()",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 3648,\n+            "key.offset" : 3643,\n+            "key.parsed_declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 135,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> () -> String?",\n+            "key.typeusr" : "$sSSSgycD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consume(key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3963\n+              }\n+            ],\n+            "key.bodylength" : 143,\n+            "key.bodyoffset" : 4007,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consume(key: String) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"148\\" column=\\"16\\"><Name>consume(key:)<\\/Name><USR>s:10Commandant14ArgumentParserC7consume3keySbSS_tF<\\/USR><Declaration>internal func consume(key: String) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 148,\n+            "key.doc.name" : "consume(key:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 106,\n+            "key.docoffset" : 3856,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consume<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 179,\n+            "key.name" : "consume(key:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 3977,\n+            "key.offset" : 3972,\n+            "key.parsed_declaration" : "internal func consume(key: String) -> Bool",\n+            "key.parsed_scope.end" : 153,\n+            "key.parsed_scope.start" : 148,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 4014,\n+                "key.offset" : 4010,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 149,\n+                "key.parsed_scope.start" : 149,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool",\n+            "key.typeusr" : "$s3keySbSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 4262\n+              }\n+            ],\n+            "key.bodylength" : 316,\n+            "key.bodyoffset" : 4317,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given flag was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"157\\" column=\\"16\\"><Name>consumeBoolean(flag:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF<\\/USR><Declaration>internal func consumeBoolean(flag: Character) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given flag was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "consumeBoolean(flag:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 107,\n+            "key.docoffset" : 4154,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 363,\n+            "key.name" : "consumeBoolean(flag:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 4276,\n+            "key.offset" : 4271,\n+            "key.parsed_declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.parsed_scope.end" : 174,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF\\">consumeBoolean(forKey:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (Character) -> Bool",\n+            "key.typeusr" : "$s4flagSbSJ_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF"\n+          }\n+        ],\n+        "key.typename" : "ArgumentParser.Type",\n+        "key.typeusr" : "$s10Commandant14ArgumentParserCmD",\n+        "key.usr" : "s:10Commandant14ArgumentParserC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentProtocol.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 1141,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol ArgumentProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 219\n+          }\n+        ],\n+        "key.bodylength" : 189,\n+        "key.bodyoffset" : 253,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a value that can be converted from a command-line argument.",\n+        "key.doc.declaration" : "public protocol ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"10\\" column=\\"17\\"><Name>ArgumentProtocol<\\/Name><USR>s:10Commandant16ArgumentProtocolP<\\/USR><Declaration>public protocol ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a value that can be converted from a command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "ArgumentProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 75,\n+        "key.docoffset" : 144,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>ArgumentProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 217,\n+        "key.name" : "ArgumentProtocol",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 235,\n+        "key.offset" : 226,\n+        "key.parsed_declaration" : "public protocol ArgumentProtocol",\n+        "key.parsed_scope.end" : 16,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static var name: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 322,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable name for this type.",\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 41,\n+            "key.docoffset" : 255,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.static>",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 31,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 308,\n+            "key.offset" : 297,\n+            "key.parsed_declaration" : "static var name: String",\n+            "key.parsed_scope.end" : 12,\n+            "key.parsed_scope.start" : 12,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Attempts to parse a value from the given command-line argument.",\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 68,\n+            "key.docoffset" : 331,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 41,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 412,\n+            "key.offset" : 400,\n+            "key.parsed_declaration" : "static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "ArgumentProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant16ArgumentProtocol_pmD",\n+        "key.usr" : "s:10Commandant16ArgumentProtocolP"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct Int : <Type usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/Type>, <Type usr=\\"s:SZ\\">SignedInteger<\\/Type>, <Type usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 113,\n+        "key.bodyoffset" : 478,\n+        "key.doc.declaration" : "@frozen struct Int : FixedWidthInteger, SignedInteger",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "On 32-bit platforms, `Int` is the same size as `Int32`, and on 64-bit platforms, `Int` is the same size as `Int64`."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>Int<\\/Name><USR>s:Si<\\/USR><Declaration>@frozen struct Int : FixedWidthInteger, SignedInteger<\\/Declaration><CommentParts><Abstract><Para>A signed integer value type.<\\/Para><\\/Abstract><Discussion><Para>On 32-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int32<\\/codeVoice>, and on 64-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int64<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "Int",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 460\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Int<\\/decl.name> : <ref.protocol usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:SZ\\">SignedInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/ref.protocol><\\/decl.struct>",\n+        "key.groupname" : "Math\\/Integers",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Int",\n+        "key.namelength" : 3,\n+        "key.nameoffset" : 455,\n+        "key.offset" : 445,\n+        "key.parsed_declaration" : "extension Int: ArgumentProtocol",\n+        "key.parsed_scope.end" : 24,\n+        "key.parsed_scope.start" : 18,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 480\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 27,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 498,\n+            "key.offset" : 487,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"integer\\"",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 517\n+              }\n+            ],\n+            "key.bodylength" : 23,\n+            "key.bodyoffset" : 566,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 66,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 524,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> Int?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 21,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Int.Type) -> (String) -> Int?",\n+            "key.typeusr" : "$s6stringSiSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "Int.Type",\n+        "key.typeusr" : "$sSimD",\n+        "key.usr" : "s:Si"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct String<\\/Declaration>",\n+        "key.bodylength" : 110,\n+        "key.bodyoffset" : 630,\n+        "key.doc.declaration" : "@frozen struct String",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "A string is a series of characters, such as `\\"Swift\\"`, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The `String` type bridges with the Objective-C class `NSString` and offers interoperability with C functions that works with strings."\n+          },\n+          {\n+            "Para" : "You can create new strings using string literals or string interpolations. A  is a series of characters enclosed in quotes."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : " are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Combine strings using the concatenation operator (`+`)."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Multiline string literals are enclosed in three double quotation marks (`\\"\\"\\"`), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings always have value semantics. Modifying a copy of a string leaves the original unaffected."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Comparing strings for equality using the equal-to operator (`==`) or a relational operator (like `<` or `>=`) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The Unicode scalar value `\\"\\\\u{301}\\"` modifies the preceding character to include an accent, so `\\"e\\\\u{301}\\"` has the same canonical representation as the single Unicode scalar value `\\"é\\"`."\n+          },\n+          {\n+            "Para" : "Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in `Dictionary` instances and for other purposes."\n+          },\n+          {\n+            "Para" : "A string is a collection of , which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift `Character` type. Each element of a string is represented by a `Character` instance."\n+          },\n+          {\n+            "Para" : "For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `firstName` constant is an instance of the `Substring` type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s `unicodeScalars`, `utf16`, or `utf8` properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding."\n+          },\n+          {\n+            "Para" : "To demonstrate the different views available for every string, the following examples use this `String` instance:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `cafe` string is a collection of the nine characters that are visible when the string is displayed."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `unicodeScalars` property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a `Unicode.Scalar` instance and is equivalent to a UTF-32 code unit."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `unicodeScalars` view’s elements comprise each Unicode scalar value in the `cafe` string. In particular, because `cafe` was declared using the decomposed form of the `\\"é\\"` character, `unicodeScalars` contains the scalar values for both the letter `\\"e\\"` (101) and the accent character `\\"´\\"` (769)."\n+          },\n+          {\n+            "Para" : "A string’s `utf16` property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt16` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf16` view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed `NSString` APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `utf8` property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt8` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf8` view are the code units for the string when encoded in UTF-8. This representation matches the one used when `String` instances are passed to C APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views."\n+          },\n+          {\n+            "Para" : "For example, an ASCII character like the capital letter  is represented by a single element in each of its four views. The Unicode scalar value of  is `65`, which is small enough to fit in a single code unit in both UTF-16 and UTF-8."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like `\\"\\\\u{1F1F5}\\"` and `\\"\\\\u{1F1F7}\\"`. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string `\\"🇵🇷\\"` reports a different length."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "To check whether a string is empty, use its `isEmpty` property instead of comparing the length of one of the views to `0`. Unlike with `isEmpty`, calculating a view’s `count` property requires iterating through the elements of the string."\n+          },\n+          {\n+            "Para" : "To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings and their views share indices, so you can access the UTF-8 view of the `name` string using the same `firstSpace` index."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Note that an index into one view may not have an exact corresponding position in another view. For example, the `flag` string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the `flag.utf8` view. Accessing the `utf8` view with these indices yields the first and second code UTF-8 units."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When used to access the elements of the `flag` string itself, however, the `secondCodeUnit` index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of `secondCodeUnit`, that character is still the flag itself."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s `samePosition(in:)` method or the `init(_:within:)` initializer."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O() time and space."\n+          },\n+          {\n+            "Para" : "When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations."\n+          },\n+          {\n+            "Para" : "Any `String` instance can be bridged to `NSString` using the type-cast operator (`as`), and any `String` instance that originates in Objective-C may use an `NSString` instance as its storage. Because any arbitrary subclass of `NSString` can become a `String` instance, there are no guarantees about representation or efficiency when a `String` instance is backed by `NSString` storage. Because `NSString` is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O() time and space, where  is the length of the string’s encoded representation (or more, if the underlying `NSString` has unusual performance characteristics)."\n+          },\n+          {\n+            "Para" : "For more information about the Unicode terms used in this discussion, see the . In particular, this discussion mentions , , and ."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>String<\\/Name><USR>s:SS<\\/USR><Declaration>@frozen struct String<\\/Declaration><CommentParts><Abstract><Para>A Unicode string value that is a collection of characters.<\\/Para><\\/Abstract><Discussion><Para>A string is a series of characters, such as <codeVoice>&quot;Swift&quot;<\\/codeVoice>, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The <codeVoice>String<\\/codeVoice> type bridges with the Objective-C class <codeVoice>NSString<\\/codeVoice> and offers interoperability with C functions that works with strings.<\\/Para><Para>You can create new strings using string literals or string interpolations. A <emphasis>string literal<\\/emphasis> is a series of characters enclosed in quotes.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let greeting = \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para><emphasis>String interpolations<\\/emphasis> are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Rosa\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let personalizedGreeting = \\"Welcome, \\\\(name)!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ personalizedGreeting == \\"Welcome, Rosa!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let price = 2]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let number = 3]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cookiePrice = \\"\\\\(number) cookies: $\\\\(price * number).\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ cookiePrice == \\"3 cookies: $6.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Combine strings using the concatenation operator (<codeVoice>+<\\/codeVoice>).<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let longerGreeting = greeting + \\" We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ longerGreeting == \\"Welcome! We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Multiline string literals are enclosed in three double quotation marks (<codeVoice>&quot;&quot;&quot;<\\/codeVoice>), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let banner = \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          __,]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[         (           o  \\/) _\\/_]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          `.  , , , ,  \\/\\/  \\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        (___)(_(_\\/_(_ \\/\\/_ (__]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                     \\/)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                    (\\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Modifying and Comparing Strings<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Strings always have value semantics. Modifying a copy of a string leaves the original unaffected.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var otherGreeting = greeting]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[otherGreeting += \\" Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ otherGreeting == \\"Welcome! Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(greeting)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Comparing strings for equality using the equal-to operator (<codeVoice>==<\\/codeVoice>) or a relational operator (like <codeVoice>&lt;<\\/codeVoice> or <codeVoice>&gt;=<\\/codeVoice>) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe1 = \\"Cafe\\\\u{301}\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cafe2 = \\"Café\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe1 == cafe2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"true\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The Unicode scalar value <codeVoice>&quot;\\\\u{301}&quot;<\\/codeVoice> modifies the preceding character to include an accent, so <codeVoice>&quot;e\\\\u{301}&quot;<\\/codeVoice> has the same canonical representation as the single Unicode scalar value <codeVoice>&quot;é&quot;<\\/codeVoice>.<\\/Para><Para>Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in <codeVoice>Dictionary<\\/codeVoice> instances and for other purposes.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>A string is a collection of <emphasis>extended grapheme clusters<\\/emphasis>, which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift <codeVoice>Character<\\/codeVoice> type. Each element of a string is represented by a <codeVoice>Character<\\/codeVoice> instance.<\\/Para><Para>For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ firstName == \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>firstName<\\/codeVoice> constant is an instance of the <codeVoice>Substring<\\/codeVoice> type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(\\"\\\\(name)\'s first name has \\\\(firstName.count) letters.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie Curie\'s first name has 5 letters.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing a String’s Unicode Representation<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s <codeVoice>unicodeScalars<\\/codeVoice>, <codeVoice>utf16<\\/codeVoice>, or <codeVoice>utf8<\\/codeVoice> properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding.<\\/Para><Para>To demonstrate the different views available for every string, the following examples use this <codeVoice>String<\\/codeVoice> instance:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe = \\"Cafe\\\\u{301} du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Café du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>cafe<\\/codeVoice> string is a collection of the nine characters that are visible when the string is displayed.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"9\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"é\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"🌍\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>Unicode Scalar View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>unicodeScalars<\\/codeVoice> property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a <codeVoice>Unicode.Scalar<\\/codeVoice> instance and is equivalent to a UTF-32 code unit.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"10\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.unicodeScalars))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"e\\", \\"\\\\u{0301}\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"\\\\u{0001F30D}\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.map { $0.value })]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 127757]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>unicodeScalars<\\/codeVoice> view’s elements comprise each Unicode scalar value in the <codeVoice>cafe<\\/codeVoice> string. In particular, because <codeVoice>cafe<\\/codeVoice> was declared using the decomposed form of the <codeVoice>&quot;é&quot;<\\/codeVoice> character, <codeVoice>unicodeScalars<\\/codeVoice> contains the scalar values for both the letter <codeVoice>&quot;e&quot;<\\/codeVoice> (101) and the accent character <codeVoice>&quot;´&quot;<\\/codeVoice> (769).<\\/Para><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-16 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf16<\\/codeVoice> property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt16<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf16))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 55356, 57101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf16<\\/codeVoice> view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed <codeVoice>NSString<\\/codeVoice> APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let nscafe = cafe as NSString]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.length)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.character(at: 3))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"101\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-8 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf8<\\/codeVoice> property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt8<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf8))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 204, 129, 32, 100, 117, 32, 240, 159, 140, 141]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf8<\\/codeVoice> view are the code units for the string when encoded in UTF-8. This representation matches the one used when <codeVoice>String<\\/codeVoice> instances are passed to C APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cLength = strlen(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cLength)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Measuring the Length of a String<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views.<\\/Para><Para>For example, an ASCII character like the capital letter <emphasis>A<\\/emphasis> is represented by a single element in each of its four views. The Unicode scalar value of <emphasis>A<\\/emphasis> is <codeVoice>65<\\/codeVoice>, which is small enough to fit in a single code unit in both UTF-16 and UTF-8.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let capitalA = \\"A\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like <codeVoice>&quot;\\\\u{1F1F5}&quot;<\\/codeVoice> and <codeVoice>&quot;\\\\u{1F1F7}&quot;<\\/codeVoice>. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string <codeVoice>&quot;🇵🇷&quot;<\\/codeVoice> reports a different length.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let flag = \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"2\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"4\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"8\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>To check whether a string is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing the length of one of the views to <codeVoice>0<\\/codeVoice>. Unlike with <codeVoice>isEmpty<\\/codeVoice>, calculating a view’s <codeVoice>count<\\/codeVoice> property requires iterating through the elements of the string.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String View Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(firstName)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Strings and their views share indices, so you can access the UTF-8 view of the <codeVoice>name<\\/codeVoice> string using the same <codeVoice>firstSpace<\\/codeVoice> index.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(Array(name.utf8[..<firstSpace]))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[77, 97, 114, 105, 101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Note that an index into one view may not have an exact corresponding position in another view. For example, the <codeVoice>flag<\\/codeVoice> string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the <codeVoice>flag.utf8<\\/codeVoice> view. Accessing the <codeVoice>utf8<\\/codeVoice> view with these indices yields the first and second code UTF-8 units.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let firstCodeUnit = flag.startIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let secondCodeUnit = flag.utf8.index(after: firstCodeUnit)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[firstCodeUnit] == 240]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[secondCodeUnit] == 159]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>When used to access the elements of the <codeVoice>flag<\\/codeVoice> string itself, however, the <codeVoice>secondCodeUnit<\\/codeVoice> index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of <codeVoice>secondCodeUnit<\\/codeVoice>, that character is still the flag itself.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[\\/\\/ flag[firstCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag[secondCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s <codeVoice>samePosition(in:)<\\/codeVoice> method or the <codeVoice>init(_:within:)<\\/codeVoice> initializer.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[if let exactIndex = secondCodeUnit.samePosition(in: flag) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(flag[exactIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"No exact match for this position.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"No exact match for this position.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Performance Optimizations<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O(<emphasis>n<\\/emphasis>) time and space.<\\/Para><Para>When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Bridging Between String and NSString<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Any <codeVoice>String<\\/codeVoice> instance can be bridged to <codeVoice>NSString<\\/codeVoice> using the type-cast operator (<codeVoice>as<\\/codeVoice>), and any <codeVoice>String<\\/codeVoice> instance that originates in Objective-C may use an <codeVoice>NSString<\\/codeVoice> instance as its storage. Because any arbitrary subclass of <codeVoice>NSString<\\/codeVoice> can become a <codeVoice>String<\\/codeVoice> instance, there are no guarantees about representation or efficiency when a <codeVoice>String<\\/codeVoice> instance is backed by <codeVoice>NSString<\\/codeVoice> storage. Because <codeVoice>NSString<\\/codeVoice> is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O(<emphasis>n<\\/emphasis>) time and space, where <emphasis>n<\\/emphasis> is the length of the string’s encoded representation (or more, if the underlying <codeVoice>NSString<\\/codeVoice> has unusual performance characteristics).<\\/Para><Para>For more information about the Unicode terms used in this discussion, see the <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/\\">Unicode.org glossary<\\/Link>. In particular, this discussion mentions <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#extended_grapheme_cluster\\">extended grapheme clusters<\\/Link>, <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#unicode_scalar_value\\">Unicode scalar values<\\/Link>, and <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#canonical_equivalent\\">canonical equivalence<\\/Link>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "String",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 612\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>String<\\/decl.name><\\/decl.struct>",\n+        "key.groupname" : "String",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "String",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 604,\n+        "key.offset" : 594,\n+        "key.parsed_declaration" : "extension String: ArgumentProtocol",\n+        "key.parsed_scope.end" : 32,\n+        "key.parsed_scope.start" : 26,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 632\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 26,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 650,\n+            "key.offset" : 639,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"string\\"",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 668\n+              }\n+            ],\n+            "key.bodylength" : 18,\n+            "key.bodyoffset" : 720,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 64,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 687,\n+            "key.offset" : 675,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> String?",\n+            "key.parsed_scope.end" : 31,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(String.Type) -> (String) -> String?",\n+            "key.typeusr" : "$s6stringSSSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "String.Type",\n+        "key.typeusr" : "$sSSmD",\n+        "key.usr" : "s:SS"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 826,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 196,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 753,\n+        "key.offset" : 743,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: StringProtocol, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 38,\n+        "key.parsed_scope.start" : 34,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 878,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 847,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 35,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : StringProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 1027,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 199,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 951,\n+        "key.offset" : 941,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: FixedWidthInteger, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1029\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 1079,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 1048,\n+            "key.offset" : 1036,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : FixedWidthInteger> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Command.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 7522,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol CommandProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 247\n+          }\n+        ],\n+        "key.bodylength" : 483,\n+        "key.bodyoffset" : 280,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a subcommand that can be executed with its own set of arguments.",\n+        "key.doc.declaration" : "public protocol CommandProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"12\\" column=\\"17\\"><Name>CommandProtocol<\\/Name><USR>s:10Commandant15CommandProtocolP<\\/USR><Declaration>public protocol CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a subcommand that can be executed with its own set of arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "CommandProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 80,\n+        "key.docoffset" : 167,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>CommandProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 510,\n+        "key.name" : "CommandProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 263,\n+        "key.offset" : 254,\n+        "key.parsed_declaration" : "public protocol CommandProtocol",\n+        "key.parsed_scope.end" : 29,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype Options : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "The command\'s options type.",\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 32,\n+            "key.docoffset" : 283,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>Options<\\/decl.name> : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 39,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 331,\n+            "key.offset" : 316,\n+            "key.parsed_declaration" : "associatedtype Options: OptionsProtocol",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "Self.Options.Type",\n+            "key.typeusr" : "$s7Options10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError where <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.ClientError == <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.Options.ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement><ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.ClientError == <ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.Options.ClientError<\\/decl.generic_type_requirement><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 67,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 373,\n+            "key.offset" : 358,\n+            "key.parsed_declaration" : "associatedtype ClientError where ClientError == Options.ClientError",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 17,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 532,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "The action that users should specify to use this subcommand (e.g.,\\n`help`).",\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 85,\n+            "key.docoffset" : 428,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 24,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 518,\n+            "key.offset" : 514,\n+            "key.parsed_declaration" : "var verb: String",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var function: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 648,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "A human-readable, high-level description of what this command is used\\nfor.",\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 84,\n+            "key.docoffset" : 541,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 28,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 630,\n+            "key.offset" : 626,\n+            "key.parsed_declaration" : "var function: String",\n+            "key.parsed_scope.end" : 25,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>func run(_ options: <Type usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.doc.column" : 7,\n+            "key.doc.comment" : "Runs this subcommand with the given options.",\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 49,\n+            "key.docoffset" : 657,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/ref.associatedtype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 55,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 712,\n+            "key.offset" : 707,\n+            "key.parsed_declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 28,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : CommandProtocol> (Self) -> (Self.Options) -> Result<(), Self.ClientError>",\n+            "key.typeusr" : "$sys6ResultOyyt11ClientErrorQzG7OptionsQzcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "CommandProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15CommandProtocol_pmD",\n+        "key.usr" : "s:10Commandant15CommandProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 793\n+          }\n+        ],\n+        "key.bodylength" : 957,\n+        "key.bodyoffset" : 843,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A type-erased command.",\n+        "key.doc.declaration" : "public struct CommandWrapper<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"32\\" column=\\"15\\"><Name>CommandWrapper<\\/Name><USR>s:10Commandant14CommandWrapperV<\\/USR><Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A type-erased command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 32,\n+        "key.doc.name" : "CommandWrapper",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 27,\n+        "key.docoffset" : 766,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>CommandWrapper<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1001,\n+        "key.name" : "CommandWrapper",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 807,\n+        "key.offset" : 800,\n+        "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error>",\n+        "key.parsed_scope.end" : 65,\n+        "key.parsed_scope.start" : 32,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 835\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 822,\n+            "key.offset" : 822,\n+            "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 32,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 845\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 16,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 856,\n+            "key.offset" : 852,\n+            "key.parsed_declaration" : "public let verb: String",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 33,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 870\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 881,\n+            "key.offset" : 877,\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 34,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let run: (<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 900\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>: <decl.var.type>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 69,\n+            "key.name" : "run",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 911,\n+            "key.offset" : 907,\n+            "key.parsed_declaration" : "public let run: (ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 36,\n+            "key.typename" : "(ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyyt10Commandant0B5ErrorOyxGGAC14ArgumentParserCcD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV3runys6ResultOyytAA0A5ErrorOyxGGAA14ArgumentParserCcvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: () -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 979\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type>() -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 990,\n+            "key.offset" : 986,\n+            "key.parsed_declaration" : "public let usage: () -> CommandantError<ClientError>?",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "() -> CommandantError<ClientError>?",\n+            "key.typeusr" : "$s10Commandant0A5ErrorOyxGSgycD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV5usageAA0A5ErrorOyxGSgycvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate init&lt;C&gt;(_ command: <Type usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/Type>) where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1078\n+              }\n+            ],\n+            "key.bodylength" : 633,\n+            "key.bodyoffset" : 1165,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Creates a command that wraps another.",\n+            "key.doc.declaration" : "fileprivate init<C>(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"41\\" column=\\"14\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc<\\/USR><Declaration>fileprivate init&lt;C&gt;(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Creates a command that wraps another.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 42,\n+            "key.docoffset" : 1035,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>command<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 709,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 38,\n+            "key.nameoffset" : 1090,\n+            "key.offset" : 1090,\n+            "key.parsed_declaration" : "fileprivate init<C: CommandProtocol>(_ command: C) where C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 64,\n+            "key.parsed_scope.start" : 41,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 1098\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 1095,\n+                "key.offset" : 1095,\n+                "key.parsed_declaration" : "fileprivate init<C: CommandProtocol",\n+                "key.parsed_scope.end" : 41,\n+                "key.parsed_scope.start" : 41,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandWrapper<ClientError>.Type) -> (C) -> CommandWrapper<ClientError>",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc"\n+          }\n+        ],\n+        "key.typename" : "CommandWrapper<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant14CommandWrapperVyxGmD",\n+        "key.usr" : "s:10Commandant14CommandWrapperV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1859\n+          }\n+        ],\n+        "key.bodylength" : 216,\n+        "key.bodyoffset" : 1884,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Describes the \\"mode\\" in which a command should run.",\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 56,\n+        "key.docoffset" : 1803,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 235,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1871,\n+        "key.offset" : 1866,\n+        "key.parsed_declaration" : "public enum CommandMode",\n+        "key.parsed_scope.end" : 75,\n+        "key.parsed_scope.start" : 68,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 1955,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case arguments(<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Options should be parsed from the given command-line arguments.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"70\\" column=\\"7\\"><Name>arguments(_:)<\\/Name><USR>s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Options should be parsed from the given command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 70,\n+                "key.doc.name" : "arguments(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 68,\n+                "key.docoffset" : 1886,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "arguments(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 1960,\n+                "key.offset" : 1960,\n+                "key.parsed_declaration" : "case arguments(ArgumentParser)",\n+                "key.parsed_scope.end" : 70,\n+                "key.parsed_scope.start" : 70,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(CommandMode.Type) -> (ArgumentParser) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOAA14ArgumentParserCcACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 10,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 2089,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usage<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Each option should record its usage information in an error, for\\npresentation to the user.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"74\\" column=\\"7\\"><Name>usage<\\/Name><USR>s:10Commandant11CommandModeO5usageyA2CmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Each option should record its usage information in an error, for presentation to the user.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 74,\n+                "key.doc.name" : "usage",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 100,\n+                "key.docoffset" : 1988,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name><\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 5,\n+                "key.name" : "usage",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 2094,\n+                "key.offset" : 2094,\n+                "key.parsed_declaration" : "case usage",\n+                "key.parsed_scope.end" : 74,\n+                "key.parsed_scope.start" : 74,\n+                "key.typename" : "(CommandMode.Type) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO5usageyA2CmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 2163\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 2156\n+          }\n+        ],\n+        "key.bodylength" : 1204,\n+        "key.bodyoffset" : 2212,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Maintains the list of commands available to run.",\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 53,\n+        "key.docoffset" : 2103,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 1248,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 2175,\n+        "key.offset" : 2169,\n+        "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error>",\n+        "key.parsed_scope.end" : 116,\n+        "key.parsed_scope.start" : 78,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 2204\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2191,\n+            "key.offset" : 2191,\n+            "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error",\n+            "key.parsed_scope.end" : 78,\n+            "key.parsed_scope.start" : 78,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var commandsByVerb: [<Type usr=\\"s:SS\\">String<\\/Type> : <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 2214\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commandsByVerb<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct> : <ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 63,\n+            "key.name" : "commandsByVerb",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 2226,\n+            "key.offset" : 2222,\n+            "key.parsed_declaration" : "private var commandsByVerb: [String: CommandWrapper<ClientError>] = [:]",\n+            "key.parsed_scope.end" : 79,\n+            "key.parsed_scope.start" : 79,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[String : CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSDySS10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC14commandsByVerb33_1DD6990CD6DFDE28F713A55F8EE2B70ELLSDySSAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var commands: [<Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;] { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2317\n+              }\n+            ],\n+            "key.bodylength" : 69,\n+            "key.bodyoffset" : 2369,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "All available commands.",\n+            "key.doc.declaration" : "public var commands: [CommandWrapper<ClientError>] { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"82\\" column=\\"13\\"><Name>commands<\\/Name><USR>s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp<\\/USR><Declaration>public var commands: [CommandWrapper&lt;ClientError&gt;] { get }<\\/Declaration><CommentParts><Abstract><Para>All available commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "commands",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 28,\n+            "key.docoffset" : 2288,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commands<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 115,\n+            "key.name" : "commands",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 2328,\n+            "key.offset" : 2324,\n+            "key.parsed_declaration" : "public var commands: [CommandWrapper<ClientError>]",\n+            "key.parsed_scope.end" : 84,\n+            "key.parsed_scope.start" : 82,\n+            "key.typename" : "[CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSay10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2442\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 2457,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 2449,\n+            "key.offset" : 2449,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>.Type) -> () -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGycD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>@discardableResult public func register&lt;C&gt;(_ commands: <Type usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/Type>...) -&gt; <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type> where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2656\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 2636\n+              }\n+            ],\n+            "key.bodylength" : 106,\n+            "key.bodyoffset" : 2775,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Registers the given commands, making those available to run.\\n\\nIf another commands were already registered with the same `verb`s, those\\nwill be overwritten.",\n+            "key.doc.declaration" : "public func register<C>(_ commands: C...) -> CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If another commands were already registered with the same `verb`s, those will be overwritten."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"93\\" column=\\"14\\"><Name>register(_:)<\\/Name><USR>s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF<\\/USR><Declaration>public func register&lt;C&gt;(_ commands: C...) -&gt; CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Registers the given commands, making those available to run.<\\/Para><\\/Abstract><Discussion><Para>If another commands were already registered with the same <codeVoice>verb<\\/codeVoice>s, those will be overwritten.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 93,\n+            "key.doc.name" : "register(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 174,\n+            "key.docoffset" : 2461,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>register<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>commands<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type>...<\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class><\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 219,\n+            "key.name" : "register(_:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 2668,\n+            "key.offset" : 2663,\n+            "key.parsed_declaration" : "public func register<C: CommandProtocol>(_ commands: C...)\\n\\t-> CommandRegistry\\n\\twhere C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 101,\n+            "key.parsed_scope.start" : 93,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 2680\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2677,\n+                "key.offset" : 2677,\n+                "key.parsed_declaration" : "public func register<C: CommandProtocol",\n+                "key.parsed_scope.end" : 93,\n+                "key.parsed_scope.start" : 93,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandRegistry<ClientError>) -> (C...) -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$sy10Commandant15CommandRegistryCyxGqd__d_tc11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(command verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3059\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 3164,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Runs the command corresponding to the given verb, passing it the given\\narguments.\\n\\nReturns the results of the execution, or nil if no such command exists.",\n+            "key.doc.declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the results of the execution, or nil if no such command exists."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"107\\" column=\\"14\\"><Name>run(command:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF<\\/USR><Declaration>public func run(command verb: String, arguments: [String]) -&gt; Result&lt;(), CommandantError&lt;ClientError&gt;&gt;?<\\/Declaration><CommentParts><Abstract><Para>Runs the command corresponding to the given verb, passing it the given arguments.<\\/Para><\\/Abstract><Discussion><Para>Returns the results of the execution, or nil if no such command exists.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 107,\n+            "key.doc.name" : "run(command:arguments:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 173,\n+            "key.docoffset" : 2885,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>command<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 153,\n+            "key.name" : "run(command:arguments:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 3071,\n+            "key.offset" : 3066,\n+            "key.parsed_declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 107,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.typeusr" : "$s7command9argumentss6ResultOyyt10Commandant0D5ErrorOyxGGSgSS_SaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public subscript(verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3318\n+              }\n+            ],\n+            "key.bodylength" : 32,\n+            "key.bodyoffset" : 3382,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Returns the command matching the given verb, or nil if no such command\\nis registered.",\n+            "key.doc.declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"113\\" column=\\"9\\"><Name>subscript(_:)<\\/Name><USR>s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip<\\/USR><Declaration>public subscript(verb: String) -&gt; CommandWrapper&lt;ClientError&gt;? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the command matching the given verb, or nil if no such command is registered.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 113,\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 95,\n+            "key.docoffset" : 3222,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 90,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 3325,\n+            "key.offset" : 3325,\n+            "key.parsed_declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>?",\n+            "key.parsed_scope.end" : 115,\n+            "key.parsed_scope.start" : 113,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (String) -> CommandWrapper<ClientError>?",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGSgSScD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 4074,\n+        "key.bodyoffset" : 3446,\n+        "key.doc.column" : 20,\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4102,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 3429,\n+        "key.offset" : 3419,\n+        "key.parsed_declaration" : "extension CommandRegistry",\n+        "key.parsed_scope.end" : 241,\n+        "key.parsed_scope.start" : 118,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 4246\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 4332,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing CommandLine.arguments\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"136\\" column=\\"14\\"><Name>main(defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF<\\/USR><Declaration>public func main(defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing CommandLine.arguments and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 136,\n+            "key.doc.name" : "main(defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 797,\n+            "key.docoffset" : 3448,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 177,\n+            "key.name" : "main(defaultVerb:errorHandler:)",\n+            "key.namelength" : 62,\n+            "key.nameoffset" : 4258,\n+            "key.offset" : 4253,\n+            "key.parsed_declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 138,\n+            "key.parsed_scope.start" : 136,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF\\">main(arguments:defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s11defaultVerb12errorHandlers5NeverOSS_yxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(arguments: [<Type usr=\\"s:SS\\">String<\\/Type>], defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5221\n+              }\n+            ],\n+            "key.bodylength" : 945,\n+            "key.bodyoffset" : 5328,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing `arguments`\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"157\\" column=\\"14\\"><Name>main(arguments:defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF<\\/USR><Declaration>public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing <codeVoice>arguments<\\/codeVoice> and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 787,\n+            "key.docoffset" : 4433,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1046,\n+            "key.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.namelength" : 83,\n+            "key.nameoffset" : 5233,\n+            "key.offset" : 5228,\n+            "key.parsed_declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF\\">main(defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>var arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 25,\n+                "key.name" : "arguments",\n+                "key.namelength" : 9,\n+                "key.nameoffset" : 5367,\n+                "key.offset" : 5363,\n+                "key.parsed_declaration" : "var arguments = arguments",\n+                "key.parsed_scope.end" : 160,\n+                "key.parsed_scope.start" : 160,\n+                "key.typename" : "[String]",\n+                "key.typeusr" : "$sSaySSGD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtFAEL0_AJvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let executableName: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>executableName<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 44,\n+                "key.name" : "executableName",\n+                "key.namelength" : 14,\n+                "key.nameoffset" : 5430,\n+                "key.offset" : 5426,\n+                "key.parsed_declaration" : "let executableName = arguments.remove(at: 0)",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF14executableNameL_SSvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 22,\n+                "key.name" : "verb",\n+                "key.namelength" : 4,\n+                "key.nameoffset" : 5536,\n+                "key.offset" : 5532,\n+                "key.parsed_declaration" : "var verb = defaultVerb",\n+                "key.parsed_scope.end" : 166,\n+                "key.parsed_scope.start" : 166,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF4verbL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> ([String], String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private func executeSubcommandIfExists(_ executableName: <Type usr=\\"s:SS\\">String<\\/Type>, verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 6474\n+              }\n+            ],\n+            "key.bodylength" : 933,\n+            "key.bodyoffset" : 6585,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Finds and executes a subcommand which exists in your $PATH. The executable\\nname must be in the form of `executable-verb`.\\n\\n- Returns: The exit status of found subcommand or nil.",\n+            "key.doc.declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"202\\" column=\\"15\\"><Name>executeSubcommandIfExists(_:verb:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF<\\/USR><Declaration>private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -&gt; Int32?<\\/Declaration><CommentParts><Abstract><Para>Finds and executes a subcommand which exists in your $PATH. The executable name must be in the form of <codeVoice>executable-verb<\\/codeVoice>.<\\/Para><\\/Abstract><ResultDiscussion><Para>The exit status of found subcommand or nil.<\\/Para><\\/ResultDiscussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The exit status of found subcommand or nil."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 196,\n+            "key.docoffset" : 6277,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>executeSubcommandIfExists<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>executableName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1037,\n+            "key.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.namelength" : 86,\n+            "key.nameoffset" : 6487,\n+            "key.offset" : 6482,\n+            "key.parsed_declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.parsed_scope.end" : 240,\n+            "key.parsed_scope.start" : 202,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let subcommand: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>subcommand<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 80,\n+                "key.name" : "subcommand",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 6592,\n+                "key.offset" : 6588,\n+                "key.parsed_declaration" : "let subcommand = \\"\\\\(NSString(string: executableName).lastPathComponent)-\\\\(verb)\\"",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10subcommandL_SSvp"\n+              },\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.private",\n+                "key.annotated_decl" : "<Declaration>func launchTask(_ path: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type><\\/Declaration>",\n+                "key.bodylength" : 603,\n+                "key.bodyoffset" : 6735,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>launchTask<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>path<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.free>",\n+                "key.kind" : "source.lang.swift.decl.function.free",\n+                "key.length" : 667,\n+                "key.name" : "launchTask(_:arguments:)",\n+                "key.namelength" : 47,\n+                "key.nameoffset" : 6677,\n+                "key.offset" : 6672,\n+                "key.parsed_declaration" : "func launchTask(_ path: String, arguments: [String]) -> Int32",\n+                "key.parsed_scope.end" : 233,\n+                "key.parsed_scope.start" : 205,\n+                "key.substructure" : [\n+                  {\n+                    "key.annotated_decl" : "<Declaration>let task: <Type usr=\\"c:objc(cs)NSTask\\">Process<\\/Type><\\/Declaration>",\n+                    "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                    "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>task<\\/decl.name>: <decl.var.type><ref.class usr=\\"c:objc(cs)NSTask\\">Process<\\/ref.class><\\/decl.var.type><\\/decl.var.local>",\n+                    "key.kind" : "source.lang.swift.decl.var.local",\n+                    "key.length" : 20,\n+                    "key.name" : "task",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 6743,\n+                    "key.offset" : 6739,\n+                    "key.parsed_declaration" : "let task = Process()",\n+                    "key.parsed_scope.end" : 206,\n+                    "key.parsed_scope.start" : 206,\n+                    "key.typename" : "Process",\n+                    "key.typeusr" : "$sSo6NSTaskCD",\n+                    "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF4taskL_So6NSTaskCvp"\n+                  }\n+                ],\n+                "key.typename" : "<ClientError where ClientError : Error> (String, arguments: [String]) -> Int32",\n+                "key.typeusr" : "$s_9argumentss5Int32VSS_SaySSGtcs5ErrorRzluD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, String, [String]) -> Int32?",\n+            "key.typeusr" : "$s_4verb9argumentss5Int32VSgSS_SSSaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Errors.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 5739,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 323\n+          }\n+        ],\n+        "key.bodylength" : 157,\n+        "key.bodyoffset" : 372,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Possible errors that can originate from Commandant.\\n\\n`ClientError` should be the type of error (if any) that can occur when\\nrunning commands.",\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 157,\n+        "key.docoffset" : 166,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 5,\n+            "key.offset" : 365\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Error"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 200,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 335,\n+        "key.offset" : 330,\n+        "key.parsed_declaration" : "public enum CommandantError<ClientError>: Error",\n+        "key.parsed_scope.end" : 21,\n+        "key.parsed_scope.start" : 15,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 351,\n+            "key.offset" : 351,\n+            "key.parsed_declaration" : "public enum CommandantError<ClientError",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant0A5ErrorO06ClientB0xmfp"\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 36,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 411,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usageError(description: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An option was used incorrectly.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"17\\" column=\\"7\\"><Name>usageError(description:)<\\/Name><USR>s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An option was used incorrectly.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 17,\n+                "key.doc.name" : "usageError(description:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 36,\n+                "key.docoffset" : 374,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usageError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>description<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 31,\n+                "key.name" : "usageError(description:)",\n+                "key.namelength" : 31,\n+                "key.nameoffset" : 416,\n+                "key.offset" : 416,\n+                "key.parsed_declaration" : "case usageError(description: String)",\n+                "key.parsed_scope.end" : 17,\n+                "key.parsed_scope.start" : 17,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (String) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSS_tcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 498,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case commandError(<Type usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An error occurred while running a command.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"20\\" column=\\"7\\"><Name>commandError(_:)<\\/Name><USR>s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An error occurred while running a command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 20,\n+                "key.doc.name" : "commandError(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 47,\n+                "key.docoffset" : 450,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>commandError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "commandError(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 503,\n+                "key.offset" : 503,\n+                "key.parsed_declaration" : "case commandError(ClientError)",\n+                "key.parsed_scope.end" : 20,\n+                "key.parsed_scope.start" : 20,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (ClientError) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGxcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 187,\n+        "key.bodyoffset" : 584,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 559\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 240,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 542,\n+        "key.offset" : 532,\n+        "key.parsed_declaration" : "extension CommandantError: CustomStringConvertible",\n+        "key.parsed_scope.end" : 33,\n+        "key.parsed_scope.start" : 23,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 586\n+              }\n+            ],\n+            "key.bodylength" : 151,\n+            "key.bodyoffset" : 618,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 177,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 597,\n+            "key.offset" : 593,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 887\n+          }\n+        ],\n+        "key.bodylength" : 105,\n+        "key.bodyoffset" : 992,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an `InvalidArgument` error that indicates a missing value for\\nthe argument by the given name.",\n+        "key.doc.declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"37\\" column=\\"15\\"><Name>missingArgumentError(_:)<\\/Name><USR>s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF<\\/USR><Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an <codeVoice>InvalidArgument<\\/codeVoice> error that indicates a missing value for the argument by the given name.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "missingArgumentError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 113,\n+        "key.docoffset" : 774,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>missingArgumentError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argumentName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 202,\n+        "key.name" : "missingArgumentError(_:)",\n+        "key.namelength" : 57,\n+        "key.nameoffset" : 901,\n+        "key.offset" : 896,\n+        "key.parsed_declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 40,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 922,\n+            "key.offset" : 922,\n+            "key.parsed_declaration" : "internal func missingArgumentError<ClientError",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 56,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 998,\n+            "key.offset" : 994,\n+            "key.parsed_declaration" : "let description = \\"Missing argument for \\\\(argumentName)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF11descriptionL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSScluD",\n+        "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1215\n+          }\n+        ],\n+        "key.bodylength" : 179,\n+        "key.bodyoffset" : 1339,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error by combining the example of key (and value, if applicable)\\nwith the usage description.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"44\\" column=\\"15\\"><Name>informativeUsageError(_:usage:)<\\/Name><USR>s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: String, usage: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error by combining the example of key (and value, if applicable) with the usage description.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 44,\n+        "key.doc.name" : "informativeUsageError(_:usage:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 115,\n+        "key.docoffset" : 1100,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 295,\n+        "key.name" : "informativeUsageError(_:usage:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 1229,\n+        "key.offset" : 1224,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 50,\n+        "key.parsed_scope.start" : 44,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1251,\n+            "key.offset" : 1251,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 44,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let lines: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>lines<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 52,\n+            "key.name" : "lines",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 1345,\n+            "key.offset" : 1341,\n+            "key.parsed_declaration" : "let lines = usage.components(separatedBy: .newlines)",\n+            "key.parsed_scope.end" : 45,\n+            "key.parsed_scope.start" : 45,\n+            "key.typename" : "[String]",\n+            "key.typeusr" : "$sSaySSGD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF5linesL_SaySSGvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String, usage: String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_5usage10Commandant0B5ErrorOyxGSS_SStcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;, _ rhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1660\n+          }\n+        ],\n+        "key.bodylength" : 265,\n+        "key.bodyoffset" : 1813,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Combines the text of the two errors, if they\'re both `UsageError`s.\\nOtherwise, uses whichever one is not (biased toward the left).",\n+        "key.doc.declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"54\\" column=\\"15\\"><Name>combineUsageErrors(_:_:)<\\/Name><USR>s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF<\\/USR><Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: CommandantError&lt;ClientError&gt;, _ rhs: CommandantError&lt;ClientError&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Combines the text of the two errors, if they’re both <codeVoice>UsageError<\\/codeVoice>s. Otherwise, uses whichever one is not (biased toward the left).<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 54,\n+        "key.doc.name" : "combineUsageErrors(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 139,\n+        "key.docoffset" : 1521,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>combineUsageErrors<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>lhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>rhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 410,\n+        "key.name" : "combineUsageErrors(_:_:)",\n+        "key.namelength" : 105,\n+        "key.nameoffset" : 1674,\n+        "key.offset" : 1669,\n+        "key.parsed_declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 66,\n+        "key.parsed_scope.start" : 54,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1693,\n+            "key.offset" : 1693,\n+            "key.parsed_declaration" : "internal func combineUsageErrors<ClientError",\n+            "key.parsed_scope.end" : 54,\n+            "key.parsed_scope.start" : 54,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (CommandantError<ClientError>, CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAD_ADtcluD",\n+        "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2152\n+          }\n+        ],\n+        "key.bodylength" : 96,\n+        "key.bodyoffset" : 2260,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that indicates unrecognized arguments remains.",\n+        "key.doc.declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"69\\" column=\\"15\\"><Name>unrecognizedArgumentsError(_:)<\\/Name><USR>s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF<\\/USR><Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [String]) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that indicates unrecognized arguments remains.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 69,\n+        "key.doc.name" : "unrecognizedArgumentsError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 71,\n+        "key.docoffset" : 2081,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>unrecognizedArgumentsError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 196,\n+        "key.name" : "unrecognizedArgumentsError(_:)",\n+        "key.namelength" : 60,\n+        "key.nameoffset" : 2166,\n+        "key.offset" : 2161,\n+        "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 71,\n+        "key.parsed_scope.start" : 69,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2193,\n+            "key.offset" : 2193,\n+            "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError",\n+            "key.parsed_scope.end" : 69,\n+            "key.parsed_scope.start" : 69,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> ([String]) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSaySSGcluD",\n+        "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 14,\n+        "key.name" : "MARK: Argument",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2362\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: <Type usr=\\"s:SS\\">String<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2499\n+          }\n+        ],\n+        "key.bodylength" : 192,\n+        "key.bodyoffset" : 2631,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument, with the given\\nexample of value usage if applicable.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"77\\" column=\\"15\\"><Name>informativeUsageError(_:argument:)<\\/Name><USR>s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: String, argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument, with the given example of value usage if applicable.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 77,\n+        "key.doc.name" : "informativeUsageError(_:argument:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 121,\n+        "key.docoffset" : 2378,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>valueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>argument<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 316,\n+        "key.name" : "informativeUsageError(_:argument:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 2513,\n+        "key.offset" : 2508,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 83,\n+        "key.parsed_scope.start" : 77,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2535,\n+            "key.offset" : 2535,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2538,\n+            "key.offset" : 2538,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_8argument10Commandant0B5ErrorOyq_GSS_AB8ArgumentVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2890\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3018,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"86\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 86,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 64,\n+        "key.docoffset" : 2826,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 498,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 80,\n+        "key.nameoffset" : 2904,\n+        "key.offset" : 2899,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 103,\n+        "key.parsed_scope.start" : 86,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2926,\n+            "key.offset" : 2926,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2947,\n+            "key.offset" : 2947,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3024,\n+            "key.offset" : 3020,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 87,\n+            "key.parsed_scope.start" : 87,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3043,\n+            "key.offset" : 3039,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 89,\n+            "key.parsed_scope.start" : 89,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVyxGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 3468\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3598,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument list.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"106\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument list.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 106,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 69,\n+        "key.docoffset" : 3399,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 500,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 82,\n+        "key.nameoffset" : 3482,\n+        "key.offset" : 3477,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 123,\n+        "key.parsed_scope.start" : 106,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 3507\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 3504,\n+            "key.offset" : 3504,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 3525,\n+            "key.offset" : 3525,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3604,\n+            "key.offset" : 3600,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 107,\n+            "key.parsed_scope.start" : 107,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3623,\n+            "key.offset" : 3619,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 109,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVySayxGGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 12,\n+        "key.name" : "MARK: Option",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 3982\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4126\n+          }\n+        ],\n+        "key.bodylength" : 76,\n+        "key.bodyoffset" : 4257,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option, with the given\\nexample of key (and value, if applicable) usage.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"129\\" column=\\"15\\"><Name>informativeUsageError(_:option:)<\\/Name><USR>s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: String, option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option, with the given example of key (and value, if applicable) usage.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 129,\n+        "key.doc.name" : "informativeUsageError(_:option:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 130,\n+        "key.docoffset" : 3996,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>option<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 199,\n+        "key.name" : "informativeUsageError(_:option:)",\n+        "key.namelength" : 83,\n+        "key.nameoffset" : 4140,\n+        "key.offset" : 4135,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 131,\n+        "key.parsed_scope.start" : 129,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4162,\n+            "key.offset" : 4162,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4165,\n+            "key.offset" : 4165,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_6option10Commandant0B5ErrorOyq_GSS_AB6OptionVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4398\n+          }\n+        ],\n+        "key.bodylength" : 89,\n+        "key.bodyoffset" : 4522,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"134\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 134,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4336,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 205,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 4412,\n+        "key.offset" : 4407,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 136,\n+        "key.parsed_scope.start" : 134,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4437\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4434,\n+            "key.offset" : 4434,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4455,\n+            "key.offset" : 4455,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4676\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 4801,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"139\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 139,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4614,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 195,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 77,\n+        "key.nameoffset" : 4690,\n+        "key.offset" : 4685,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 141,\n+        "key.parsed_scope.start" : 139,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4715\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4712,\n+            "key.offset" : 4712,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4733,\n+            "key.offset" : 4733,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4944\n+          }\n+        ],\n+        "key.bodylength" : 91,\n+        "key.bodyoffset" : 5070,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"144\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 144,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4882,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 209,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 78,\n+        "key.nameoffset" : 4958,\n+        "key.offset" : 4953,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 146,\n+        "key.parsed_scope.start" : 144,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4983\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4980,\n+            "key.offset" : 4980,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5001,\n+            "key.offset" : 5001,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5226\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 5353,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"149\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 149,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 5164,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 197,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 79,\n+        "key.nameoffset" : 5240,\n+        "key.offset" : 5235,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 151,\n+        "key.parsed_scope.start" : 149,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 5265\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 5262,\n+            "key.offset" : 5262,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5283,\n+            "key.offset" : 5283,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5510\n+          }\n+        ],\n+        "key.bodylength" : 121,\n+        "key.bodyoffset" : 5616,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the given boolean option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"154\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the given boolean option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 154,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 76,\n+        "key.docoffset" : 5434,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 219,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 58,\n+        "key.nameoffset" : 5524,\n+        "key.offset" : 5519,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 157,\n+        "key.parsed_scope.start" : 154,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5546,\n+            "key.offset" : 5546,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 154,\n+            "key.parsed_scope.start" : 154,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 20,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 5622,\n+            "key.offset" : 5618,\n+            "key.parsed_declaration" : "let key = option.key",\n+            "key.parsed_scope.end" : 155,\n+            "key.parsed_scope.start" : 155,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF3keyL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (Option<Bool>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAA6OptionVySbGcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/HelpCommand.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2203,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpCommand&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 537\n+          }\n+        ],\n+        "key.bodylength" : 1127,\n+        "key.bodyoffset" : 601,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A basic implementation of a `help` command, using information available in a\\n`CommandRegistry`.\\n\\nIf you want to use this command, initialize it with the registry, then add\\nit to that same registry:\\n\\n\\tlet commands: CommandRegistry<MyErrorType> = …\\n\\tlet helpCommand = HelpCommand(registry: commands)\\n\\tcommands.register(helpCommand)",\n+        "key.doc.declaration" : "public struct HelpCommand<ClientError> : CommandProtocol where ClientError : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "If you want to use this command, initialize it with the registry, then add it to that same registry:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"20\\" column=\\"15\\"><Name>HelpCommand<\\/Name><USR>s:10Commandant11HelpCommandV<\\/USR><Declaration>public struct HelpCommand&lt;ClientError&gt; : CommandProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A basic implementation of a <codeVoice>help<\\/codeVoice> command, using information available in a <codeVoice>CommandRegistry<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>If you want to use this command, initialize it with the registry, then add it to that same registry:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let commands: CommandRegistry<MyErrorType> = …]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let helpCommand = HelpCommand(registry: commands)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[commands.register(helpCommand)]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 20,\n+        "key.doc.name" : "HelpCommand",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 366,\n+        "key.docoffset" : 171,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 584\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpCommand<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CommandProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1185,\n+        "key.name" : "HelpCommand",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 551,\n+        "key.offset" : 544,\n+        "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error>: CommandProtocol",\n+        "key.parsed_scope.end" : 59,\n+        "key.parsed_scope.start" : 20,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 576\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 563,\n+            "key.offset" : 563,\n+            "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error",\n+            "key.parsed_scope.end" : 20,\n+            "key.parsed_scope.start" : 20,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpCommandV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public typealias <Type usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/Type>&lt;ClientError&gt;.Options = <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 603\n+              }\n+            ],\n+            "key.doc.column" : 17,\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <ref.struct usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/ref.struct>&lt;ClientError&gt;.<decl.name>Options<\\/decl.name> = <ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 44,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 620,\n+            "key.offset" : 610,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public typealias Options = HelpOptions<ClientError>",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "HelpOptions<ClientError>.Type",\n+            "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 657\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 668,\n+            "key.offset" : 664,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let verb = \\"help\\"",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 683\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 694,\n+            "key.offset" : 690,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private let registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 713\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>registry<\\/decl.name>: <decl.var.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 42,\n+            "key.name" : "registry",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 725,\n+            "key.offset" : 721,\n+            "key.parsed_declaration" : "private let registry: CommandRegistry<ClientError>",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry33_38F61CE0DF9D73793CEDF5D1C3140331LLAA0C8RegistryCyxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;, function: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 853\n+              }\n+            ],\n+            "key.bodylength" : 102,\n+            "key.bodyoffset" : 931,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the command to provide help from the given registry of\\ncommands.",\n+            "key.doc.declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"30\\" column=\\"9\\"><Name>init(registry:function:)<\\/Name><USR>s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc<\\/USR><Declaration>public init(registry: CommandRegistry&lt;ClientError&gt;, function: String? = nil)<\\/Declaration><CommentParts><Abstract><Para>Initializes the command to provide help from the given registry of commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 30,\n+            "key.doc.name" : "init(registry:function:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 86,\n+            "key.docoffset" : 766,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>registry<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>function<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(registry:function:)",\n+            "key.namelength" : 69,\n+            "key.nameoffset" : 860,\n+            "key.offset" : 860,\n+            "key.parsed_declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 30,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>.Type) -> (CommandRegistry<ClientError>, String?) -> HelpCommand<ClientError>",\n+            "key.typeusr" : "$s8registry8function10Commandant11HelpCommandVyxGAC0E8RegistryCyxG_SSSgtcD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(_ options: <Type usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1037\n+              }\n+            ],\n+            "key.bodylength" : 625,\n+            "key.bodyoffset" : 1101,\n+            "key.doc.column" : 7,\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.typealias usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 683,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 1049,\n+            "key.offset" : 1044,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 58,\n+            "key.parsed_scope.start" : 35,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let maxVerbLength: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>maxVerbLength<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 75,\n+                "key.name" : "maxVerbLength",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 1422,\n+                "key.offset" : 1418,\n+                "key.parsed_declaration" : "let maxVerbLength = self.registry.commands.map { $0.verb.count }.max() ?? 0",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant11HelpCommandV3runys6ResultOyytxGAA0B7OptionsVyxGF13maxVerbLengthL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>) -> (HelpOptions<ClientError>) -> Result<(), ClientError>",\n+            "key.typeusr" : "$sys6ResultOyytxG10Commandant11HelpOptionsVyxGcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "HelpCommand<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpCommandVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpCommandV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1731\n+          }\n+        ],\n+        "key.bodylength" : 406,\n+        "key.bodyoffset" : 1795,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1778\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 464,\n+        "key.name" : "HelpOptions",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1745,\n+        "key.offset" : 1738,\n+        "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 76,\n+        "key.parsed_scope.start" : 61,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1770\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1757,\n+            "key.offset" : 1757,\n+            "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 61,\n+            "key.parsed_scope.start" : 61,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate let verb: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1797\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 1813,\n+            "key.offset" : 1809,\n+            "key.parsed_declaration" : "fileprivate let verb: String?",\n+            "key.parsed_scope.end" : 62,\n+            "key.parsed_scope.start" : 62,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verb33_38F61CE0DF9D73793CEDF5D1C3140331LLSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private init(verb: <Type usr=\\"s:SS\\">String<\\/Type>?)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1829\n+              }\n+            ],\n+            "key.bodylength" : 21,\n+            "key.bodyoffset" : 1858,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 43,\n+            "key.name" : "init(verb:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 1837,\n+            "key.offset" : 1837,\n+            "key.parsed_declaration" : "private init(verb: String?)",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 64,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String?) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$s4verb10Commandant11HelpOptionsVyxGSSSg_tcD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verbACyxGSSSg_tc33_38F61CE0DF9D73793CEDF5D1C3140331Llfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private static func create(_ verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1883\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 1942,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>create<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 106,\n+            "key.name" : "create(_:)",\n+            "key.namelength" : 22,\n+            "key.nameoffset" : 1903,\n+            "key.offset" : 1891,\n+            "key.parsed_declaration" : "private static func create(_ verb: String) -> HelpOptions",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 68,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$sy10Commandant11HelpOptionsVyxGSScD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV6create33_38F61CE0DF9D73793CEDF5D1C3140331LLyACyxGSSFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2000\n+              }\n+            ],\n+            "key.bodylength" : 99,\n+            "key.bodyoffset" : 2100,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 193,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 2019,\n+            "key.offset" : 2007,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<HelpOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 72,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (CommandMode) -> Result<HelpOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant11HelpOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "HelpOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpOptionsV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Option.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 9661,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol OptionsProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1388\n+          }\n+        ],\n+        "key.bodylength" : 233,\n+        "key.bodyoffset" : 1421,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a record of options for a command, which can be parsed from\\na list of command-line arguments.\\n\\nThis is most helpful when used in conjunction with the `Option` and `Switch`\\ntypes, and `<*>` and `<|` combinators.\\n\\nExample:\\n\\n\\tstruct LogOptions: OptionsProtocol {\\n\\t\\tlet verbosity: Int\\n\\t\\tlet outputFilename: String\\n\\t\\tlet shouldDelete: Bool\\n\\t\\tlet logName: String\\n\\n\\t\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {\\n\\t\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }\\n\\t\\t}\\n\\n\\t\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {\\n\\t\\t\\treturn create\\n\\t\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")\\n\\t\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")\\n\\t\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")\\n\\t\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")\\n\\t\\t}\\n\\t}",\n+        "key.doc.declaration" : "public protocol OptionsProtocol",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "This is most helpful when used in conjunction with the `Option` and `Switch` types, and `<*>` and `<|` combinators."\n+          },\n+          {\n+            "Para" : "Example:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"37\\" column=\\"17\\"><Name>OptionsProtocol<\\/Name><USR>s:10Commandant15OptionsProtocolP<\\/USR><Declaration>public protocol OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a record of options for a command, which can be parsed from a list of command-line arguments.<\\/Para><\\/Abstract><Discussion><Para>This is most helpful when used in conjunction with the <codeVoice>Option<\\/codeVoice> and <codeVoice>Switch<\\/codeVoice> types, and <codeVoice>&lt;*&gt;<\\/codeVoice> and <codeVoice>&lt;|<\\/codeVoice> combinators.<\\/Para><Para>Example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct LogOptions: OptionsProtocol {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet verbosity: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet outputFilename: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet shouldDelete: Bool]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet logName: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn create]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "OptionsProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 1222,\n+        "key.docoffset" : 166,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>OptionsProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 260,\n+        "key.name" : "OptionsProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 1404,\n+        "key.offset" : 1395,\n+        "key.parsed_declaration" : "public protocol OptionsProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 33,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1438,\n+            "key.offset" : 1423,\n+            "key.parsed_declaration" : "associatedtype ClientError: Error",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15OptionsProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Evaluates this set of options in the given mode.\\n\\nReturns the parsed options or a `UsageError`.",\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 1459,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.associatedtype usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 84,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1581,\n+            "key.offset" : 1569,\n+            "key.parsed_declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 43,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : OptionsProtocol> (Self.Type) -> (CommandMode) -> Result<Self, CommandantError<Self.ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOy06ClientC0QzGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "OptionsProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15OptionsProtocol_pmD",\n+        "key.usr" : "s:10Commandant15OptionsProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct NoOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1703\n+          }\n+        ],\n+        "key.bodylength" : 154,\n+        "key.bodyoffset" : 1765,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "An `OptionsProtocol` that has no options.",\n+        "key.doc.declaration" : "public struct NoOptions<ClientError> : OptionsProtocol where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"47\\" column=\\"15\\"><Name>NoOptions<\\/Name><USR>s:10Commandant9NoOptionsV<\\/USR><Declaration>public struct NoOptions&lt;ClientError&gt; : OptionsProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>An <codeVoice>OptionsProtocol<\\/codeVoice> that has no options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 47,\n+        "key.doc.name" : "NoOptions",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 46,\n+        "key.docoffset" : 1657,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1748\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>NoOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 210,\n+        "key.name" : "NoOptions",\n+        "key.namelength" : 9,\n+        "key.nameoffset" : 1717,\n+        "key.offset" : 1710,\n+        "key.parsed_declaration" : "public struct NoOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 53,\n+        "key.parsed_scope.start" : 47,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1740\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1727,\n+            "key.parsed_declaration" : "public struct NoOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 47,\n+            "key.parsed_scope.start" : 47,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant9NoOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1767\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 1782,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 1774,\n+            "key.offset" : 1774,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 48,\n+            "key.parsed_scope.start" : 48,\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> () -> NoOptions<ClientError>",\n+            "key.typeusr" : "$s10Commandant9NoOptionsVyxGycD",\n+            "key.usr" : "s:10Commandant9NoOptionsVACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1786\n+              }\n+            ],\n+            "key.bodylength" : 33,\n+            "key.bodyoffset" : 1884,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 125,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1805,\n+            "key.offset" : 1793,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<NoOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 52,\n+            "key.parsed_scope.start" : 50,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> (CommandMode) -> Result<NoOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant9NoOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "NoOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant9NoOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant9NoOptionsV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1988\n+          }\n+        ],\n+        "key.bodylength" : 786,\n+        "key.bodyoffset" : 2013,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an option that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 66,\n+        "key.docoffset" : 1922,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 805,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2002,\n+        "key.offset" : 1995,\n+        "key.parsed_declaration" : "public struct Option<T>",\n+        "key.parsed_scope.end" : 78,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2009,\n+            "key.offset" : 2009,\n+            "key.parsed_declaration" : "public struct Option<T",\n+            "key.parsed_scope.end" : 56,\n+            "key.parsed_scope.start" : 56,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant6OptionV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2132\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that controls this option. For example, a key of `verbose` would\\nbe used for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"59\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6OptionV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that controls this option. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 59,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 116,\n+            "key.docoffset" : 2015,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 2143,\n+            "key.offset" : 2139,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 59,\n+            "key.parsed_scope.start" : 59,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2303\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this option. This is the value that will be used\\nif the option is never explicitly specified on the command line.",\n+            "key.doc.declaration" : "public let defaultValue: T",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"63\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant6OptionV12defaultValuexvp<\\/USR><Declaration>public let defaultValue: T<\\/Declaration><CommentParts><Abstract><Para>The default value for this option. This is the value that will be used if the option is never explicitly specified on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 63,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 145,\n+            "key.docoffset" : 2157,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 19,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 2314,\n+            "key.offset" : 2310,\n+            "key.parsed_declaration" : "public let defaultValue: T",\n+            "key.parsed_scope.end" : 63,\n+            "key.parsed_scope.start" : 63,\n+            "key.typename" : "T",\n+            "key.typeusr" : "$sxD",\n+            "key.usr" : "s:10Commandant6OptionV12defaultValuexvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2637\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.\\n\\nFor boolean operations, this should describe the effect of _not_ using\\nthe default value (i.e., what will happen if you disable\\/enable the flag\\ndifferently from the default).",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "For boolean operations, this should describe the effect of  using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"71\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6OptionV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><Discussion><Para>For boolean operations, this should describe the effect of <emphasis>not<\\/emphasis> using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 71,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 304,\n+            "key.docoffset" : 2332,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 2648,\n+            "key.offset" : 2644,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 71,\n+            "key.parsed_scope.start" : 71,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(key: <Type usr=\\"s:SS\\">String<\\/Type>, defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2664\n+              }\n+            ],\n+            "key.bodylength" : 75,\n+            "key.bodyoffset" : 2722,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 127,\n+            "key.name" : "init(key:defaultValue:usage:)",\n+            "key.namelength" : 49,\n+            "key.nameoffset" : 2671,\n+            "key.offset" : 2671,\n+            "key.parsed_declaration" : "public init(key: String, defaultValue: T, usage: String)",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 73,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Option<T>.Type) -> (String, T, String) -> Option<T>",\n+            "key.typeusr" : "$s3key12defaultValue5usage10Commandant6OptionVyxGSS_xSStcD",\n+            "key.usr" : "s:10Commandant6OptionV3key12defaultValue5usageACyxGSS_xSStcfc"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 58,\n+        "key.bodyoffset" : 2845,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 2820\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 102,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2812,\n+        "key.offset" : 2802,\n+        "key.parsed_declaration" : "extension Option: CustomStringConvertible",\n+        "key.parsed_scope.end" : 84,\n+        "key.parsed_scope.start" : 80,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2847\n+              }\n+            ],\n+            "key.bodylength" : 22,\n+            "key.bodyoffset" : 2879,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 48,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2858,\n+            "key.offset" : 2854,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 83,\n+            "key.parsed_scope.start" : 81,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2909\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4404\n+          }\n+        ],\n+        "key.bodylength" : 22,\n+        "key.bodyoffset" : 4545,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"122\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (T) -&gt; U, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 122,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 211,\n+        "key.docoffset" : 4193,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 157,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 4416,\n+        "key.offset" : 4411,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 124,\n+        "key.parsed_scope.start" : 122,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4421,\n+            "key.offset" : 4421,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4424,\n+            "key.offset" : 4424,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4427,\n+            "key.offset" : 4427,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> ((T) -> U, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGq_xXE_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;((<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4797\n+          }\n+        ],\n+        "key.bodylength" : 346,\n+        "key.bodyoffset" : 4978,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies the function in `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"130\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies the function in <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 130,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 227,\n+        "key.docoffset" : 4570,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>(<tuple.element><tuple.element.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/tuple.element.type><\\/tuple.element>)<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 521,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 124,\n+        "key.nameoffset" : 4809,\n+        "key.offset" : 4804,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 145,\n+        "key.parsed_scope.start" : 130,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: (T) -&gt; U, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4814,\n+            "key.offset" : 4814,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4817,\n+            "key.offset" : 4817,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4820,\n+            "key.offset" : 4820,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> (Result<((T) -> U), CommandantError<ClientError>>, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGAByq_xcAFG_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 4309,\n+        "key.bodyoffset" : 5350,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4333,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 5337,\n+        "key.offset" : 5327,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 273,\n+        "key.parsed_scope.start" : 147,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5538\n+              }\n+            ],\n+            "key.bodylength" : 230,\n+            "key.bodyoffset" : 5677,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"152\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 152,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 5352,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 363,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 75,\n+            "key.nameoffset" : 5557,\n+            "key.offset" : 5545,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 157,\n+            "key.parsed_scope.start" : 152,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 5564\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 5561,\n+                "key.offset" : 5561,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 5582,\n+                "key.offset" : 5582,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;T?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;T?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 97,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 5684,\n+                "key.offset" : 5680,\n+                "key.parsed_declaration" : "let wrapped = Option<T?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 153,\n+                "key.parsed_scope.start" : 153,\n+                "key.typename" : "Option<T?>",\n+                "key.typeusr" : "$s10Commandant6OptionVyxSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_ALyxSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC6OptionVyxGtcAC16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 6075\n+              }\n+            ],\n+            "key.bodylength" : 852,\n+            "key.bodyoffset" : 6216,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"163\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 163,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 5911,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 987,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 76,\n+            "key.nameoffset" : 6094,\n+            "key.offset" : 6082,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 163,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 6101\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 6098,\n+                "key.offset" : 6098,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 6119,\n+                "key.offset" : 6119,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 6223,\n+                "key.offset" : 6219,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 164,\n+                "key.parsed_scope.start" : 164,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyxSg10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7258\n+              }\n+            ],\n+            "key.bodylength" : 232,\n+            "key.bodyoffset" : 7401,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"202\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 7072,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 369,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 77,\n+            "key.nameoffset" : 7277,\n+            "key.offset" : 7265,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 207,\n+            "key.parsed_scope.start" : 202,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7284\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7281,\n+                "key.offset" : 7281,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7302,\n+                "key.offset" : 7302,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[T]?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[T]?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 99,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 7408,\n+                "key.offset" : 7404,\n+                "key.parsed_declaration" : "let wrapped = Option<[T]?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "Option<[T]?>",\n+                "key.typeusr" : "$s10Commandant6OptionVySayxGSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_AMyAGSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7801\n+              }\n+            ],\n+            "key.bodylength" : 1117,\n+            "key.bodyoffset" : 7946,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"213\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 213,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 7637,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 1256,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 78,\n+            "key.nameoffset" : 7820,\n+            "key.offset" : 7808,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 254,\n+            "key.parsed_scope.start" : 213,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7827\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7824,\n+                "key.offset" : 7824,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7845,\n+                "key.offset" : 7845,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 7953,\n+                "key.offset" : 7949,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 214,\n+                "key.parsed_scope.start" : 214,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxGSg10Commandant0B5ErrorOyq_GGAE11CommandModeO_AE6OptionVyADGtcAE16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 9261\n+              }\n+            ],\n+            "key.bodylength" : 272,\n+            "key.bodyoffset" : 9385,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"260\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 260,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 9067,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 390,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 57,\n+            "key.nameoffset" : 9280,\n+            "key.offset" : 9268,\n+            "key.parsed_declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 272,\n+            "key.parsed_scope.start" : 260,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 9284,\n+                "key.offset" : 9284,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 260,\n+                "key.parsed_scope.start" : 260,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6OptionVySbGtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/OrderedSet.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 800,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 30\n+          }\n+        ],\n+        "key.bodylength" : 348,\n+        "key.bodyoffset" : 82,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "A poor man\'s ordered set.",\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 30,\n+        "key.docoffset" : 0,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 71\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 392,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 46,\n+        "key.offset" : 39,\n+        "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable>: Equatable",\n+        "key.parsed_scope.end" : 19,\n+        "key.parsed_scope.start" : 2,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 8,\n+                "key.offset" : 60\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Hashable"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 57,\n+            "key.offset" : 57,\n+            "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable",\n+            "key.parsed_scope.end" : 2,\n+            "key.parsed_scope.start" : 2,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant10OrderedSetV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var values: [<Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 84\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>values<\\/decl.name>: <decl.var.type>[<ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "values",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 100,\n+            "key.offset" : 96,\n+            "key.parsed_declaration" : "fileprivate var values: [T] = []",\n+            "key.parsed_scope.end" : 3,\n+            "key.parsed_scope.start" : 3,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.typename" : "[T]",\n+            "key.typeusr" : "$sSayxGD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6values33_E700A43BE27995F7283A44882E2B4A42LLSayxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>init&lt;S&gt;(_ sequence: <Type usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/Type>) where T == S.Element, S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 74,\n+            "key.bodyoffset" : 174,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\"><decl.generic_type_param.name>S<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>sequence<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T == S.Element<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>S : <ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 130,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 119,\n+            "key.offset" : 119,\n+            "key.parsed_declaration" : "init<S: Sequence>(_ sequence: S) where S.Element == T",\n+            "key.parsed_scope.end" : 9,\n+            "key.parsed_scope.start" : 5,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 8,\n+                    "key.offset" : 127\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>S<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "Sequence"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "S",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 124,\n+                "key.offset" : 124,\n+                "key.parsed_declaration" : "init<S: Sequence",\n+                "key.parsed_scope.end" : 5,\n+                "key.parsed_scope.start" : 5,\n+                "key.typename" : "S.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, S where T : Hashable, T == S.Element, S : Sequence> (OrderedSet<T>.Type) -> (S) -> OrderedSet<T>",\n+            "key.typeusr" : "$sy10Commandant10OrderedSetVyxGqd__c7ElementQyd__RszSTRd__luD",\n+            "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>@discardableResult mutating func remove(_ member: <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.mutating",\n+                "key.length" : 8,\n+                "key.offset" : 272\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 252\n+              }\n+            ],\n+            "key.bodylength" : 115,\n+            "key.bodyoffset" : 313,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>mutating<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>remove<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>member<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 148,\n+            "key.name" : "remove(_:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 286,\n+            "key.offset" : 281,\n+            "key.parsed_declaration" : "mutating func remove(_ member: T) -> T?",\n+            "key.parsed_scope.end" : 18,\n+            "key.parsed_scope.start" : 12,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (inout OrderedSet<T>) -> (T) -> T?",\n+            "key.typeusr" : "$syxSgxcD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6removeyxSgxF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 331,\n+        "key.bodyoffset" : 467,\n+        "key.doc.column" : 17,\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 10,\n+            "key.offset" : 455\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Collection"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 366,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 443,\n+        "key.offset" : 433,\n+        "key.parsed_declaration" : "extension OrderedSet: Collection",\n+        "key.parsed_scope.end" : 45,\n+        "key.parsed_scope.start" : 21,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>subscript(position: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 28,\n+            "key.bodyoffset" : 500,\n+            "key.doc.declaration" : "subscript(position: Self.Index) -> Self.Element { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The following example accesses an element of an array through its subscript to print its value:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>subscript(_:)<\\/Name><USR>s:Sly7ElementQz5IndexQzcip<\\/USR><Declaration>subscript(position: Self.Index) -&gt; Self.Element { get }<\\/Declaration><CommentParts><Abstract><Para>Accesses the element at the specified position.<\\/Para><\\/Abstract><Parameters><Parameter><Name>position<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The position of the element to access. <codeVoice>position<\\/codeVoice> must be a valid index of the collection that is not equal to the <codeVoice>endIndex<\\/codeVoice> property.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><Discussion><Para>The following example accesses an element of an array through its subscript to print its value:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var streets = [\\"Adams\\", \\"Bryant\\", \\"Channing\\", \\"Douglas\\", \\"Evarts\\"]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(streets[1])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Bryant\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element.<\\/Para><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The position of the element to access. `position` must be a valid index of the collection that is not equal to the `endIndex` property."\n+                  }\n+                ],\n+                "name" : "position"\n+              }\n+            ],\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>position<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 60,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 24,\n+            "key.nameoffset" : 469,\n+            "key.offset" : 469,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+              }\n+            ],\n+            "key.parsed_declaration" : "subscript(position: Int) -> T",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 22,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (Int) -> T",\n+            "key.typeusr" : "$syxSicD",\n+            "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var count: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 24,\n+            "key.bodyoffset" : 548,\n+            "key.doc.declaration" : "var count: Int { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "To check whether a collection is empty, use its `isEmpty` property instead of comparing `count` to zero. Unless the collection guarantees random-access performance, calculating `count` can be an O() operation."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>count<\\/Name><USR>s:Sl5countSivp<\\/USR><Declaration>var count: Int { get }<\\/Declaration><CommentParts><Abstract><Para>The number of elements in the collection.<\\/Para><\\/Abstract><Discussion><Para>To check whether a collection is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing <codeVoice>count<\\/codeVoice> to zero. Unless the collection guarantees random-access performance, calculating <codeVoice>count<\\/codeVoice> can be an O(<emphasis>n<\\/emphasis>) operation.<\\/Para><Complexity><Para>O(1) if the collection conforms to <codeVoice>RandomAccessCollection<\\/codeVoice>; otherwise, O(<emphasis>n<\\/emphasis>), where <emphasis>n<\\/emphasis> is the length of the collection.<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "count",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>count<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 41,\n+            "key.name" : "count",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 532,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5countSivp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var count: Int",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl5countSivp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var isEmpty: <Type usr=\\"s:Sb\\">Bool<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 26,\n+            "key.bodyoffset" : 595,\n+            "key.doc.declaration" : "var isEmpty: Bool { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need to check whether your collection is empty, use the `isEmpty` property instead of checking that the `count` property is equal to zero. For collections that don’t conform to `RandomAccessCollection`, accessing the `count` property iterates through the elements of the collection."\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>isEmpty<\\/Name><USR>s:Sl7isEmptySbvp<\\/USR><Declaration>var isEmpty: Bool { get }<\\/Declaration><CommentParts><Abstract><Para>A Boolean value indicating whether the collection is empty.<\\/Para><\\/Abstract><Discussion><Para>When you need to check whether your collection is empty, use the <codeVoice>isEmpty<\\/codeVoice> property instead of checking that the <codeVoice>count<\\/codeVoice> property is equal to zero. For collections that don’t conform to <codeVoice>RandomAccessCollection<\\/codeVoice>, accessing the <codeVoice>count<\\/codeVoice> property iterates through the elements of the collection.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let horseName = \\"Silver\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if horseName.isEmpty {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"I\'ve been through the desert on a horse with no name.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"Hi ho, \\\\(horseName)!\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Hi ho, Silver!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "isEmpty",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>isEmpty<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "isEmpty",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 580,\n+            "key.offset" : 576,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl7isEmptySbvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var isEmpty: Bool",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 30,\n+            "key.typename" : "Bool",\n+            "key.typeusr" : "$sSbD",\n+            "key.usr" : "s:Sl7isEmptySbvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var startIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 29,\n+            "key.bodyoffset" : 646,\n+            "key.doc.declaration" : "var startIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the collection is empty, `startIndex` is equal to `endIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>startIndex<\\/Name><USR>s:Sl10startIndex0B0Qzvp<\\/USR><Declaration>var startIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The position of the first element in a nonempty collection.<\\/Para><\\/Abstract><Discussion><Para>If the collection is empty, <codeVoice>startIndex<\\/codeVoice> is equal to <codeVoice>endIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "startIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>startIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 51,\n+            "key.name" : "startIndex",\n+            "key.namelength" : 10,\n+            "key.nameoffset" : 629,\n+            "key.offset" : 625,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var startIndex: Int",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var endIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 27,\n+            "key.bodyoffset" : 698,\n+            "key.doc.declaration" : "var endIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need a range that includes the last element of a collection, use the half-open range operator (`..<`) with `endIndex`. The `..<` operator creates a range that doesn’t include the upper bound, so it’s always safe to use with `endIndex`. For example:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "If the collection is empty, `endIndex` is equal to `startIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>endIndex<\\/Name><USR>s:Sl8endIndex0B0Qzvp<\\/USR><Declaration>var endIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The collection’s “past the end” position—that is, the position one greater than the last valid subscript argument.<\\/Para><\\/Abstract><Discussion><Para>When you need a range that includes the last element of a collection, use the half-open range operator (<codeVoice>..&lt;<\\/codeVoice>) with <codeVoice>endIndex<\\/codeVoice>. The <codeVoice>..&lt;<\\/codeVoice> operator creates a range that doesn’t include the upper bound, so it’s always safe to use with <codeVoice>endIndex<\\/codeVoice>. For example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let numbers = [10, 20, 30, 40, 50]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if let index = numbers.firstIndex(of: 30) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(numbers[index ..< numbers.endIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[30, 40, 50]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If the collection is empty, <codeVoice>endIndex<\\/codeVoice> is equal to <codeVoice>startIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "endIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>endIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 47,\n+            "key.name" : "endIndex",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 683,\n+            "key.offset" : 679,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var endIndex: Int",\n+            "key.parsed_scope.end" : 40,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>func index(after i: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 34,\n+            "key.bodyoffset" : 762,\n+            "key.doc.declaration" : "func index(after i: Self.Index) -> Self.Index",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The successor of an index must be well defined. For an index `i` into a collection `c`, calling `c.index(after: i)` returns the same index every time."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Function><Name>index(after:)<\\/Name><USR>s:Sl5index5after5IndexQzAD_tF<\\/USR><Declaration>func index(after i: Self.Index) -&gt; Self.Index<\\/Declaration><CommentParts><Abstract><Para>Returns the position immediately after the given index.<\\/Para><\\/Abstract><Parameters><Parameter><Name>i<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>A valid index of the collection. <codeVoice>i<\\/codeVoice> must be less than <codeVoice>endIndex<\\/codeVoice>.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><ResultDiscussion><Para>The index value immediately after <codeVoice>i<\\/codeVoice>.<\\/Para><\\/ResultDiscussion><Discussion><Para>The successor of an index must be well defined. For an index <codeVoice>i<\\/codeVoice> into a collection <codeVoice>c<\\/codeVoice>, calling <codeVoice>c.index(after: i)<\\/codeVoice> returns the same index every time.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.name" : "index(after:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "A valid index of the collection. `i` must be less than `endIndex`."\n+                  }\n+                ],\n+                "name" : "i"\n+              }\n+            ],\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The index value immediately after `i`."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>after<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>i<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 68,\n+            "key.name" : "index(after:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 734,\n+            "key.offset" : 729,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "func index(after i: Int) -> Int",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 42,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (OrderedSet<T>) -> (Int) -> Int",\n+            "key.typeusr" : "$s5afterS2i_tcD",\n+            "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Result+Additions.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 421,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 148\n+          }\n+        ],\n+        "key.bodylength" : 244,\n+        "key.bodyoffset" : 175,\n+        "key.doc.declaration" : "@frozen enum Result<Success, Failure> where Failure : Error",\n+        "key.doc.full_as_xml" : "<Other><Name>Result<\\/Name><USR>s:s6ResultO<\\/USR><Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : Error<\\/Declaration><CommentParts><Abstract><Para>A value that represents either a success or a failure, including an associated value in each case.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.name" : "Result",\n+        "key.doc.type" : "Other",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>Result<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:s6ResultO7Successxmfp\\"><decl.generic_type_param.name>Success<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:s6ResultO7Failureq_mfp\\"><decl.generic_type_param.name>Failure<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>Failure : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.enum>",\n+        "key.groupname" : "Result",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Result",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 167,\n+        "key.offset" : 157,\n+        "key.parsed_declaration" : "internal extension Result",\n+        "key.parsed_scope.end" : 27,\n+        "key.parsed_scope.start" : 9,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var value: <Type usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 198,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "value",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 181,\n+            "key.offset" : 177,\n+            "key.parsed_declaration" : "var value: Success?",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "Success?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5valuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var error: <Type usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 320,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>error<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "error",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 303,\n+            "key.offset" : 299,\n+            "key.parsed_declaration" : "var error: Failure?",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "Failure?",\n+            "key.typeusr" : "$sq_SgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5errorq_Sgvp"\n+          }\n+        ],\n+        "key.typename" : "Result<Success, Failure>.Type",\n+        "key.typeusr" : "$ss6ResultOyxq_GmD",\n+        "key.usr" : "s:s6ResultO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Switch.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2007,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 375\n+          }\n+        ],\n+        "key.bodylength" : 724,\n+        "key.bodyoffset" : 397,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes a parameterless command line flag that defaults to false and can only\\nbe switched on. Canonical examples include `--force` and `--recurse`.\\n\\nFor a boolean toggle that can be enabled and disabled use `Option<Bool>`.",\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 240,\n+        "key.docoffset" : 135,\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 740,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 389,\n+        "key.offset" : 382,\n+        "key.parsed_declaration" : "public struct Switch",\n+        "key.parsed_scope.end" : 34,\n+        "key.parsed_scope.start" : 13,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 515\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that enables this switch. For example, a key of `verbose` would be\\nused for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"16\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6SwitchV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that enables this switch. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 16,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 115,\n+            "key.docoffset" : 399,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 526,\n+            "key.offset" : 522,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 16,\n+            "key.parsed_scope.start" : 16,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let flag: <Type usr=\\"s:SJ\\">Character<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "Optional single letter flag that enables this switch. For example, `-v` would\\nbe used as a shorthand for `--verbose`.\\n\\nMultiple flags can be grouped together as a single argument and will split\\nwhen parsing (e.g. `rm -rf` treats \'r\' and \'f\' as inidividual flags).",\n+            "key.doc.declaration" : "public let flag: Character?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Multiple flags can be grouped together as a single argument and will split when parsing (e.g. `rm -rf` treats ‘r’ and ‘f’ as inidividual flags)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"23\\" column=\\"13\\"><Name>flag<\\/Name><USR>s:10Commandant6SwitchV4flagSJSgvp<\\/USR><Declaration>public let flag: Character?<\\/Declaration><CommentParts><Abstract><Para>Optional single letter flag that enables this switch. For example, <codeVoice>-v<\\/codeVoice> would be used as a shorthand for <codeVoice>--verbose<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>Multiple flags can be grouped together as a single argument and will split when parsing (e.g. <codeVoice>rm -rf<\\/codeVoice> treats ‘r’ and ‘f’ as inidividual flags).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 23,\n+            "key.doc.name" : "flag",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 287,\n+            "key.docoffset" : 540,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "flag",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 839,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public let flag: Character?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "Character?",\n+            "key.typeusr" : "$sSJSgD",\n+            "key.usr" : "s:10Commandant6SwitchV4flagSJSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 968\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"27\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6SwitchV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 27,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 858,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 979,\n+            "key.offset" : 975,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>? = nil, key: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 995\n+              }\n+            ],\n+            "key.bodylength" : 59,\n+            "key.bodyoffset" : 1060,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 118,\n+            "key.name" : "init(flag:key:usage:)",\n+            "key.namelength" : 56,\n+            "key.nameoffset" : 1002,\n+            "key.offset" : 1002,\n+            "key.parsed_declaration" : "public init(flag: Character? = nil, key: String, usage: String)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Switch.Type) -> (Character?, String, String) -> Switch",\n+            "key.typeusr" : "$s4flag3key5usage10Commandant6SwitchVSJSg_S2StcD",\n+            "key.usr" : "s:10Commandant6SwitchV4flag3key5usageACSJSg_S2Stcfc"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.bodylength" : 140,\n+        "key.bodyoffset" : 1167,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 1142\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 184,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 1134,\n+        "key.offset" : 1124,\n+        "key.parsed_declaration" : "extension Switch: CustomStringConvertible",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 36,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1169\n+              }\n+            ],\n+            "key.bodylength" : 104,\n+            "key.bodyoffset" : 1201,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 130,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1180,\n+            "key.offset" : 1176,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var options: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 24,\n+            "key.name" : "options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 1208,\n+            "key.offset" : 1204,\n+            "key.parsed_declaration" : "var options = \\"--\\\\(key)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV11descriptionSSvg7optionsL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1313\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 650,\n+        "key.bodyoffset" : 1355,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 674,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1342,\n+        "key.offset" : 1332,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 67,\n+        "key.parsed_scope.start" : 48,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6SwitchV\\">Switch<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1551\n+              }\n+            ],\n+            "key.bodylength" : 333,\n+            "key.bodyoffset" : 1670,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean switch in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"53\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean switch in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 53,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 1357,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6SwitchV\\">Switch<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 446,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 52,\n+            "key.nameoffset" : 1570,\n+            "key.offset" : 1558,\n+            "key.parsed_declaration" : "public static func <| <ClientError> (mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 53,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1574,\n+                "key.offset" : 1574,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 53,\n+                "key.parsed_scope.start" : 53,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6SwitchVtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}]\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/CommandantSPM@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/CommandantSPM@swift-5.3.json\nnew file mode 100644\nindex 0000000..44c2f74\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/CommandantSPM@swift-5.3.json\n@@ -0,0 +1,7961 @@\n+[{\n+  "Sources\\/Commandant\\/Argument.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 3858,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 204\n+          }\n+        ],\n+        "key.bodylength" : 1029,\n+        "key.bodyoffset" : 231,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an argument that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 68,\n+        "key.docoffset" : 136,\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1050,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 218,\n+        "key.offset" : 211,\n+        "key.parsed_declaration" : "public struct Argument<T>",\n+        "key.parsed_scope.end" : 36,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 227,\n+            "key.offset" : 227,\n+            "key.parsed_declaration" : "public struct Argument<T",\n+            "key.parsed_scope.end" : 10,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant8ArgumentV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 443\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this argument. This is the value that will be used\\nif the argument is never explicitly specified on the command line.\\n\\nIf this is nil, this argument is always required.",\n+            "key.doc.declaration" : "public let defaultValue: T?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If this is nil, this argument is always required."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"15\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant8ArgumentV12defaultValuexSgvp<\\/USR><Declaration>public let defaultValue: T?<\\/Declaration><CommentParts><Abstract><Para>The default value for this argument. This is the value that will be used if the argument is never explicitly specified on the command line.<\\/Para><\\/Abstract><Discussion><Para>If this is nil, this argument is always required.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 209,\n+            "key.docoffset" : 233,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 454,\n+            "key.offset" : 450,\n+            "key.parsed_declaration" : "public let defaultValue: T?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "T?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 585\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this argument. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"19\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant8ArgumentV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this argument. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 19,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 111,\n+            "key.docoffset" : 473,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 596,\n+            "key.offset" : 592,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 804\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string that describes this argument as a paramater shown\\nin the list of possible parameters in help messages (e.g. for \\"paths\\", the\\nuser would see <paths…>).",\n+            "key.doc.declaration" : "public let usageParameter: String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"24\\" column=\\"13\\"><Name>usageParameter<\\/Name><USR>s:10Commandant8ArgumentV14usageParameterSSSgvp<\\/USR><Declaration>public let usageParameter: String?<\\/Declaration><CommentParts><Abstract><Para>A human-readable string that describes this argument as a paramater shown in the list of possible parameters in help messages (e.g. for “paths”, the user would see &lt;paths…&gt;).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 24,\n+            "key.doc.name" : "usageParameter",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 191,\n+            "key.docoffset" : 612,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usageParameter<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 27,\n+            "key.name" : "usageParameter",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 815,\n+            "key.offset" : 811,\n+            "key.parsed_declaration" : "public let usageParameter: String?",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV14usageParameterSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>? = nil, usage: <Type usr=\\"s:SS\\">String<\\/Type>, usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 841\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 924,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usageParameter<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(defaultValue:usage:usageParameter:)",\n+            "key.namelength" : 74,\n+            "key.nameoffset" : 848,\n+            "key.offset" : 848,\n+            "key.parsed_declaration" : "public init(defaultValue: T? = nil, usage: String, usageParameter: String? = nil)",\n+            "key.parsed_scope.end" : 30,\n+            "key.parsed_scope.start" : 26,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Argument<T>.Type) -> (T?, String, String?) -> Argument<T>",\n+            "key.typeusr" : "$s12defaultValue5usage0C9Parameter10Commandant8ArgumentVyxGxSg_S2SSgtcD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValue5usage0E9ParameterACyxGxSg_S2SSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate func invalidUsageError&lt;ClientError&gt;(_ value: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1025\n+              }\n+            ],\n+            "key.bodylength" : 135,\n+            "key.bodyoffset" : 1123,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>invalidUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 222,\n+            "key.name" : "invalidUsageError(_:)",\n+            "key.namelength" : 47,\n+            "key.nameoffset" : 1042,\n+            "key.offset" : 1037,\n+            "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError>(_ value: String) -> CommandantError<ClientError>",\n+            "key.parsed_scope.end" : 35,\n+            "key.parsed_scope.start" : 32,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1060,\n+                "key.offset" : 1060,\n+                "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError",\n+                "key.parsed_scope.end" : 32,\n+                "key.parsed_scope.start" : 32,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 83,\n+                "key.name" : "description",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1130,\n+                "key.offset" : 1126,\n+                "key.parsed_declaration" : "let description = \\"Invalid value for \'\\\\(self.usageParameterDescription)\': \\\\(value)\\"",\n+                "key.parsed_scope.end" : 33,\n+                "key.parsed_scope.start" : 33,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF11descriptionL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError> (Argument<T>) -> (String) -> CommandantError<ClientError>",\n+            "key.typeusr" : "$sy10Commandant0A5ErrorOyqd__GSScluD",\n+            "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 251,\n+        "key.bodyoffset" : 1283,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 272,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1273,\n+        "key.offset" : 1263,\n+        "key.parsed_declaration" : "extension Argument",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 38,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1422\n+              }\n+            ],\n+            "key.bodylength" : 62,\n+            "key.bodyoffset" : 1470,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"41\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentV25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1285,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 102,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1435,\n+            "key.offset" : 1431,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 254,\n+        "key.bodyoffset" : 1575,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 293,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1547,\n+        "key.offset" : 1537,\n+        "key.parsed_declaration" : "extension Argument where T: Sequence",\n+        "key.parsed_scope.end" : 52,\n+        "key.parsed_scope.start" : 46,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1714\n+              }\n+            ],\n+            "key.bodylength" : 65,\n+            "key.bodyoffset" : 1762,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"49\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 49,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1577,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 105,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1723,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 51,\n+            "key.parsed_scope.start" : 49,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentV25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1835\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 1979,\n+        "key.bodyoffset" : 1877,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 2003,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1864,\n+        "key.offset" : 1854,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 120,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2069\n+              }\n+            ],\n+            "key.bodylength" : 518,\n+            "key.bodyoffset" : 2212,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"61\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 61,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 189,\n+            "key.docoffset" : 1879,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 655,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 79,\n+            "key.nameoffset" : 2088,\n+            "key.offset" : 2076,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 81,\n+            "key.parsed_scope.start" : 61,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2095\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2092,\n+                "key.offset" : 2092,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2113,\n+                "key.offset" : 2113,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC8ArgumentVyxGtcAC0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.bodylength" : 778,\n+            "key.bodyoffset" : 3076,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument list in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"87\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument list in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 87,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 194,\n+            "key.docoffset" : 2734,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 919,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 81,\n+            "key.nameoffset" : 2948,\n+            "key.offset" : 2936,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 119,\n+            "key.parsed_scope.start" : 87,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2955\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2952,\n+                "key.offset" : 2952,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2973,\n+                "key.offset" : 2973,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD8ArgumentVyACGtcAD0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentParser.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 4637,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.private",\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.private",\n+            "key.length" : 7,\n+            "key.offset" : 229\n+          }\n+        ],\n+        "key.bodylength" : 296,\n+        "key.bodyoffset" : 266,\n+        "key.doc.column" : 14,\n+        "key.doc.comment" : "Represents an argument passed on the command line.",\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 55,\n+        "key.docoffset" : 174,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 255\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 326,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 242,\n+        "key.offset" : 237,\n+        "key.parsed_declaration" : "private enum RawArgument: Equatable",\n+        "key.parsed_scope.end" : 22,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 16,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 341,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case key(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A key corresponding to an option (e.g., `verbose` for `--verbose`).",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"14\\" column=\\"7\\"><Name>key(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A key corresponding to an option (e.g., <codeVoice>verbose<\\/codeVoice> for <codeVoice>--verbose<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 14,\n+                "key.doc.name" : "key(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 72,\n+                "key.docoffset" : 268,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 11,\n+                "key.name" : "key(_:)",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 346,\n+                "key.offset" : 346,\n+                "key.parsed_declaration" : "case key(String)",\n+                "key.parsed_scope.end" : 14,\n+                "key.parsed_scope.start" : 14,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 18,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 448,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case value(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A value, either associated with an option or passed as a positional\\nargument.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"18\\" column=\\"7\\"><Name>value(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A value, either associated with an option or passed as a positional argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 18,\n+                "key.doc.name" : "value(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 87,\n+                "key.docoffset" : 360,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 13,\n+                "key.name" : "value(_:)",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 453,\n+                "key.offset" : 453,\n+                "key.parsed_declaration" : "case value(String)",\n+                "key.parsed_scope.end" : 18,\n+                "key.parsed_scope.start" : 18,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 32,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 529,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case flag(<Type usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/Type>&lt;<Type usr=\\"s:SJ\\">Character<\\/Type>&gt;)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "One or more flag arguments (e.g \'r\' and \'f\' for `-rf`)",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"21\\" column=\\"7\\"><Name>flag(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>One or more flag arguments (e.g ‘r’ and ‘f’ for <codeVoice>-rf<\\/codeVoice>)<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 21,\n+                "key.doc.name" : "flag(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 59,\n+                "key.docoffset" : 469,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/ref.struct>&lt;<ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 27,\n+                "key.name" : "flag(_:)",\n+                "key.namelength" : 27,\n+                "key.nameoffset" : 534,\n+                "key.offset" : 534,\n+                "key.parsed_declaration" : "case flag(OrderedSet<Character>)",\n+                "key.parsed_scope.end" : 21,\n+                "key.parsed_scope.start" : 21,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (OrderedSet<Character>) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOAA10OrderedSetVySJGcADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 214,\n+        "key.bodyoffset" : 613,\n+        "key.doc.column" : 14,\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 588\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 575,\n+        "key.offset" : 565,\n+        "key.parsed_declaration" : "extension RawArgument: CustomStringConvertible",\n+        "key.parsed_scope.end" : 37,\n+        "key.parsed_scope.start" : 24,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 615\n+              }\n+            ],\n+            "key.bodylength" : 173,\n+            "key.bodyoffset" : 652,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 199,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 631,\n+            "key.offset" : 627,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "fileprivate var description: String",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class ArgumentParser<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 896\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 889\n+          }\n+        ],\n+        "key.bodylength" : 3711,\n+        "key.bodyoffset" : 924,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Destructively parses a list of command-line arguments.",\n+        "key.doc.declaration" : "public final class ArgumentParser",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"40\\" column=\\"20\\"><Name>ArgumentParser<\\/Name><USR>s:10Commandant14ArgumentParserC<\\/USR><Declaration>public final class ArgumentParser<\\/Declaration><CommentParts><Abstract><Para>Destructively parses a list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 40,\n+        "key.doc.name" : "ArgumentParser",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 59,\n+        "key.docoffset" : 830,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>ArgumentParser<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 3734,\n+        "key.name" : "ArgumentParser",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 908,\n+        "key.offset" : 902,\n+        "key.parsed_declaration" : "public final class ArgumentParser",\n+        "key.parsed_scope.end" : 175,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var rawArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 991\n+              }\n+            ],\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "The remaining arguments to be extracted, in their raw form.",\n+            "key.doc.declaration" : "private var rawArguments: [RawArgument]",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"42\\" column=\\"14\\"><Name>rawArguments<\\/Name><USR>s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp<\\/USR><Declaration>private var rawArguments: [RawArgument]<\\/Declaration><CommentParts><Abstract><Para>The remaining arguments to be extracted, in their raw form.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 42,\n+            "key.doc.name" : "rawArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 64,\n+            "key.docoffset" : 926,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>rawArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 36,\n+            "key.name" : "rawArguments",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 1003,\n+            "key.offset" : 999,\n+            "key.parsed_declaration" : "private var rawArguments: [RawArgument] = []",\n+            "key.parsed_scope.end" : 42,\n+            "key.parsed_scope.start" : 42,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[RawArgument]",\n+            "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(_ arguments: [<Type usr=\\"s:SS\\">String<\\/Type>])<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1115\n+              }\n+            ],\n+            "key.bodylength" : 741,\n+            "key.bodyoffset" : 1151,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the generator from a simple list of command-line arguments.",\n+            "key.doc.declaration" : "public init(_ arguments: [String])",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"45\\" column=\\"9\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14ArgumentParserCyACSaySSGcfc<\\/USR><Declaration>public init(_ arguments: [String])<\\/Declaration><CommentParts><Abstract><Para>Initializes the generator from a simple list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 45,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 76,\n+            "key.docoffset" : 1038,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>arguments<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 771,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 1122,\n+            "key.offset" : 1122,\n+            "key.parsed_declaration" : "public init(_ arguments: [String])",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 45,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let params: [<Type usr=\\"s:Sa\\">Array<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;.<Type usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>params<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:Sa\\">Array<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;.<ref.typealias usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/ref.typealias>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 91,\n+                "key.name" : "params",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 1218,\n+                "key.offset" : 1214,\n+                "key.parsed_declaration" : "let params = arguments.split(maxSplits: 1, omittingEmptySubsequences: false) { $0 == \\"--\\" }",\n+                "key.parsed_scope.end" : 47,\n+                "key.parsed_scope.start" : 47,\n+                "key.typename" : "[ArraySlice<String>]",\n+                "key.typeusr" : "$sSays10ArraySliceVySSGGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc6paramsL_Says10ArraySliceVySSGGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let options: <Type usr=\\"s:Sa\\">Array<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;.<Type usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sa\\">Array<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;.<ref.typealias usr=\\"s:Sa11SubSequencea\\">SubSequence<\\/ref.typealias><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 27,\n+                "key.name" : "options",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 1356,\n+                "key.offset" : 1352,\n+                "key.parsed_declaration" : "let options = params.first!",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "ArraySlice<String>",\n+                "key.typeusr" : "$ss10ArraySliceVySSGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc7optionsL_s10ArraySliceVySSGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser.Type) -> ([String]) -> ArgumentParser",\n+            "key.typeusr" : "$sy10Commandant14ArgumentParserCSaySSGcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var remainingArguments: [<Type usr=\\"s:SS\\">String<\\/Type>]? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1934\n+              }\n+            ],\n+            "key.bodylength" : 76,\n+            "key.bodyoffset" : 1978,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Returns the remaining arguments.",\n+            "key.doc.declaration" : "internal var remainingArguments: [String]? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"73\\" column=\\"15\\"><Name>remainingArguments<\\/Name><USR>s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp<\\/USR><Declaration>internal var remainingArguments: [String]? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the remaining arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 73,\n+            "key.doc.name" : "remainingArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 37,\n+            "key.docoffset" : 1896,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>remainingArguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 112,\n+            "key.name" : "remainingArguments",\n+            "key.namelength" : 18,\n+            "key.nameoffset" : 1947,\n+            "key.offset" : 1943,\n+            "key.parsed_declaration" : "internal var remainingArguments: [String]?",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 73,\n+            "key.typename" : "[String]?",\n+            "key.typeusr" : "$sSaySSGSgD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2264\n+              }\n+            ],\n+            "key.bodylength" : 281,\n+            "key.bodyoffset" : 2323,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was enabled or disabled, or nil if it\\nwas not given at all.\\n\\nIf the key is found, it is then removed from the list of arguments\\nremaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the key is found, it is then removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"82\\" column=\\"16\\"><Name>consumeBoolean(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF<\\/USR><Declaration>internal func consumeBoolean(forKey key: String) -&gt; Bool?<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was enabled or disabled, or nil if it was not given at all.<\\/Para><\\/Abstract><Discussion><Para>If the key is found, it is then removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "consumeBoolean(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 205,\n+            "key.docoffset" : 2058,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 332,\n+            "key.name" : "consumeBoolean(forKey:)",\n+            "key.namelength" : 34,\n+            "key.nameoffset" : 2278,\n+            "key.offset" : 2273,\n+            "key.parsed_declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.parsed_scope.end" : 98,\n+            "key.parsed_scope.start" : 82,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF\\">consumeBoolean(flag:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 2330,\n+                "key.offset" : 2326,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 83,\n+                "key.parsed_scope.start" : 83,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var result: <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>result<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 17,\n+                "key.name" : "result",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 2392,\n+                "key.offset" : 2388,\n+                "key.parsed_declaration" : "var result: Bool?",\n+                "key.parsed_scope.end" : 86,\n+                "key.parsed_scope.start" : 86,\n+                "key.typename" : "Bool?",\n+                "key.typeusr" : "$sSbSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF6resultL_AFvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool?",\n+            "key.typeusr" : "$s6forKeySbSgSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeValue(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:s5NeverO\\">Never<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2908\n+              }\n+            ],\n+            "key.bodylength" : 503,\n+            "key.bodyoffset" : 2999,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the value associated with the given flag, or nil if the flag was\\nnot specified. If the key is presented, but no value was given, an error\\nis returned.\\n\\nIf a value is found, the key and the value are both removed from the\\nlist of arguments remaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"106\\" column=\\"16\\"><Name>consumeValue(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF<\\/USR><Declaration>internal func consumeValue(forKey key: String) -&gt; Result&lt;String?, CommandantError&lt;Never&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Returns the value associated with the given flag, or nil if the flag was not specified. If the key is presented, but no value was given, an error is returned.<\\/Para><\\/Abstract><Discussion><Para>If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 106,\n+            "key.doc.name" : "consumeValue(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 299,\n+            "key.docoffset" : 2608,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeValue<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 586,\n+            "key.name" : "consumeValue(forKey:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 2922,\n+            "key.offset" : 2917,\n+            "key.parsed_declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.parsed_scope.end" : 131,\n+            "key.parsed_scope.start" : 106,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 3006,\n+                "key.offset" : 3002,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 107,\n+                "key.parsed_scope.start" : 107,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var foundValue: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>foundValue<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 23,\n+                "key.name" : "foundValue",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 3068,\n+                "key.offset" : 3064,\n+                "key.parsed_declaration" : "var foundValue: String?",\n+                "key.parsed_scope.end" : 110,\n+                "key.parsed_scope.start" : 110,\n+                "key.typename" : "String?",\n+                "key.typeusr" : "$sSSSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF05foundE0L_AHvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var index: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 13,\n+                "key.name" : "index",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 3094,\n+                "key.offset" : 3090,\n+                "key.parsed_declaration" : "var index = 0",\n+                "key.parsed_scope.end" : 111,\n+                "key.parsed_scope.start" : 111,\n+                "key.related_decls" : [\n+                  {\n+                    "key.annotated_decl" : "<RelatedName usr=\\"c:@F@index\\">index(_:_:)<\\/RelatedName>"\n+                  }\n+                ],\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF5indexL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Result<String?, CommandantError<Never>>",\n+            "key.typeusr" : "$s6forKeys6ResultOySSSg10Commandant0D5ErrorOys5NeverOGGSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumePositionalArgument() -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3634\n+              }\n+            ],\n+            "key.bodylength" : 164,\n+            "key.bodyoffset" : 3688,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the next positional argument that hasn\'t yet been returned, or\\nnil if there are no more positional arguments.",\n+            "key.doc.declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"135\\" column=\\"16\\"><Name>consumePositionalArgument()<\\/Name><USR>s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF<\\/USR><Declaration>internal func consumePositionalArgument() -&gt; String?<\\/Declaration><CommentParts><Abstract><Para>Returns the next positional argument that hasn’t yet been returned, or nil if there are no more positional arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 135,\n+            "key.doc.name" : "consumePositionalArgument()",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 127,\n+            "key.docoffset" : 3506,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumePositionalArgument<\\/decl.name>() -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 210,\n+            "key.name" : "consumePositionalArgument()",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 3648,\n+            "key.offset" : 3643,\n+            "key.parsed_declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 135,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> () -> String?",\n+            "key.typeusr" : "$sSSSgycD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consume(key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3963\n+              }\n+            ],\n+            "key.bodylength" : 143,\n+            "key.bodyoffset" : 4007,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consume(key: String) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"148\\" column=\\"16\\"><Name>consume(key:)<\\/Name><USR>s:10Commandant14ArgumentParserC7consume3keySbSS_tF<\\/USR><Declaration>internal func consume(key: String) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 148,\n+            "key.doc.name" : "consume(key:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 106,\n+            "key.docoffset" : 3856,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consume<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 179,\n+            "key.name" : "consume(key:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 3977,\n+            "key.offset" : 3972,\n+            "key.parsed_declaration" : "internal func consume(key: String) -> Bool",\n+            "key.parsed_scope.end" : 153,\n+            "key.parsed_scope.start" : 148,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 4014,\n+                "key.offset" : 4010,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 149,\n+                "key.parsed_scope.start" : 149,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool",\n+            "key.typeusr" : "$s3keySbSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 4262\n+              }\n+            ],\n+            "key.bodylength" : 316,\n+            "key.bodyoffset" : 4317,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given flag was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"157\\" column=\\"16\\"><Name>consumeBoolean(flag:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF<\\/USR><Declaration>internal func consumeBoolean(flag: Character) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given flag was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "consumeBoolean(flag:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 107,\n+            "key.docoffset" : 4154,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 363,\n+            "key.name" : "consumeBoolean(flag:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 4276,\n+            "key.offset" : 4271,\n+            "key.parsed_declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.parsed_scope.end" : 174,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF\\">consumeBoolean(forKey:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (Character) -> Bool",\n+            "key.typeusr" : "$s4flagSbSJ_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF"\n+          }\n+        ],\n+        "key.typename" : "ArgumentParser.Type",\n+        "key.typeusr" : "$s10Commandant14ArgumentParserCmD",\n+        "key.usr" : "s:10Commandant14ArgumentParserC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentProtocol.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 1141,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol ArgumentProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 219\n+          }\n+        ],\n+        "key.bodylength" : 189,\n+        "key.bodyoffset" : 253,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a value that can be converted from a command-line argument.",\n+        "key.doc.declaration" : "public protocol ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"10\\" column=\\"17\\"><Name>ArgumentProtocol<\\/Name><USR>s:10Commandant16ArgumentProtocolP<\\/USR><Declaration>public protocol ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a value that can be converted from a command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "ArgumentProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 75,\n+        "key.docoffset" : 144,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>ArgumentProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 217,\n+        "key.name" : "ArgumentProtocol",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 235,\n+        "key.offset" : 226,\n+        "key.parsed_declaration" : "public protocol ArgumentProtocol",\n+        "key.parsed_scope.end" : 16,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static var name: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 322,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable name for this type.",\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 41,\n+            "key.docoffset" : 255,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.static>",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 31,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 308,\n+            "key.offset" : 297,\n+            "key.parsed_declaration" : "static var name: String",\n+            "key.parsed_scope.end" : 12,\n+            "key.parsed_scope.start" : 12,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Attempts to parse a value from the given command-line argument.",\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 68,\n+            "key.docoffset" : 331,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 41,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 412,\n+            "key.offset" : 400,\n+            "key.parsed_declaration" : "static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "ArgumentProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant16ArgumentProtocol_pmD",\n+        "key.usr" : "s:10Commandant16ArgumentProtocolP"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct Int : <Type usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/Type>, <Type usr=\\"s:SZ\\">SignedInteger<\\/Type>, <Type usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 113,\n+        "key.bodyoffset" : 478,\n+        "key.doc.declaration" : "@frozen struct Int : FixedWidthInteger, SignedInteger",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "On 32-bit platforms, `Int` is the same size as `Int32`, and on 64-bit platforms, `Int` is the same size as `Int64`."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>Int<\\/Name><USR>s:Si<\\/USR><Declaration>@frozen struct Int : FixedWidthInteger, SignedInteger<\\/Declaration><CommentParts><Abstract><Para>A signed integer value type.<\\/Para><\\/Abstract><Discussion><Para>On 32-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int32<\\/codeVoice>, and on 64-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int64<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "Int",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 460\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Int<\\/decl.name> : <ref.protocol usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:SZ\\">SignedInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/ref.protocol><\\/decl.struct>",\n+        "key.groupname" : "Math\\/Integers",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Int",\n+        "key.namelength" : 3,\n+        "key.nameoffset" : 455,\n+        "key.offset" : 445,\n+        "key.parsed_declaration" : "extension Int: ArgumentProtocol",\n+        "key.parsed_scope.end" : 24,\n+        "key.parsed_scope.start" : 18,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 480\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 27,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 498,\n+            "key.offset" : 487,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"integer\\"",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 517\n+              }\n+            ],\n+            "key.bodylength" : 23,\n+            "key.bodyoffset" : 566,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 66,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 524,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> Int?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 21,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Int.Type) -> (String) -> Int?",\n+            "key.typeusr" : "$s6stringSiSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "Int.Type",\n+        "key.typeusr" : "$sSimD",\n+        "key.usr" : "s:Si"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct String<\\/Declaration>",\n+        "key.bodylength" : 110,\n+        "key.bodyoffset" : 630,\n+        "key.doc.declaration" : "@frozen struct String",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "A string is a series of characters, such as `\\"Swift\\"`, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The `String` type bridges with the Objective-C class `NSString` and offers interoperability with C functions that works with strings."\n+          },\n+          {\n+            "Para" : "You can create new strings using string literals or string interpolations. A  is a series of characters enclosed in quotes."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : " are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Combine strings using the concatenation operator (`+`)."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Multiline string literals are enclosed in three double quotation marks (`\\"\\"\\"`), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings always have value semantics. Modifying a copy of a string leaves the original unaffected."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Comparing strings for equality using the equal-to operator (`==`) or a relational operator (like `<` or `>=`) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The Unicode scalar value `\\"\\\\u{301}\\"` modifies the preceding character to include an accent, so `\\"e\\\\u{301}\\"` has the same canonical representation as the single Unicode scalar value `\\"é\\"`."\n+          },\n+          {\n+            "Para" : "Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in `Dictionary` instances and for other purposes."\n+          },\n+          {\n+            "Para" : "A string is a collection of , which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift `Character` type. Each element of a string is represented by a `Character` instance."\n+          },\n+          {\n+            "Para" : "For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `firstName` constant is an instance of the `Substring` type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s `unicodeScalars`, `utf16`, or `utf8` properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding."\n+          },\n+          {\n+            "Para" : "To demonstrate the different views available for every string, the following examples use this `String` instance:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `cafe` string is a collection of the nine characters that are visible when the string is displayed."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `unicodeScalars` property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a `Unicode.Scalar` instance and is equivalent to a UTF-32 code unit."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `unicodeScalars` view’s elements comprise each Unicode scalar value in the `cafe` string. In particular, because `cafe` was declared using the decomposed form of the `\\"é\\"` character, `unicodeScalars` contains the scalar values for both the letter `\\"e\\"` (101) and the accent character `\\"´\\"` (769)."\n+          },\n+          {\n+            "Para" : "A string’s `utf16` property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt16` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf16` view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed `NSString` APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `utf8` property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt8` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf8` view are the code units for the string when encoded in UTF-8. This representation matches the one used when `String` instances are passed to C APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views."\n+          },\n+          {\n+            "Para" : "For example, an ASCII character like the capital letter  is represented by a single element in each of its four views. The Unicode scalar value of  is `65`, which is small enough to fit in a single code unit in both UTF-16 and UTF-8."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like `\\"\\\\u{1F1F5}\\"` and `\\"\\\\u{1F1F7}\\"`. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string `\\"🇵🇷\\"` reports a different length."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "To check whether a string is empty, use its `isEmpty` property instead of comparing the length of one of the views to `0`. Unlike with `isEmpty`, calculating a view’s `count` property requires iterating through the elements of the string."\n+          },\n+          {\n+            "Para" : "To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings and their views share indices, so you can access the UTF-8 view of the `name` string using the same `firstSpace` index."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Note that an index into one view may not have an exact corresponding position in another view. For example, the `flag` string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the `flag.utf8` view. Accessing the `utf8` view with these indices yields the first and second code UTF-8 units."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When used to access the elements of the `flag` string itself, however, the `secondCodeUnit` index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of `secondCodeUnit`, that character is still the flag itself."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s `samePosition(in:)` method or the `init(_:within:)` initializer."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O() time and space."\n+          },\n+          {\n+            "Para" : "When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations."\n+          },\n+          {\n+            "Para" : "Any `String` instance can be bridged to `NSString` using the type-cast operator (`as`), and any `String` instance that originates in Objective-C may use an `NSString` instance as its storage. Because any arbitrary subclass of `NSString` can become a `String` instance, there are no guarantees about representation or efficiency when a `String` instance is backed by `NSString` storage. Because `NSString` is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O() time and space, where  is the length of the string’s encoded representation (or more, if the underlying `NSString` has unusual performance characteristics)."\n+          },\n+          {\n+            "Para" : "For more information about the Unicode terms used in this discussion, see the . In particular, this discussion mentions , , and ."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>String<\\/Name><USR>s:SS<\\/USR><Declaration>@frozen struct String<\\/Declaration><CommentParts><Abstract><Para>A Unicode string value that is a collection of characters.<\\/Para><\\/Abstract><Discussion><Para>A string is a series of characters, such as <codeVoice>&quot;Swift&quot;<\\/codeVoice>, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The <codeVoice>String<\\/codeVoice> type bridges with the Objective-C class <codeVoice>NSString<\\/codeVoice> and offers interoperability with C functions that works with strings.<\\/Para><Para>You can create new strings using string literals or string interpolations. A <emphasis>string literal<\\/emphasis> is a series of characters enclosed in quotes.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let greeting = \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para><emphasis>String interpolations<\\/emphasis> are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Rosa\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let personalizedGreeting = \\"Welcome, \\\\(name)!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ personalizedGreeting == \\"Welcome, Rosa!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let price = 2]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let number = 3]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cookiePrice = \\"\\\\(number) cookies: $\\\\(price * number).\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ cookiePrice == \\"3 cookies: $6.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Combine strings using the concatenation operator (<codeVoice>+<\\/codeVoice>).<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let longerGreeting = greeting + \\" We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ longerGreeting == \\"Welcome! We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Multiline string literals are enclosed in three double quotation marks (<codeVoice>&quot;&quot;&quot;<\\/codeVoice>), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let banner = \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          __,]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[         (           o  \\/) _\\/_]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          `.  , , , ,  \\/\\/  \\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        (___)(_(_\\/_(_ \\/\\/_ (__]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                     \\/)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                    (\\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Modifying and Comparing Strings<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Strings always have value semantics. Modifying a copy of a string leaves the original unaffected.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var otherGreeting = greeting]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[otherGreeting += \\" Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ otherGreeting == \\"Welcome! Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(greeting)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Comparing strings for equality using the equal-to operator (<codeVoice>==<\\/codeVoice>) or a relational operator (like <codeVoice>&lt;<\\/codeVoice> or <codeVoice>&gt;=<\\/codeVoice>) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe1 = \\"Cafe\\\\u{301}\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cafe2 = \\"Café\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe1 == cafe2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"true\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The Unicode scalar value <codeVoice>&quot;\\\\u{301}&quot;<\\/codeVoice> modifies the preceding character to include an accent, so <codeVoice>&quot;e\\\\u{301}&quot;<\\/codeVoice> has the same canonical representation as the single Unicode scalar value <codeVoice>&quot;é&quot;<\\/codeVoice>.<\\/Para><Para>Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in <codeVoice>Dictionary<\\/codeVoice> instances and for other purposes.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>A string is a collection of <emphasis>extended grapheme clusters<\\/emphasis>, which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift <codeVoice>Character<\\/codeVoice> type. Each element of a string is represented by a <codeVoice>Character<\\/codeVoice> instance.<\\/Para><Para>For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ firstName == \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>firstName<\\/codeVoice> constant is an instance of the <codeVoice>Substring<\\/codeVoice> type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(\\"\\\\(name)\'s first name has \\\\(firstName.count) letters.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie Curie\'s first name has 5 letters.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing a String’s Unicode Representation<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s <codeVoice>unicodeScalars<\\/codeVoice>, <codeVoice>utf16<\\/codeVoice>, or <codeVoice>utf8<\\/codeVoice> properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding.<\\/Para><Para>To demonstrate the different views available for every string, the following examples use this <codeVoice>String<\\/codeVoice> instance:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe = \\"Cafe\\\\u{301} du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Café du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>cafe<\\/codeVoice> string is a collection of the nine characters that are visible when the string is displayed.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"9\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"é\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"🌍\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>Unicode Scalar View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>unicodeScalars<\\/codeVoice> property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a <codeVoice>Unicode.Scalar<\\/codeVoice> instance and is equivalent to a UTF-32 code unit.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"10\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.unicodeScalars))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"e\\", \\"\\\\u{0301}\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"\\\\u{0001F30D}\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.map { $0.value })]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 127757]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>unicodeScalars<\\/codeVoice> view’s elements comprise each Unicode scalar value in the <codeVoice>cafe<\\/codeVoice> string. In particular, because <codeVoice>cafe<\\/codeVoice> was declared using the decomposed form of the <codeVoice>&quot;é&quot;<\\/codeVoice> character, <codeVoice>unicodeScalars<\\/codeVoice> contains the scalar values for both the letter <codeVoice>&quot;e&quot;<\\/codeVoice> (101) and the accent character <codeVoice>&quot;´&quot;<\\/codeVoice> (769).<\\/Para><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-16 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf16<\\/codeVoice> property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt16<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf16))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 55356, 57101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf16<\\/codeVoice> view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed <codeVoice>NSString<\\/codeVoice> APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let nscafe = cafe as NSString]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.length)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.character(at: 3))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"101\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-8 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf8<\\/codeVoice> property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt8<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf8))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 204, 129, 32, 100, 117, 32, 240, 159, 140, 141]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf8<\\/codeVoice> view are the code units for the string when encoded in UTF-8. This representation matches the one used when <codeVoice>String<\\/codeVoice> instances are passed to C APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cLength = strlen(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cLength)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Measuring the Length of a String<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views.<\\/Para><Para>For example, an ASCII character like the capital letter <emphasis>A<\\/emphasis> is represented by a single element in each of its four views. The Unicode scalar value of <emphasis>A<\\/emphasis> is <codeVoice>65<\\/codeVoice>, which is small enough to fit in a single code unit in both UTF-16 and UTF-8.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let capitalA = \\"A\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like <codeVoice>&quot;\\\\u{1F1F5}&quot;<\\/codeVoice> and <codeVoice>&quot;\\\\u{1F1F7}&quot;<\\/codeVoice>. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string <codeVoice>&quot;🇵🇷&quot;<\\/codeVoice> reports a different length.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let flag = \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"2\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"4\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"8\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>To check whether a string is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing the length of one of the views to <codeVoice>0<\\/codeVoice>. Unlike with <codeVoice>isEmpty<\\/codeVoice>, calculating a view’s <codeVoice>count<\\/codeVoice> property requires iterating through the elements of the string.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String View Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(firstName)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Strings and their views share indices, so you can access the UTF-8 view of the <codeVoice>name<\\/codeVoice> string using the same <codeVoice>firstSpace<\\/codeVoice> index.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(Array(name.utf8[..<firstSpace]))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[77, 97, 114, 105, 101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Note that an index into one view may not have an exact corresponding position in another view. For example, the <codeVoice>flag<\\/codeVoice> string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the <codeVoice>flag.utf8<\\/codeVoice> view. Accessing the <codeVoice>utf8<\\/codeVoice> view with these indices yields the first and second code UTF-8 units.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let firstCodeUnit = flag.startIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let secondCodeUnit = flag.utf8.index(after: firstCodeUnit)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[firstCodeUnit] == 240]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[secondCodeUnit] == 159]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>When used to access the elements of the <codeVoice>flag<\\/codeVoice> string itself, however, the <codeVoice>secondCodeUnit<\\/codeVoice> index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of <codeVoice>secondCodeUnit<\\/codeVoice>, that character is still the flag itself.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[\\/\\/ flag[firstCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag[secondCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s <codeVoice>samePosition(in:)<\\/codeVoice> method or the <codeVoice>init(_:within:)<\\/codeVoice> initializer.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[if let exactIndex = secondCodeUnit.samePosition(in: flag) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(flag[exactIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"No exact match for this position.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"No exact match for this position.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Performance Optimizations<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O(<emphasis>n<\\/emphasis>) time and space.<\\/Para><Para>When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Bridging Between String and NSString<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Any <codeVoice>String<\\/codeVoice> instance can be bridged to <codeVoice>NSString<\\/codeVoice> using the type-cast operator (<codeVoice>as<\\/codeVoice>), and any <codeVoice>String<\\/codeVoice> instance that originates in Objective-C may use an <codeVoice>NSString<\\/codeVoice> instance as its storage. Because any arbitrary subclass of <codeVoice>NSString<\\/codeVoice> can become a <codeVoice>String<\\/codeVoice> instance, there are no guarantees about representation or efficiency when a <codeVoice>String<\\/codeVoice> instance is backed by <codeVoice>NSString<\\/codeVoice> storage. Because <codeVoice>NSString<\\/codeVoice> is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O(<emphasis>n<\\/emphasis>) time and space, where <emphasis>n<\\/emphasis> is the length of the string’s encoded representation (or more, if the underlying <codeVoice>NSString<\\/codeVoice> has unusual performance characteristics).<\\/Para><Para>For more information about the Unicode terms used in this discussion, see the <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/\\">Unicode.org glossary<\\/Link>. In particular, this discussion mentions <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#extended_grapheme_cluster\\">extended grapheme clusters<\\/Link>, <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#unicode_scalar_value\\">Unicode scalar values<\\/Link>, and <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#canonical_equivalent\\">canonical equivalence<\\/Link>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "String",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 612\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>String<\\/decl.name><\\/decl.struct>",\n+        "key.groupname" : "String",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "String",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 604,\n+        "key.offset" : 594,\n+        "key.parsed_declaration" : "extension String: ArgumentProtocol",\n+        "key.parsed_scope.end" : 32,\n+        "key.parsed_scope.start" : 26,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 632\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 26,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 650,\n+            "key.offset" : 639,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"string\\"",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 668\n+              }\n+            ],\n+            "key.bodylength" : 18,\n+            "key.bodyoffset" : 720,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 64,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 687,\n+            "key.offset" : 675,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> String?",\n+            "key.parsed_scope.end" : 31,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(String.Type) -> (String) -> String?",\n+            "key.typeusr" : "$s6stringSSSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "String.Type",\n+        "key.typeusr" : "$sSSmD",\n+        "key.usr" : "s:SS"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 826,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 196,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 753,\n+        "key.offset" : 743,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: StringProtocol, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 38,\n+        "key.parsed_scope.start" : 34,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 878,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 847,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 35,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : StringProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 1027,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 199,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 951,\n+        "key.offset" : 941,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: FixedWidthInteger, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1029\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 1079,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 1048,\n+            "key.offset" : 1036,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : FixedWidthInteger> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Command.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 7522,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol CommandProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 247\n+          }\n+        ],\n+        "key.bodylength" : 483,\n+        "key.bodyoffset" : 280,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a subcommand that can be executed with its own set of arguments.",\n+        "key.doc.declaration" : "public protocol CommandProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"12\\" column=\\"17\\"><Name>CommandProtocol<\\/Name><USR>s:10Commandant15CommandProtocolP<\\/USR><Declaration>public protocol CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a subcommand that can be executed with its own set of arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "CommandProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 80,\n+        "key.docoffset" : 167,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>CommandProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 510,\n+        "key.name" : "CommandProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 263,\n+        "key.offset" : 254,\n+        "key.parsed_declaration" : "public protocol CommandProtocol",\n+        "key.parsed_scope.end" : 29,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype Options : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "The command\'s options type.",\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 32,\n+            "key.docoffset" : 283,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>Options<\\/decl.name> : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 39,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 331,\n+            "key.offset" : 316,\n+            "key.parsed_declaration" : "associatedtype Options: OptionsProtocol",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "Self.Options.Type",\n+            "key.typeusr" : "$s7Options10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError where <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.ClientError == <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.Options.ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement><ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.ClientError == <ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.Options.ClientError<\\/decl.generic_type_requirement><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 67,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 373,\n+            "key.offset" : 358,\n+            "key.parsed_declaration" : "associatedtype ClientError where ClientError == Options.ClientError",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 17,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 532,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "The action that users should specify to use this subcommand (e.g.,\\n`help`).",\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 85,\n+            "key.docoffset" : 428,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 24,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 518,\n+            "key.offset" : 514,\n+            "key.parsed_declaration" : "var verb: String",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var function: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 648,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "A human-readable, high-level description of what this command is used\\nfor.",\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 84,\n+            "key.docoffset" : 541,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 28,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 630,\n+            "key.offset" : 626,\n+            "key.parsed_declaration" : "var function: String",\n+            "key.parsed_scope.end" : 25,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>func run(_ options: <Type usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.doc.column" : 7,\n+            "key.doc.comment" : "Runs this subcommand with the given options.",\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 49,\n+            "key.docoffset" : 657,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/ref.associatedtype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 55,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 712,\n+            "key.offset" : 707,\n+            "key.parsed_declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 28,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : CommandProtocol> (Self) -> (Self.Options) -> Result<(), Self.ClientError>",\n+            "key.typeusr" : "$sys6ResultOyyt11ClientErrorQzG7OptionsQzcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "CommandProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15CommandProtocol_pmD",\n+        "key.usr" : "s:10Commandant15CommandProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 793\n+          }\n+        ],\n+        "key.bodylength" : 957,\n+        "key.bodyoffset" : 843,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A type-erased command.",\n+        "key.doc.declaration" : "public struct CommandWrapper<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"32\\" column=\\"15\\"><Name>CommandWrapper<\\/Name><USR>s:10Commandant14CommandWrapperV<\\/USR><Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A type-erased command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 32,\n+        "key.doc.name" : "CommandWrapper",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 27,\n+        "key.docoffset" : 766,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>CommandWrapper<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1001,\n+        "key.name" : "CommandWrapper",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 807,\n+        "key.offset" : 800,\n+        "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error>",\n+        "key.parsed_scope.end" : 65,\n+        "key.parsed_scope.start" : 32,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 835\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 822,\n+            "key.offset" : 822,\n+            "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 32,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 845\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 16,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 856,\n+            "key.offset" : 852,\n+            "key.parsed_declaration" : "public let verb: String",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 33,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 870\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 881,\n+            "key.offset" : 877,\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 34,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let run: (<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 900\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>: <decl.var.type>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 69,\n+            "key.name" : "run",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 911,\n+            "key.offset" : 907,\n+            "key.parsed_declaration" : "public let run: (ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 36,\n+            "key.typename" : "(ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyyt10Commandant0B5ErrorOyxGGAC14ArgumentParserCcD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV3runys6ResultOyytAA0A5ErrorOyxGGAA14ArgumentParserCcvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: () -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 979\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type>() -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 990,\n+            "key.offset" : 986,\n+            "key.parsed_declaration" : "public let usage: () -> CommandantError<ClientError>?",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "() -> CommandantError<ClientError>?",\n+            "key.typeusr" : "$s10Commandant0A5ErrorOyxGSgycD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV5usageAA0A5ErrorOyxGSgycvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate init&lt;C&gt;(_ command: <Type usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/Type>) where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1078\n+              }\n+            ],\n+            "key.bodylength" : 633,\n+            "key.bodyoffset" : 1165,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Creates a command that wraps another.",\n+            "key.doc.declaration" : "fileprivate init<C>(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"41\\" column=\\"14\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc<\\/USR><Declaration>fileprivate init&lt;C&gt;(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Creates a command that wraps another.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 42,\n+            "key.docoffset" : 1035,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>command<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 709,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 38,\n+            "key.nameoffset" : 1090,\n+            "key.offset" : 1090,\n+            "key.parsed_declaration" : "fileprivate init<C: CommandProtocol>(_ command: C) where C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 64,\n+            "key.parsed_scope.start" : 41,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 1098\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 1095,\n+                "key.offset" : 1095,\n+                "key.parsed_declaration" : "fileprivate init<C: CommandProtocol",\n+                "key.parsed_scope.end" : 41,\n+                "key.parsed_scope.start" : 41,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandWrapper<ClientError>.Type) -> (C) -> CommandWrapper<ClientError>",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc"\n+          }\n+        ],\n+        "key.typename" : "CommandWrapper<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant14CommandWrapperVyxGmD",\n+        "key.usr" : "s:10Commandant14CommandWrapperV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1859\n+          }\n+        ],\n+        "key.bodylength" : 216,\n+        "key.bodyoffset" : 1884,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Describes the \\"mode\\" in which a command should run.",\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 56,\n+        "key.docoffset" : 1803,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 235,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1871,\n+        "key.offset" : 1866,\n+        "key.parsed_declaration" : "public enum CommandMode",\n+        "key.parsed_scope.end" : 75,\n+        "key.parsed_scope.start" : 68,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 1955,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case arguments(<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Options should be parsed from the given command-line arguments.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"70\\" column=\\"7\\"><Name>arguments(_:)<\\/Name><USR>s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Options should be parsed from the given command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 70,\n+                "key.doc.name" : "arguments(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 68,\n+                "key.docoffset" : 1886,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "arguments(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 1960,\n+                "key.offset" : 1960,\n+                "key.parsed_declaration" : "case arguments(ArgumentParser)",\n+                "key.parsed_scope.end" : 70,\n+                "key.parsed_scope.start" : 70,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(CommandMode.Type) -> (ArgumentParser) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOAA14ArgumentParserCcACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 10,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 2089,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usage<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Each option should record its usage information in an error, for\\npresentation to the user.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"74\\" column=\\"7\\"><Name>usage<\\/Name><USR>s:10Commandant11CommandModeO5usageyA2CmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Each option should record its usage information in an error, for presentation to the user.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 74,\n+                "key.doc.name" : "usage",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 100,\n+                "key.docoffset" : 1988,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name><\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 5,\n+                "key.name" : "usage",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 2094,\n+                "key.offset" : 2094,\n+                "key.parsed_declaration" : "case usage",\n+                "key.parsed_scope.end" : 74,\n+                "key.parsed_scope.start" : 74,\n+                "key.typename" : "(CommandMode.Type) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO5usageyA2CmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 2163\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 2156\n+          }\n+        ],\n+        "key.bodylength" : 1204,\n+        "key.bodyoffset" : 2212,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Maintains the list of commands available to run.",\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 53,\n+        "key.docoffset" : 2103,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 1248,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 2175,\n+        "key.offset" : 2169,\n+        "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error>",\n+        "key.parsed_scope.end" : 116,\n+        "key.parsed_scope.start" : 78,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 2204\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2191,\n+            "key.offset" : 2191,\n+            "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error",\n+            "key.parsed_scope.end" : 78,\n+            "key.parsed_scope.start" : 78,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var commandsByVerb: [<Type usr=\\"s:SS\\">String<\\/Type> : <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 2214\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commandsByVerb<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct> : <ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 63,\n+            "key.name" : "commandsByVerb",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 2226,\n+            "key.offset" : 2222,\n+            "key.parsed_declaration" : "private var commandsByVerb: [String: CommandWrapper<ClientError>] = [:]",\n+            "key.parsed_scope.end" : 79,\n+            "key.parsed_scope.start" : 79,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[String : CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSDySS10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC14commandsByVerb33_1DD6990CD6DFDE28F713A55F8EE2B70ELLSDySSAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var commands: [<Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;] { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2317\n+              }\n+            ],\n+            "key.bodylength" : 69,\n+            "key.bodyoffset" : 2369,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "All available commands.",\n+            "key.doc.declaration" : "public var commands: [CommandWrapper<ClientError>] { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"82\\" column=\\"13\\"><Name>commands<\\/Name><USR>s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp<\\/USR><Declaration>public var commands: [CommandWrapper&lt;ClientError&gt;] { get }<\\/Declaration><CommentParts><Abstract><Para>All available commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "commands",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 28,\n+            "key.docoffset" : 2288,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commands<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 115,\n+            "key.name" : "commands",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 2328,\n+            "key.offset" : 2324,\n+            "key.parsed_declaration" : "public var commands: [CommandWrapper<ClientError>]",\n+            "key.parsed_scope.end" : 84,\n+            "key.parsed_scope.start" : 82,\n+            "key.typename" : "[CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSay10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2442\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 2457,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 2449,\n+            "key.offset" : 2449,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>.Type) -> () -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGycD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>@discardableResult public func register&lt;C&gt;(_ commands: <Type usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/Type>...) -&gt; <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type> where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2656\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 2636\n+              }\n+            ],\n+            "key.bodylength" : 106,\n+            "key.bodyoffset" : 2775,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Registers the given commands, making those available to run.\\n\\nIf another commands were already registered with the same `verb`s, those\\nwill be overwritten.",\n+            "key.doc.declaration" : "public func register<C>(_ commands: C...) -> CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If another commands were already registered with the same `verb`s, those will be overwritten."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"93\\" column=\\"14\\"><Name>register(_:)<\\/Name><USR>s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF<\\/USR><Declaration>public func register&lt;C&gt;(_ commands: C...) -&gt; CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Registers the given commands, making those available to run.<\\/Para><\\/Abstract><Discussion><Para>If another commands were already registered with the same <codeVoice>verb<\\/codeVoice>s, those will be overwritten.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 93,\n+            "key.doc.name" : "register(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 174,\n+            "key.docoffset" : 2461,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>register<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>commands<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type>...<\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class><\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 219,\n+            "key.name" : "register(_:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 2668,\n+            "key.offset" : 2663,\n+            "key.parsed_declaration" : "public func register<C: CommandProtocol>(_ commands: C...)\\n\\t-> CommandRegistry\\n\\twhere C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 101,\n+            "key.parsed_scope.start" : 93,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 2680\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2677,\n+                "key.offset" : 2677,\n+                "key.parsed_declaration" : "public func register<C: CommandProtocol",\n+                "key.parsed_scope.end" : 93,\n+                "key.parsed_scope.start" : 93,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandRegistry<ClientError>) -> (C...) -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$sy10Commandant15CommandRegistryCyxGqd__d_tc11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(command verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3059\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 3164,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Runs the command corresponding to the given verb, passing it the given\\narguments.\\n\\nReturns the results of the execution, or nil if no such command exists.",\n+            "key.doc.declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the results of the execution, or nil if no such command exists."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"107\\" column=\\"14\\"><Name>run(command:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF<\\/USR><Declaration>public func run(command verb: String, arguments: [String]) -&gt; Result&lt;(), CommandantError&lt;ClientError&gt;&gt;?<\\/Declaration><CommentParts><Abstract><Para>Runs the command corresponding to the given verb, passing it the given arguments.<\\/Para><\\/Abstract><Discussion><Para>Returns the results of the execution, or nil if no such command exists.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 107,\n+            "key.doc.name" : "run(command:arguments:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 173,\n+            "key.docoffset" : 2885,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>command<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 153,\n+            "key.name" : "run(command:arguments:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 3071,\n+            "key.offset" : 3066,\n+            "key.parsed_declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 107,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.typeusr" : "$s7command9argumentss6ResultOyyt10Commandant0D5ErrorOyxGGSgSS_SaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public subscript(verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3318\n+              }\n+            ],\n+            "key.bodylength" : 32,\n+            "key.bodyoffset" : 3382,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Returns the command matching the given verb, or nil if no such command\\nis registered.",\n+            "key.doc.declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"113\\" column=\\"9\\"><Name>subscript(_:)<\\/Name><USR>s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip<\\/USR><Declaration>public subscript(verb: String) -&gt; CommandWrapper&lt;ClientError&gt;? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the command matching the given verb, or nil if no such command is registered.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 113,\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 95,\n+            "key.docoffset" : 3222,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 90,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 3325,\n+            "key.offset" : 3325,\n+            "key.parsed_declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>?",\n+            "key.parsed_scope.end" : 115,\n+            "key.parsed_scope.start" : 113,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (String) -> CommandWrapper<ClientError>?",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGSgSScD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 4074,\n+        "key.bodyoffset" : 3446,\n+        "key.doc.column" : 20,\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4102,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 3429,\n+        "key.offset" : 3419,\n+        "key.parsed_declaration" : "extension CommandRegistry",\n+        "key.parsed_scope.end" : 241,\n+        "key.parsed_scope.start" : 118,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 4246\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 4332,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing CommandLine.arguments\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"136\\" column=\\"14\\"><Name>main(defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF<\\/USR><Declaration>public func main(defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing CommandLine.arguments and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 136,\n+            "key.doc.name" : "main(defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 797,\n+            "key.docoffset" : 3448,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 177,\n+            "key.name" : "main(defaultVerb:errorHandler:)",\n+            "key.namelength" : 62,\n+            "key.nameoffset" : 4258,\n+            "key.offset" : 4253,\n+            "key.parsed_declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 138,\n+            "key.parsed_scope.start" : 136,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF\\">main(arguments:defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s11defaultVerb12errorHandlers5NeverOSS_yxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(arguments: [<Type usr=\\"s:SS\\">String<\\/Type>], defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5221\n+              }\n+            ],\n+            "key.bodylength" : 945,\n+            "key.bodyoffset" : 5328,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing `arguments`\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"157\\" column=\\"14\\"><Name>main(arguments:defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF<\\/USR><Declaration>public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing <codeVoice>arguments<\\/codeVoice> and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 787,\n+            "key.docoffset" : 4433,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1046,\n+            "key.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.namelength" : 83,\n+            "key.nameoffset" : 5233,\n+            "key.offset" : 5228,\n+            "key.parsed_declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF\\">main(defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>var arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 25,\n+                "key.name" : "arguments",\n+                "key.namelength" : 9,\n+                "key.nameoffset" : 5367,\n+                "key.offset" : 5363,\n+                "key.parsed_declaration" : "var arguments = arguments",\n+                "key.parsed_scope.end" : 160,\n+                "key.parsed_scope.start" : 160,\n+                "key.typename" : "[String]",\n+                "key.typeusr" : "$sSaySSGD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtFAEL0_AJvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let executableName: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>executableName<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 44,\n+                "key.name" : "executableName",\n+                "key.namelength" : 14,\n+                "key.nameoffset" : 5430,\n+                "key.offset" : 5426,\n+                "key.parsed_declaration" : "let executableName = arguments.remove(at: 0)",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF14executableNameL_SSvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 22,\n+                "key.name" : "verb",\n+                "key.namelength" : 4,\n+                "key.nameoffset" : 5536,\n+                "key.offset" : 5532,\n+                "key.parsed_declaration" : "var verb = defaultVerb",\n+                "key.parsed_scope.end" : 166,\n+                "key.parsed_scope.start" : 166,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF4verbL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> ([String], String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private func executeSubcommandIfExists(_ executableName: <Type usr=\\"s:SS\\">String<\\/Type>, verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 6474\n+              }\n+            ],\n+            "key.bodylength" : 933,\n+            "key.bodyoffset" : 6585,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Finds and executes a subcommand which exists in your $PATH. The executable\\nname must be in the form of `executable-verb`.\\n\\n- Returns: The exit status of found subcommand or nil.",\n+            "key.doc.declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"202\\" column=\\"15\\"><Name>executeSubcommandIfExists(_:verb:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF<\\/USR><Declaration>private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -&gt; Int32?<\\/Declaration><CommentParts><Abstract><Para>Finds and executes a subcommand which exists in your $PATH. The executable name must be in the form of <codeVoice>executable-verb<\\/codeVoice>.<\\/Para><\\/Abstract><ResultDiscussion><Para>The exit status of found subcommand or nil.<\\/Para><\\/ResultDiscussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The exit status of found subcommand or nil."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 196,\n+            "key.docoffset" : 6277,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>executeSubcommandIfExists<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>executableName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1037,\n+            "key.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.namelength" : 86,\n+            "key.nameoffset" : 6487,\n+            "key.offset" : 6482,\n+            "key.parsed_declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.parsed_scope.end" : 240,\n+            "key.parsed_scope.start" : 202,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let subcommand: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>subcommand<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 80,\n+                "key.name" : "subcommand",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 6592,\n+                "key.offset" : 6588,\n+                "key.parsed_declaration" : "let subcommand = \\"\\\\(NSString(string: executableName).lastPathComponent)-\\\\(verb)\\"",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10subcommandL_SSvp"\n+              },\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.private",\n+                "key.annotated_decl" : "<Declaration>func launchTask(_ path: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type><\\/Declaration>",\n+                "key.bodylength" : 603,\n+                "key.bodyoffset" : 6735,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>launchTask<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>path<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.free>",\n+                "key.kind" : "source.lang.swift.decl.function.free",\n+                "key.length" : 667,\n+                "key.name" : "launchTask(_:arguments:)",\n+                "key.namelength" : 47,\n+                "key.nameoffset" : 6677,\n+                "key.offset" : 6672,\n+                "key.parsed_declaration" : "func launchTask(_ path: String, arguments: [String]) -> Int32",\n+                "key.parsed_scope.end" : 233,\n+                "key.parsed_scope.start" : 205,\n+                "key.substructure" : [\n+                  {\n+                    "key.annotated_decl" : "<Declaration>let task: <Type usr=\\"c:objc(cs)NSTask\\">Process<\\/Type><\\/Declaration>",\n+                    "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                    "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>task<\\/decl.name>: <decl.var.type><ref.class usr=\\"c:objc(cs)NSTask\\">Process<\\/ref.class><\\/decl.var.type><\\/decl.var.local>",\n+                    "key.kind" : "source.lang.swift.decl.var.local",\n+                    "key.length" : 20,\n+                    "key.name" : "task",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 6743,\n+                    "key.offset" : 6739,\n+                    "key.parsed_declaration" : "let task = Process()",\n+                    "key.parsed_scope.end" : 206,\n+                    "key.parsed_scope.start" : 206,\n+                    "key.typename" : "Process",\n+                    "key.typeusr" : "$sSo6NSTaskCD",\n+                    "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF4taskL_So6NSTaskCvp"\n+                  }\n+                ],\n+                "key.typename" : "<ClientError where ClientError : Error> (String, arguments: [String]) -> Int32",\n+                "key.typeusr" : "$s_9argumentss5Int32VSS_SaySSGtcs5ErrorRzluD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, String, [String]) -> Int32?",\n+            "key.typeusr" : "$s_4verb9argumentss5Int32VSgSS_SSSaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Errors.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 5739,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 323\n+          }\n+        ],\n+        "key.bodylength" : 157,\n+        "key.bodyoffset" : 372,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Possible errors that can originate from Commandant.\\n\\n`ClientError` should be the type of error (if any) that can occur when\\nrunning commands.",\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 157,\n+        "key.docoffset" : 166,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 5,\n+            "key.offset" : 365\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Error"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 200,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 335,\n+        "key.offset" : 330,\n+        "key.parsed_declaration" : "public enum CommandantError<ClientError>: Error",\n+        "key.parsed_scope.end" : 21,\n+        "key.parsed_scope.start" : 15,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 351,\n+            "key.offset" : 351,\n+            "key.parsed_declaration" : "public enum CommandantError<ClientError",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant0A5ErrorO06ClientB0xmfp"\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 36,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 411,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usageError(description: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An option was used incorrectly.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"17\\" column=\\"7\\"><Name>usageError(description:)<\\/Name><USR>s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An option was used incorrectly.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 17,\n+                "key.doc.name" : "usageError(description:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 36,\n+                "key.docoffset" : 374,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usageError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>description<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 31,\n+                "key.name" : "usageError(description:)",\n+                "key.namelength" : 31,\n+                "key.nameoffset" : 416,\n+                "key.offset" : 416,\n+                "key.parsed_declaration" : "case usageError(description: String)",\n+                "key.parsed_scope.end" : 17,\n+                "key.parsed_scope.start" : 17,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (String) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSS_tcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 498,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case commandError(<Type usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An error occurred while running a command.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"20\\" column=\\"7\\"><Name>commandError(_:)<\\/Name><USR>s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An error occurred while running a command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 20,\n+                "key.doc.name" : "commandError(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 47,\n+                "key.docoffset" : 450,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>commandError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "commandError(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 503,\n+                "key.offset" : 503,\n+                "key.parsed_declaration" : "case commandError(ClientError)",\n+                "key.parsed_scope.end" : 20,\n+                "key.parsed_scope.start" : 20,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (ClientError) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGxcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 187,\n+        "key.bodyoffset" : 584,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 559\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 240,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 542,\n+        "key.offset" : 532,\n+        "key.parsed_declaration" : "extension CommandantError: CustomStringConvertible",\n+        "key.parsed_scope.end" : 33,\n+        "key.parsed_scope.start" : 23,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 586\n+              }\n+            ],\n+            "key.bodylength" : 151,\n+            "key.bodyoffset" : 618,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 177,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 597,\n+            "key.offset" : 593,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 887\n+          }\n+        ],\n+        "key.bodylength" : 105,\n+        "key.bodyoffset" : 992,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an `InvalidArgument` error that indicates a missing value for\\nthe argument by the given name.",\n+        "key.doc.declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"37\\" column=\\"15\\"><Name>missingArgumentError(_:)<\\/Name><USR>s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF<\\/USR><Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an <codeVoice>InvalidArgument<\\/codeVoice> error that indicates a missing value for the argument by the given name.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "missingArgumentError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 113,\n+        "key.docoffset" : 774,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>missingArgumentError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argumentName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 202,\n+        "key.name" : "missingArgumentError(_:)",\n+        "key.namelength" : 57,\n+        "key.nameoffset" : 901,\n+        "key.offset" : 896,\n+        "key.parsed_declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 40,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 922,\n+            "key.offset" : 922,\n+            "key.parsed_declaration" : "internal func missingArgumentError<ClientError",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 56,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 998,\n+            "key.offset" : 994,\n+            "key.parsed_declaration" : "let description = \\"Missing argument for \\\\(argumentName)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF11descriptionL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSScluD",\n+        "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1215\n+          }\n+        ],\n+        "key.bodylength" : 179,\n+        "key.bodyoffset" : 1339,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error by combining the example of key (and value, if applicable)\\nwith the usage description.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"44\\" column=\\"15\\"><Name>informativeUsageError(_:usage:)<\\/Name><USR>s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: String, usage: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error by combining the example of key (and value, if applicable) with the usage description.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 44,\n+        "key.doc.name" : "informativeUsageError(_:usage:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 115,\n+        "key.docoffset" : 1100,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 295,\n+        "key.name" : "informativeUsageError(_:usage:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 1229,\n+        "key.offset" : 1224,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 50,\n+        "key.parsed_scope.start" : 44,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1251,\n+            "key.offset" : 1251,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 44,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let lines: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>lines<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 52,\n+            "key.name" : "lines",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 1345,\n+            "key.offset" : 1341,\n+            "key.parsed_declaration" : "let lines = usage.components(separatedBy: .newlines)",\n+            "key.parsed_scope.end" : 45,\n+            "key.parsed_scope.start" : 45,\n+            "key.typename" : "[String]",\n+            "key.typeusr" : "$sSaySSGD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF5linesL_SaySSGvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String, usage: String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_5usage10Commandant0B5ErrorOyxGSS_SStcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;, _ rhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1660\n+          }\n+        ],\n+        "key.bodylength" : 265,\n+        "key.bodyoffset" : 1813,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Combines the text of the two errors, if they\'re both `UsageError`s.\\nOtherwise, uses whichever one is not (biased toward the left).",\n+        "key.doc.declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"54\\" column=\\"15\\"><Name>combineUsageErrors(_:_:)<\\/Name><USR>s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF<\\/USR><Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: CommandantError&lt;ClientError&gt;, _ rhs: CommandantError&lt;ClientError&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Combines the text of the two errors, if they’re both <codeVoice>UsageError<\\/codeVoice>s. Otherwise, uses whichever one is not (biased toward the left).<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 54,\n+        "key.doc.name" : "combineUsageErrors(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 139,\n+        "key.docoffset" : 1521,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>combineUsageErrors<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>lhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>rhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 410,\n+        "key.name" : "combineUsageErrors(_:_:)",\n+        "key.namelength" : 105,\n+        "key.nameoffset" : 1674,\n+        "key.offset" : 1669,\n+        "key.parsed_declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 66,\n+        "key.parsed_scope.start" : 54,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1693,\n+            "key.offset" : 1693,\n+            "key.parsed_declaration" : "internal func combineUsageErrors<ClientError",\n+            "key.parsed_scope.end" : 54,\n+            "key.parsed_scope.start" : 54,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (CommandantError<ClientError>, CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAD_ADtcluD",\n+        "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2152\n+          }\n+        ],\n+        "key.bodylength" : 96,\n+        "key.bodyoffset" : 2260,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that indicates unrecognized arguments remains.",\n+        "key.doc.declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"69\\" column=\\"15\\"><Name>unrecognizedArgumentsError(_:)<\\/Name><USR>s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF<\\/USR><Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [String]) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that indicates unrecognized arguments remains.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 69,\n+        "key.doc.name" : "unrecognizedArgumentsError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 71,\n+        "key.docoffset" : 2081,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>unrecognizedArgumentsError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 196,\n+        "key.name" : "unrecognizedArgumentsError(_:)",\n+        "key.namelength" : 60,\n+        "key.nameoffset" : 2166,\n+        "key.offset" : 2161,\n+        "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 71,\n+        "key.parsed_scope.start" : 69,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2193,\n+            "key.offset" : 2193,\n+            "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError",\n+            "key.parsed_scope.end" : 69,\n+            "key.parsed_scope.start" : 69,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> ([String]) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSaySSGcluD",\n+        "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 14,\n+        "key.name" : "MARK: Argument",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2362\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: <Type usr=\\"s:SS\\">String<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2499\n+          }\n+        ],\n+        "key.bodylength" : 192,\n+        "key.bodyoffset" : 2631,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument, with the given\\nexample of value usage if applicable.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"77\\" column=\\"15\\"><Name>informativeUsageError(_:argument:)<\\/Name><USR>s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: String, argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument, with the given example of value usage if applicable.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 77,\n+        "key.doc.name" : "informativeUsageError(_:argument:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 121,\n+        "key.docoffset" : 2378,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>valueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>argument<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 316,\n+        "key.name" : "informativeUsageError(_:argument:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 2513,\n+        "key.offset" : 2508,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 83,\n+        "key.parsed_scope.start" : 77,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2535,\n+            "key.offset" : 2535,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2538,\n+            "key.offset" : 2538,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_8argument10Commandant0B5ErrorOyq_GSS_AB8ArgumentVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2890\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3018,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"86\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 86,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 64,\n+        "key.docoffset" : 2826,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 498,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 80,\n+        "key.nameoffset" : 2904,\n+        "key.offset" : 2899,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 103,\n+        "key.parsed_scope.start" : 86,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2926,\n+            "key.offset" : 2926,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2947,\n+            "key.offset" : 2947,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3024,\n+            "key.offset" : 3020,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 87,\n+            "key.parsed_scope.start" : 87,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3043,\n+            "key.offset" : 3039,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 89,\n+            "key.parsed_scope.start" : 89,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVyxGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 3468\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3598,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument list.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"106\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument list.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 106,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 69,\n+        "key.docoffset" : 3399,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 500,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 82,\n+        "key.nameoffset" : 3482,\n+        "key.offset" : 3477,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 123,\n+        "key.parsed_scope.start" : 106,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 3507\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 3504,\n+            "key.offset" : 3504,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 3525,\n+            "key.offset" : 3525,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3604,\n+            "key.offset" : 3600,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 107,\n+            "key.parsed_scope.start" : 107,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3623,\n+            "key.offset" : 3619,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 109,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVySayxGGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 12,\n+        "key.name" : "MARK: Option",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 3982\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4126\n+          }\n+        ],\n+        "key.bodylength" : 76,\n+        "key.bodyoffset" : 4257,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option, with the given\\nexample of key (and value, if applicable) usage.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"129\\" column=\\"15\\"><Name>informativeUsageError(_:option:)<\\/Name><USR>s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: String, option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option, with the given example of key (and value, if applicable) usage.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 129,\n+        "key.doc.name" : "informativeUsageError(_:option:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 130,\n+        "key.docoffset" : 3996,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>option<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 199,\n+        "key.name" : "informativeUsageError(_:option:)",\n+        "key.namelength" : 83,\n+        "key.nameoffset" : 4140,\n+        "key.offset" : 4135,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 131,\n+        "key.parsed_scope.start" : 129,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4162,\n+            "key.offset" : 4162,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4165,\n+            "key.offset" : 4165,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_6option10Commandant0B5ErrorOyq_GSS_AB6OptionVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4398\n+          }\n+        ],\n+        "key.bodylength" : 89,\n+        "key.bodyoffset" : 4522,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"134\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 134,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4336,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 205,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 4412,\n+        "key.offset" : 4407,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 136,\n+        "key.parsed_scope.start" : 134,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4437\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4434,\n+            "key.offset" : 4434,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4455,\n+            "key.offset" : 4455,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4676\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 4801,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"139\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 139,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4614,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 195,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 77,\n+        "key.nameoffset" : 4690,\n+        "key.offset" : 4685,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 141,\n+        "key.parsed_scope.start" : 139,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4715\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4712,\n+            "key.offset" : 4712,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4733,\n+            "key.offset" : 4733,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4944\n+          }\n+        ],\n+        "key.bodylength" : 91,\n+        "key.bodyoffset" : 5070,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"144\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 144,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4882,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 209,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 78,\n+        "key.nameoffset" : 4958,\n+        "key.offset" : 4953,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 146,\n+        "key.parsed_scope.start" : 144,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4983\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4980,\n+            "key.offset" : 4980,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5001,\n+            "key.offset" : 5001,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5226\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 5353,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"149\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 149,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 5164,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 197,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 79,\n+        "key.nameoffset" : 5240,\n+        "key.offset" : 5235,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 151,\n+        "key.parsed_scope.start" : 149,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 5265\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 5262,\n+            "key.offset" : 5262,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5283,\n+            "key.offset" : 5283,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5510\n+          }\n+        ],\n+        "key.bodylength" : 121,\n+        "key.bodyoffset" : 5616,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the given boolean option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"154\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the given boolean option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 154,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 76,\n+        "key.docoffset" : 5434,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 219,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 58,\n+        "key.nameoffset" : 5524,\n+        "key.offset" : 5519,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 157,\n+        "key.parsed_scope.start" : 154,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5546,\n+            "key.offset" : 5546,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 154,\n+            "key.parsed_scope.start" : 154,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 20,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 5622,\n+            "key.offset" : 5618,\n+            "key.parsed_declaration" : "let key = option.key",\n+            "key.parsed_scope.end" : 155,\n+            "key.parsed_scope.start" : 155,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF3keyL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (Option<Bool>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAA6OptionVySbGcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/HelpCommand.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2203,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpCommand&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 537\n+          }\n+        ],\n+        "key.bodylength" : 1127,\n+        "key.bodyoffset" : 601,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A basic implementation of a `help` command, using information available in a\\n`CommandRegistry`.\\n\\nIf you want to use this command, initialize it with the registry, then add\\nit to that same registry:\\n\\n\\tlet commands: CommandRegistry<MyErrorType> = …\\n\\tlet helpCommand = HelpCommand(registry: commands)\\n\\tcommands.register(helpCommand)",\n+        "key.doc.declaration" : "public struct HelpCommand<ClientError> : CommandProtocol where ClientError : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "If you want to use this command, initialize it with the registry, then add it to that same registry:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"20\\" column=\\"15\\"><Name>HelpCommand<\\/Name><USR>s:10Commandant11HelpCommandV<\\/USR><Declaration>public struct HelpCommand&lt;ClientError&gt; : CommandProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A basic implementation of a <codeVoice>help<\\/codeVoice> command, using information available in a <codeVoice>CommandRegistry<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>If you want to use this command, initialize it with the registry, then add it to that same registry:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let commands: CommandRegistry<MyErrorType> = …]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let helpCommand = HelpCommand(registry: commands)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[commands.register(helpCommand)]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 20,\n+        "key.doc.name" : "HelpCommand",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 366,\n+        "key.docoffset" : 171,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 584\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpCommand<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CommandProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1185,\n+        "key.name" : "HelpCommand",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 551,\n+        "key.offset" : 544,\n+        "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error>: CommandProtocol",\n+        "key.parsed_scope.end" : 59,\n+        "key.parsed_scope.start" : 20,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 576\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 563,\n+            "key.offset" : 563,\n+            "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error",\n+            "key.parsed_scope.end" : 20,\n+            "key.parsed_scope.start" : 20,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpCommandV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public typealias <Type usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/Type>&lt;ClientError&gt;.Options = <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 603\n+              }\n+            ],\n+            "key.doc.column" : 17,\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <ref.struct usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/ref.struct>&lt;ClientError&gt;.<decl.name>Options<\\/decl.name> = <ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 44,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 620,\n+            "key.offset" : 610,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public typealias Options = HelpOptions<ClientError>",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "HelpOptions<ClientError>.Type",\n+            "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 657\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 668,\n+            "key.offset" : 664,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let verb = \\"help\\"",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 683\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 694,\n+            "key.offset" : 690,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private let registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 713\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>registry<\\/decl.name>: <decl.var.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 42,\n+            "key.name" : "registry",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 725,\n+            "key.offset" : 721,\n+            "key.parsed_declaration" : "private let registry: CommandRegistry<ClientError>",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry33_38F61CE0DF9D73793CEDF5D1C3140331LLAA0C8RegistryCyxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;, function: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 853\n+              }\n+            ],\n+            "key.bodylength" : 102,\n+            "key.bodyoffset" : 931,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the command to provide help from the given registry of\\ncommands.",\n+            "key.doc.declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"30\\" column=\\"9\\"><Name>init(registry:function:)<\\/Name><USR>s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc<\\/USR><Declaration>public init(registry: CommandRegistry&lt;ClientError&gt;, function: String? = nil)<\\/Declaration><CommentParts><Abstract><Para>Initializes the command to provide help from the given registry of commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 30,\n+            "key.doc.name" : "init(registry:function:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 86,\n+            "key.docoffset" : 766,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>registry<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>function<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(registry:function:)",\n+            "key.namelength" : 69,\n+            "key.nameoffset" : 860,\n+            "key.offset" : 860,\n+            "key.parsed_declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 30,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>.Type) -> (CommandRegistry<ClientError>, String?) -> HelpCommand<ClientError>",\n+            "key.typeusr" : "$s8registry8function10Commandant11HelpCommandVyxGAC0E8RegistryCyxG_SSSgtcD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(_ options: <Type usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1037\n+              }\n+            ],\n+            "key.bodylength" : 625,\n+            "key.bodyoffset" : 1101,\n+            "key.doc.column" : 7,\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.typealias usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 683,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 1049,\n+            "key.offset" : 1044,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 58,\n+            "key.parsed_scope.start" : 35,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let maxVerbLength: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>maxVerbLength<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 75,\n+                "key.name" : "maxVerbLength",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 1422,\n+                "key.offset" : 1418,\n+                "key.parsed_declaration" : "let maxVerbLength = self.registry.commands.map { $0.verb.count }.max() ?? 0",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant11HelpCommandV3runys6ResultOyytxGAA0B7OptionsVyxGF13maxVerbLengthL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>) -> (HelpOptions<ClientError>) -> Result<(), ClientError>",\n+            "key.typeusr" : "$sys6ResultOyytxG10Commandant11HelpOptionsVyxGcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "HelpCommand<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpCommandVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpCommandV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1731\n+          }\n+        ],\n+        "key.bodylength" : 406,\n+        "key.bodyoffset" : 1795,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1778\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 464,\n+        "key.name" : "HelpOptions",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1745,\n+        "key.offset" : 1738,\n+        "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 76,\n+        "key.parsed_scope.start" : 61,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1770\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1757,\n+            "key.offset" : 1757,\n+            "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 61,\n+            "key.parsed_scope.start" : 61,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate let verb: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1797\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 1813,\n+            "key.offset" : 1809,\n+            "key.parsed_declaration" : "fileprivate let verb: String?",\n+            "key.parsed_scope.end" : 62,\n+            "key.parsed_scope.start" : 62,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verb33_38F61CE0DF9D73793CEDF5D1C3140331LLSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private init(verb: <Type usr=\\"s:SS\\">String<\\/Type>?)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1829\n+              }\n+            ],\n+            "key.bodylength" : 21,\n+            "key.bodyoffset" : 1858,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 43,\n+            "key.name" : "init(verb:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 1837,\n+            "key.offset" : 1837,\n+            "key.parsed_declaration" : "private init(verb: String?)",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 64,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String?) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$s4verb10Commandant11HelpOptionsVyxGSSSg_tcD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verbACyxGSSSg_tc33_38F61CE0DF9D73793CEDF5D1C3140331Llfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private static func create(_ verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1883\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 1942,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>create<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 106,\n+            "key.name" : "create(_:)",\n+            "key.namelength" : 22,\n+            "key.nameoffset" : 1903,\n+            "key.offset" : 1891,\n+            "key.parsed_declaration" : "private static func create(_ verb: String) -> HelpOptions",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 68,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$sy10Commandant11HelpOptionsVyxGSScD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV6create33_38F61CE0DF9D73793CEDF5D1C3140331LLyACyxGSSFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2000\n+              }\n+            ],\n+            "key.bodylength" : 99,\n+            "key.bodyoffset" : 2100,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 193,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 2019,\n+            "key.offset" : 2007,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<HelpOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 72,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (CommandMode) -> Result<HelpOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant11HelpOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "HelpOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpOptionsV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Option.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 9661,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol OptionsProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1388\n+          }\n+        ],\n+        "key.bodylength" : 233,\n+        "key.bodyoffset" : 1421,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a record of options for a command, which can be parsed from\\na list of command-line arguments.\\n\\nThis is most helpful when used in conjunction with the `Option` and `Switch`\\ntypes, and `<*>` and `<|` combinators.\\n\\nExample:\\n\\n\\tstruct LogOptions: OptionsProtocol {\\n\\t\\tlet verbosity: Int\\n\\t\\tlet outputFilename: String\\n\\t\\tlet shouldDelete: Bool\\n\\t\\tlet logName: String\\n\\n\\t\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {\\n\\t\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }\\n\\t\\t}\\n\\n\\t\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {\\n\\t\\t\\treturn create\\n\\t\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")\\n\\t\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")\\n\\t\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")\\n\\t\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")\\n\\t\\t}\\n\\t}",\n+        "key.doc.declaration" : "public protocol OptionsProtocol",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "This is most helpful when used in conjunction with the `Option` and `Switch` types, and `<*>` and `<|` combinators."\n+          },\n+          {\n+            "Para" : "Example:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"37\\" column=\\"17\\"><Name>OptionsProtocol<\\/Name><USR>s:10Commandant15OptionsProtocolP<\\/USR><Declaration>public protocol OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a record of options for a command, which can be parsed from a list of command-line arguments.<\\/Para><\\/Abstract><Discussion><Para>This is most helpful when used in conjunction with the <codeVoice>Option<\\/codeVoice> and <codeVoice>Switch<\\/codeVoice> types, and <codeVoice>&lt;*&gt;<\\/codeVoice> and <codeVoice>&lt;|<\\/codeVoice> combinators.<\\/Para><Para>Example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct LogOptions: OptionsProtocol {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet verbosity: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet outputFilename: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet shouldDelete: Bool]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet logName: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn create]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "OptionsProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 1222,\n+        "key.docoffset" : 166,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>OptionsProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 260,\n+        "key.name" : "OptionsProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 1404,\n+        "key.offset" : 1395,\n+        "key.parsed_declaration" : "public protocol OptionsProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 33,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1438,\n+            "key.offset" : 1423,\n+            "key.parsed_declaration" : "associatedtype ClientError: Error",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15OptionsProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Evaluates this set of options in the given mode.\\n\\nReturns the parsed options or a `UsageError`.",\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 1459,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.associatedtype usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 84,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1581,\n+            "key.offset" : 1569,\n+            "key.parsed_declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 43,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : OptionsProtocol> (Self.Type) -> (CommandMode) -> Result<Self, CommandantError<Self.ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOy06ClientC0QzGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "OptionsProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15OptionsProtocol_pmD",\n+        "key.usr" : "s:10Commandant15OptionsProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct NoOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1703\n+          }\n+        ],\n+        "key.bodylength" : 154,\n+        "key.bodyoffset" : 1765,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "An `OptionsProtocol` that has no options.",\n+        "key.doc.declaration" : "public struct NoOptions<ClientError> : OptionsProtocol where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"47\\" column=\\"15\\"><Name>NoOptions<\\/Name><USR>s:10Commandant9NoOptionsV<\\/USR><Declaration>public struct NoOptions&lt;ClientError&gt; : OptionsProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>An <codeVoice>OptionsProtocol<\\/codeVoice> that has no options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 47,\n+        "key.doc.name" : "NoOptions",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 46,\n+        "key.docoffset" : 1657,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1748\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>NoOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 210,\n+        "key.name" : "NoOptions",\n+        "key.namelength" : 9,\n+        "key.nameoffset" : 1717,\n+        "key.offset" : 1710,\n+        "key.parsed_declaration" : "public struct NoOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 53,\n+        "key.parsed_scope.start" : 47,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1740\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1727,\n+            "key.parsed_declaration" : "public struct NoOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 47,\n+            "key.parsed_scope.start" : 47,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant9NoOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1767\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 1782,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 1774,\n+            "key.offset" : 1774,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 48,\n+            "key.parsed_scope.start" : 48,\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> () -> NoOptions<ClientError>",\n+            "key.typeusr" : "$s10Commandant9NoOptionsVyxGycD",\n+            "key.usr" : "s:10Commandant9NoOptionsVACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1786\n+              }\n+            ],\n+            "key.bodylength" : 33,\n+            "key.bodyoffset" : 1884,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 125,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1805,\n+            "key.offset" : 1793,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<NoOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 52,\n+            "key.parsed_scope.start" : 50,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> (CommandMode) -> Result<NoOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant9NoOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "NoOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant9NoOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant9NoOptionsV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1988\n+          }\n+        ],\n+        "key.bodylength" : 786,\n+        "key.bodyoffset" : 2013,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an option that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 66,\n+        "key.docoffset" : 1922,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 805,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2002,\n+        "key.offset" : 1995,\n+        "key.parsed_declaration" : "public struct Option<T>",\n+        "key.parsed_scope.end" : 78,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2009,\n+            "key.offset" : 2009,\n+            "key.parsed_declaration" : "public struct Option<T",\n+            "key.parsed_scope.end" : 56,\n+            "key.parsed_scope.start" : 56,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant6OptionV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2132\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that controls this option. For example, a key of `verbose` would\\nbe used for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"59\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6OptionV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that controls this option. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 59,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 116,\n+            "key.docoffset" : 2015,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 2143,\n+            "key.offset" : 2139,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 59,\n+            "key.parsed_scope.start" : 59,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2303\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this option. This is the value that will be used\\nif the option is never explicitly specified on the command line.",\n+            "key.doc.declaration" : "public let defaultValue: T",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"63\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant6OptionV12defaultValuexvp<\\/USR><Declaration>public let defaultValue: T<\\/Declaration><CommentParts><Abstract><Para>The default value for this option. This is the value that will be used if the option is never explicitly specified on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 63,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 145,\n+            "key.docoffset" : 2157,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 19,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 2314,\n+            "key.offset" : 2310,\n+            "key.parsed_declaration" : "public let defaultValue: T",\n+            "key.parsed_scope.end" : 63,\n+            "key.parsed_scope.start" : 63,\n+            "key.typename" : "T",\n+            "key.typeusr" : "$sxD",\n+            "key.usr" : "s:10Commandant6OptionV12defaultValuexvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2637\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.\\n\\nFor boolean operations, this should describe the effect of _not_ using\\nthe default value (i.e., what will happen if you disable\\/enable the flag\\ndifferently from the default).",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "For boolean operations, this should describe the effect of  using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"71\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6OptionV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><Discussion><Para>For boolean operations, this should describe the effect of <emphasis>not<\\/emphasis> using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 71,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 304,\n+            "key.docoffset" : 2332,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 2648,\n+            "key.offset" : 2644,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 71,\n+            "key.parsed_scope.start" : 71,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(key: <Type usr=\\"s:SS\\">String<\\/Type>, defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2664\n+              }\n+            ],\n+            "key.bodylength" : 75,\n+            "key.bodyoffset" : 2722,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 127,\n+            "key.name" : "init(key:defaultValue:usage:)",\n+            "key.namelength" : 49,\n+            "key.nameoffset" : 2671,\n+            "key.offset" : 2671,\n+            "key.parsed_declaration" : "public init(key: String, defaultValue: T, usage: String)",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 73,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Option<T>.Type) -> (String, T, String) -> Option<T>",\n+            "key.typeusr" : "$s3key12defaultValue5usage10Commandant6OptionVyxGSS_xSStcD",\n+            "key.usr" : "s:10Commandant6OptionV3key12defaultValue5usageACyxGSS_xSStcfc"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 58,\n+        "key.bodyoffset" : 2845,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 2820\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 102,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2812,\n+        "key.offset" : 2802,\n+        "key.parsed_declaration" : "extension Option: CustomStringConvertible",\n+        "key.parsed_scope.end" : 84,\n+        "key.parsed_scope.start" : 80,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2847\n+              }\n+            ],\n+            "key.bodylength" : 22,\n+            "key.bodyoffset" : 2879,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 48,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2858,\n+            "key.offset" : 2854,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 83,\n+            "key.parsed_scope.start" : 81,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2909\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4404\n+          }\n+        ],\n+        "key.bodylength" : 22,\n+        "key.bodyoffset" : 4545,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"122\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (T) -&gt; U, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 122,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 211,\n+        "key.docoffset" : 4193,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 157,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 4416,\n+        "key.offset" : 4411,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 124,\n+        "key.parsed_scope.start" : 122,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4421,\n+            "key.offset" : 4421,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4424,\n+            "key.offset" : 4424,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4427,\n+            "key.offset" : 4427,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> ((T) -> U, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGq_xXE_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;((<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4797\n+          }\n+        ],\n+        "key.bodylength" : 346,\n+        "key.bodyoffset" : 4978,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies the function in `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"130\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies the function in <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 130,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 227,\n+        "key.docoffset" : 4570,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>(<tuple.element><tuple.element.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/tuple.element.type><\\/tuple.element>)<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 521,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 124,\n+        "key.nameoffset" : 4809,\n+        "key.offset" : 4804,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 145,\n+        "key.parsed_scope.start" : 130,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: (T) -&gt; U, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4814,\n+            "key.offset" : 4814,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4817,\n+            "key.offset" : 4817,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4820,\n+            "key.offset" : 4820,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> (Result<((T) -> U), CommandantError<ClientError>>, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGAByq_xcAFG_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 4309,\n+        "key.bodyoffset" : 5350,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4333,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 5337,\n+        "key.offset" : 5327,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 273,\n+        "key.parsed_scope.start" : 147,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5538\n+              }\n+            ],\n+            "key.bodylength" : 230,\n+            "key.bodyoffset" : 5677,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"152\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 152,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 5352,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 363,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 75,\n+            "key.nameoffset" : 5557,\n+            "key.offset" : 5545,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 157,\n+            "key.parsed_scope.start" : 152,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 5564\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 5561,\n+                "key.offset" : 5561,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 5582,\n+                "key.offset" : 5582,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;T?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;T?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 97,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 5684,\n+                "key.offset" : 5680,\n+                "key.parsed_declaration" : "let wrapped = Option<T?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 153,\n+                "key.parsed_scope.start" : 153,\n+                "key.typename" : "Option<T?>",\n+                "key.typeusr" : "$s10Commandant6OptionVyxSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_ALyxSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC6OptionVyxGtcAC16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 6075\n+              }\n+            ],\n+            "key.bodylength" : 852,\n+            "key.bodyoffset" : 6216,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"163\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 163,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 5911,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 987,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 76,\n+            "key.nameoffset" : 6094,\n+            "key.offset" : 6082,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 163,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 6101\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 6098,\n+                "key.offset" : 6098,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 6119,\n+                "key.offset" : 6119,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 6223,\n+                "key.offset" : 6219,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 164,\n+                "key.parsed_scope.start" : 164,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyxSg10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7258\n+              }\n+            ],\n+            "key.bodylength" : 232,\n+            "key.bodyoffset" : 7401,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"202\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 7072,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 369,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 77,\n+            "key.nameoffset" : 7277,\n+            "key.offset" : 7265,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 207,\n+            "key.parsed_scope.start" : 202,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7284\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7281,\n+                "key.offset" : 7281,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7302,\n+                "key.offset" : 7302,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[T]?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[T]?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 99,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 7408,\n+                "key.offset" : 7404,\n+                "key.parsed_declaration" : "let wrapped = Option<[T]?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "Option<[T]?>",\n+                "key.typeusr" : "$s10Commandant6OptionVySayxGSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_AMyAGSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7801\n+              }\n+            ],\n+            "key.bodylength" : 1117,\n+            "key.bodyoffset" : 7946,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"213\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 213,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 7637,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 1256,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 78,\n+            "key.nameoffset" : 7820,\n+            "key.offset" : 7808,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 254,\n+            "key.parsed_scope.start" : 213,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7827\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7824,\n+                "key.offset" : 7824,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7845,\n+                "key.offset" : 7845,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 7953,\n+                "key.offset" : 7949,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 214,\n+                "key.parsed_scope.start" : 214,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxGSg10Commandant0B5ErrorOyq_GGAE11CommandModeO_AE6OptionVyADGtcAE16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 9261\n+              }\n+            ],\n+            "key.bodylength" : 272,\n+            "key.bodyoffset" : 9385,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"260\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 260,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 9067,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 390,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 57,\n+            "key.nameoffset" : 9280,\n+            "key.offset" : 9268,\n+            "key.parsed_declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 272,\n+            "key.parsed_scope.start" : 260,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 9284,\n+                "key.offset" : 9284,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 260,\n+                "key.parsed_scope.start" : 260,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6OptionVySbGtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/OrderedSet.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 800,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 30\n+          }\n+        ],\n+        "key.bodylength" : 348,\n+        "key.bodyoffset" : 82,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "A poor man\'s ordered set.",\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 30,\n+        "key.docoffset" : 0,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 71\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 392,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 46,\n+        "key.offset" : 39,\n+        "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable>: Equatable",\n+        "key.parsed_scope.end" : 19,\n+        "key.parsed_scope.start" : 2,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 8,\n+                "key.offset" : 60\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Hashable"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 57,\n+            "key.offset" : 57,\n+            "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable",\n+            "key.parsed_scope.end" : 2,\n+            "key.parsed_scope.start" : 2,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant10OrderedSetV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var values: [<Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 84\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>values<\\/decl.name>: <decl.var.type>[<ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "values",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 100,\n+            "key.offset" : 96,\n+            "key.parsed_declaration" : "fileprivate var values: [T] = []",\n+            "key.parsed_scope.end" : 3,\n+            "key.parsed_scope.start" : 3,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.typename" : "[T]",\n+            "key.typeusr" : "$sSayxGD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6values33_E700A43BE27995F7283A44882E2B4A42LLSayxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>init&lt;S&gt;(_ sequence: <Type usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/Type>) where T == S.Element, S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 74,\n+            "key.bodyoffset" : 174,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\"><decl.generic_type_param.name>S<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>sequence<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T == S.Element<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>S : <ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 130,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 119,\n+            "key.offset" : 119,\n+            "key.parsed_declaration" : "init<S: Sequence>(_ sequence: S) where S.Element == T",\n+            "key.parsed_scope.end" : 9,\n+            "key.parsed_scope.start" : 5,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 8,\n+                    "key.offset" : 127\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>S<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "Sequence"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "S",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 124,\n+                "key.offset" : 124,\n+                "key.parsed_declaration" : "init<S: Sequence",\n+                "key.parsed_scope.end" : 5,\n+                "key.parsed_scope.start" : 5,\n+                "key.typename" : "S.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, S where T : Hashable, T == S.Element, S : Sequence> (OrderedSet<T>.Type) -> (S) -> OrderedSet<T>",\n+            "key.typeusr" : "$sy10Commandant10OrderedSetVyxGqd__c7ElementQyd__RszSTRd__luD",\n+            "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>@discardableResult mutating func remove(_ member: <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.mutating",\n+                "key.length" : 8,\n+                "key.offset" : 272\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 252\n+              }\n+            ],\n+            "key.bodylength" : 115,\n+            "key.bodyoffset" : 313,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>mutating<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>remove<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>member<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 148,\n+            "key.name" : "remove(_:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 286,\n+            "key.offset" : 281,\n+            "key.parsed_declaration" : "mutating func remove(_ member: T) -> T?",\n+            "key.parsed_scope.end" : 18,\n+            "key.parsed_scope.start" : 12,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (inout OrderedSet<T>) -> (T) -> T?",\n+            "key.typeusr" : "$syxSgxcD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6removeyxSgxF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 331,\n+        "key.bodyoffset" : 467,\n+        "key.doc.column" : 17,\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 10,\n+            "key.offset" : 455\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Collection"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 366,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 443,\n+        "key.offset" : 433,\n+        "key.parsed_declaration" : "extension OrderedSet: Collection",\n+        "key.parsed_scope.end" : 45,\n+        "key.parsed_scope.start" : 21,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>subscript(position: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 28,\n+            "key.bodyoffset" : 500,\n+            "key.doc.declaration" : "subscript(position: Self.Index) -> Self.Element { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The following example accesses an element of an array through its subscript to print its value:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>subscript(_:)<\\/Name><USR>s:Sly7ElementQz5IndexQzcip<\\/USR><Declaration>subscript(position: Self.Index) -&gt; Self.Element { get }<\\/Declaration><CommentParts><Abstract><Para>Accesses the element at the specified position.<\\/Para><\\/Abstract><Parameters><Parameter><Name>position<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The position of the element to access. <codeVoice>position<\\/codeVoice> must be a valid index of the collection that is not equal to the <codeVoice>endIndex<\\/codeVoice> property.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><Discussion><Para>The following example accesses an element of an array through its subscript to print its value:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var streets = [\\"Adams\\", \\"Bryant\\", \\"Channing\\", \\"Douglas\\", \\"Evarts\\"]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(streets[1])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Bryant\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element.<\\/Para><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The position of the element to access. `position` must be a valid index of the collection that is not equal to the `endIndex` property."\n+                  }\n+                ],\n+                "name" : "position"\n+              }\n+            ],\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>position<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 60,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 24,\n+            "key.nameoffset" : 469,\n+            "key.offset" : 469,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+              }\n+            ],\n+            "key.parsed_declaration" : "subscript(position: Int) -> T",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 22,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (Int) -> T",\n+            "key.typeusr" : "$syxSicD",\n+            "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var count: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 24,\n+            "key.bodyoffset" : 548,\n+            "key.doc.declaration" : "var count: Int { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "To check whether a collection is empty, use its `isEmpty` property instead of comparing `count` to zero. Unless the collection guarantees random-access performance, calculating `count` can be an O() operation."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>count<\\/Name><USR>s:Sl5countSivp<\\/USR><Declaration>var count: Int { get }<\\/Declaration><CommentParts><Abstract><Para>The number of elements in the collection.<\\/Para><\\/Abstract><Discussion><Para>To check whether a collection is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing <codeVoice>count<\\/codeVoice> to zero. Unless the collection guarantees random-access performance, calculating <codeVoice>count<\\/codeVoice> can be an O(<emphasis>n<\\/emphasis>) operation.<\\/Para><Complexity><Para>O(1) if the collection conforms to <codeVoice>RandomAccessCollection<\\/codeVoice>; otherwise, O(<emphasis>n<\\/emphasis>), where <emphasis>n<\\/emphasis> is the length of the collection.<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "count",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>count<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 41,\n+            "key.name" : "count",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 532,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5countSivp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var count: Int",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl5countSivp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var isEmpty: <Type usr=\\"s:Sb\\">Bool<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 26,\n+            "key.bodyoffset" : 595,\n+            "key.doc.declaration" : "var isEmpty: Bool { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need to check whether your collection is empty, use the `isEmpty` property instead of checking that the `count` property is equal to zero. For collections that don’t conform to `RandomAccessCollection`, accessing the `count` property iterates through the elements of the collection."\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>isEmpty<\\/Name><USR>s:Sl7isEmptySbvp<\\/USR><Declaration>var isEmpty: Bool { get }<\\/Declaration><CommentParts><Abstract><Para>A Boolean value indicating whether the collection is empty.<\\/Para><\\/Abstract><Discussion><Para>When you need to check whether your collection is empty, use the <codeVoice>isEmpty<\\/codeVoice> property instead of checking that the <codeVoice>count<\\/codeVoice> property is equal to zero. For collections that don’t conform to <codeVoice>RandomAccessCollection<\\/codeVoice>, accessing the <codeVoice>count<\\/codeVoice> property iterates through the elements of the collection.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let horseName = \\"Silver\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if horseName.isEmpty {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"I\'ve been through the desert on a horse with no name.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"Hi ho, \\\\(horseName)!\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Hi ho, Silver!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "isEmpty",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>isEmpty<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "isEmpty",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 580,\n+            "key.offset" : 576,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl7isEmptySbvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var isEmpty: Bool",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 30,\n+            "key.typename" : "Bool",\n+            "key.typeusr" : "$sSbD",\n+            "key.usr" : "s:Sl7isEmptySbvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var startIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 29,\n+            "key.bodyoffset" : 646,\n+            "key.doc.declaration" : "var startIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the collection is empty, `startIndex` is equal to `endIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>startIndex<\\/Name><USR>s:Sl10startIndex0B0Qzvp<\\/USR><Declaration>var startIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The position of the first element in a nonempty collection.<\\/Para><\\/Abstract><Discussion><Para>If the collection is empty, <codeVoice>startIndex<\\/codeVoice> is equal to <codeVoice>endIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "startIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>startIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 51,\n+            "key.name" : "startIndex",\n+            "key.namelength" : 10,\n+            "key.nameoffset" : 629,\n+            "key.offset" : 625,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var startIndex: Int",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var endIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 27,\n+            "key.bodyoffset" : 698,\n+            "key.doc.declaration" : "var endIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need a range that includes the last element of a collection, use the half-open range operator (`..<`) with `endIndex`. The `..<` operator creates a range that doesn’t include the upper bound, so it’s always safe to use with `endIndex`. For example:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "If the collection is empty, `endIndex` is equal to `startIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>endIndex<\\/Name><USR>s:Sl8endIndex0B0Qzvp<\\/USR><Declaration>var endIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The collection’s “past the end” position—that is, the position one greater than the last valid subscript argument.<\\/Para><\\/Abstract><Discussion><Para>When you need a range that includes the last element of a collection, use the half-open range operator (<codeVoice>..&lt;<\\/codeVoice>) with <codeVoice>endIndex<\\/codeVoice>. The <codeVoice>..&lt;<\\/codeVoice> operator creates a range that doesn’t include the upper bound, so it’s always safe to use with <codeVoice>endIndex<\\/codeVoice>. For example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let numbers = [10, 20, 30, 40, 50]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if let index = numbers.firstIndex(of: 30) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(numbers[index ..< numbers.endIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[30, 40, 50]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If the collection is empty, <codeVoice>endIndex<\\/codeVoice> is equal to <codeVoice>startIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "endIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>endIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 47,\n+            "key.name" : "endIndex",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 683,\n+            "key.offset" : 679,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var endIndex: Int",\n+            "key.parsed_scope.end" : 40,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>func index(after i: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 34,\n+            "key.bodyoffset" : 762,\n+            "key.doc.declaration" : "func index(after i: Self.Index) -> Self.Index",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The successor of an index must be well defined. For an index `i` into a collection `c`, calling `c.index(after: i)` returns the same index every time."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Function><Name>index(after:)<\\/Name><USR>s:Sl5index5after5IndexQzAD_tF<\\/USR><Declaration>func index(after i: Self.Index) -&gt; Self.Index<\\/Declaration><CommentParts><Abstract><Para>Returns the position immediately after the given index.<\\/Para><\\/Abstract><Parameters><Parameter><Name>i<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>A valid index of the collection. <codeVoice>i<\\/codeVoice> must be less than <codeVoice>endIndex<\\/codeVoice>.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><ResultDiscussion><Para>The index value immediately after <codeVoice>i<\\/codeVoice>.<\\/Para><\\/ResultDiscussion><Discussion><Para>The successor of an index must be well defined. For an index <codeVoice>i<\\/codeVoice> into a collection <codeVoice>c<\\/codeVoice>, calling <codeVoice>c.index(after: i)<\\/codeVoice> returns the same index every time.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.name" : "index(after:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "A valid index of the collection. `i` must be less than `endIndex`."\n+                  }\n+                ],\n+                "name" : "i"\n+              }\n+            ],\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The index value immediately after `i`."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>after<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>i<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 68,\n+            "key.name" : "index(after:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 734,\n+            "key.offset" : 729,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "func index(after i: Int) -> Int",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 42,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (OrderedSet<T>) -> (Int) -> Int",\n+            "key.typeusr" : "$s5afterS2i_tcD",\n+            "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Result+Additions.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 421,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 148\n+          }\n+        ],\n+        "key.bodylength" : 244,\n+        "key.bodyoffset" : 175,\n+        "key.doc.declaration" : "@frozen enum Result<Success, Failure> where Failure : Error",\n+        "key.doc.full_as_xml" : "<Other><Name>Result<\\/Name><USR>s:s6ResultO<\\/USR><Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : Error<\\/Declaration><CommentParts><Abstract><Para>A value that represents either a success or a failure, including an associated value in each case.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.name" : "Result",\n+        "key.doc.type" : "Other",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>Result<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:s6ResultO7Successxmfp\\"><decl.generic_type_param.name>Success<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:s6ResultO7Failureq_mfp\\"><decl.generic_type_param.name>Failure<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>Failure : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.enum>",\n+        "key.groupname" : "Result",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Result",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 167,\n+        "key.offset" : 157,\n+        "key.parsed_declaration" : "internal extension Result",\n+        "key.parsed_scope.end" : 27,\n+        "key.parsed_scope.start" : 9,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var value: <Type usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 198,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "value",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 181,\n+            "key.offset" : 177,\n+            "key.parsed_declaration" : "var value: Success?",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "Success?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5valuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var error: <Type usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 320,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>error<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "error",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 303,\n+            "key.offset" : 299,\n+            "key.parsed_declaration" : "var error: Failure?",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "Failure?",\n+            "key.typeusr" : "$sq_SgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5errorq_Sgvp"\n+          }\n+        ],\n+        "key.typename" : "Result<Success, Failure>.Type",\n+        "key.typeusr" : "$ss6ResultOyxq_GmD",\n+        "key.usr" : "s:s6ResultO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Switch.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2007,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 375\n+          }\n+        ],\n+        "key.bodylength" : 724,\n+        "key.bodyoffset" : 397,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes a parameterless command line flag that defaults to false and can only\\nbe switched on. Canonical examples include `--force` and `--recurse`.\\n\\nFor a boolean toggle that can be enabled and disabled use `Option<Bool>`.",\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 240,\n+        "key.docoffset" : 135,\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 740,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 389,\n+        "key.offset" : 382,\n+        "key.parsed_declaration" : "public struct Switch",\n+        "key.parsed_scope.end" : 34,\n+        "key.parsed_scope.start" : 13,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 515\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that enables this switch. For example, a key of `verbose` would be\\nused for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"16\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6SwitchV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that enables this switch. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 16,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 115,\n+            "key.docoffset" : 399,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 526,\n+            "key.offset" : 522,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 16,\n+            "key.parsed_scope.start" : 16,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let flag: <Type usr=\\"s:SJ\\">Character<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "Optional single letter flag that enables this switch. For example, `-v` would\\nbe used as a shorthand for `--verbose`.\\n\\nMultiple flags can be grouped together as a single argument and will split\\nwhen parsing (e.g. `rm -rf` treats \'r\' and \'f\' as inidividual flags).",\n+            "key.doc.declaration" : "public let flag: Character?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Multiple flags can be grouped together as a single argument and will split when parsing (e.g. `rm -rf` treats ‘r’ and ‘f’ as inidividual flags)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"23\\" column=\\"13\\"><Name>flag<\\/Name><USR>s:10Commandant6SwitchV4flagSJSgvp<\\/USR><Declaration>public let flag: Character?<\\/Declaration><CommentParts><Abstract><Para>Optional single letter flag that enables this switch. For example, <codeVoice>-v<\\/codeVoice> would be used as a shorthand for <codeVoice>--verbose<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>Multiple flags can be grouped together as a single argument and will split when parsing (e.g. <codeVoice>rm -rf<\\/codeVoice> treats ‘r’ and ‘f’ as inidividual flags).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 23,\n+            "key.doc.name" : "flag",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 287,\n+            "key.docoffset" : 540,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "flag",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 839,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public let flag: Character?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "Character?",\n+            "key.typeusr" : "$sSJSgD",\n+            "key.usr" : "s:10Commandant6SwitchV4flagSJSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 968\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"27\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6SwitchV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 27,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 858,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 979,\n+            "key.offset" : 975,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>? = nil, key: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 995\n+              }\n+            ],\n+            "key.bodylength" : 59,\n+            "key.bodyoffset" : 1060,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 118,\n+            "key.name" : "init(flag:key:usage:)",\n+            "key.namelength" : 56,\n+            "key.nameoffset" : 1002,\n+            "key.offset" : 1002,\n+            "key.parsed_declaration" : "public init(flag: Character? = nil, key: String, usage: String)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Switch.Type) -> (Character?, String, String) -> Switch",\n+            "key.typeusr" : "$s4flag3key5usage10Commandant6SwitchVSJSg_S2StcD",\n+            "key.usr" : "s:10Commandant6SwitchV4flag3key5usageACSJSg_S2Stcfc"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.bodylength" : 140,\n+        "key.bodyoffset" : 1167,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 1142\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 184,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 1134,\n+        "key.offset" : 1124,\n+        "key.parsed_declaration" : "extension Switch: CustomStringConvertible",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 36,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1169\n+              }\n+            ],\n+            "key.bodylength" : 104,\n+            "key.bodyoffset" : 1201,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 130,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1180,\n+            "key.offset" : 1176,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var options: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 24,\n+            "key.name" : "options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 1208,\n+            "key.offset" : 1204,\n+            "key.parsed_declaration" : "var options = \\"--\\\\(key)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV11descriptionSSvg7optionsL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1313\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 650,\n+        "key.bodyoffset" : 1355,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 674,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1342,\n+        "key.offset" : 1332,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 67,\n+        "key.parsed_scope.start" : 48,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6SwitchV\\">Switch<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1551\n+              }\n+            ],\n+            "key.bodylength" : 333,\n+            "key.bodyoffset" : 1670,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean switch in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"53\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean switch in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 53,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 1357,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6SwitchV\\">Switch<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 446,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 52,\n+            "key.nameoffset" : 1570,\n+            "key.offset" : 1558,\n+            "key.parsed_declaration" : "public static func <| <ClientError> (mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 53,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1574,\n+                "key.offset" : 1574,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 53,\n+                "key.parsed_scope.start" : 53,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6SwitchVtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}]\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json\nnew file mode 100644\nindex 0000000..86cc1bb\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/Extension@swift-5.3.json\n@@ -0,0 +1,306 @@\n+{\n+  "Extension.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 504,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>class Base<\\/Declaration>",\n+        "key.bodylength" : 166,\n+        "key.bodyoffset" : 29,\n+        "key.doc.column" : 7,\n+        "key.doc.comment" : "Doc for Base",\n+        "key.doc.declaration" : "class Base",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"2\\" column=\\"7\\"><Name>Base<\\/Name><USR>s:9Extension4BaseC<\\/USR><Declaration>class Base<\\/Declaration><CommentParts><Abstract><Para>Doc for Base<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "Base",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 17,\n+        "key.docoffset" : 0,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Base<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 179,\n+        "key.name" : "Base",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 23,\n+        "key.offset" : 17,\n+        "key.parsed_declaration" : "class Base",\n+        "key.parsed_scope.end" : 14,\n+        "key.parsed_scope.start" : 2,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>typealias <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Index = <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Doc for Base.Index",\n+            "key.doc.declaration" : "typealias Extension.Base.Index = Int",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Extension.swift\\" line=\\"5\\" column=\\"15\\"><Name>Index<\\/Name><USR>s:9Extension4BaseC5Indexa<\\/USR><Declaration>typealias Extension.Base.Index = Int<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Index<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 5,\n+            "key.doc.name" : "Index",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 23,\n+            "key.docoffset" : 35,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Index<\\/decl.name> = <ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 21,\n+            "key.name" : "Index",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 72,\n+            "key.offset" : 62,\n+            "key.parsed_declaration" : "typealias Index = Int",\n+            "key.parsed_scope.end" : 5,\n+            "key.parsed_scope.start" : 5,\n+            "key.typename" : "Int.Type",\n+            "key.typeusr" : "$sSimD",\n+            "key.usr" : "s:9Extension4BaseC5Indexa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>func f(index: <Type usr=\\"s:9Extension4BaseC5Indexa\\">Index<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 134,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Doc for Base.f",\n+            "key.doc.declaration" : "func f(index: Index)",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Extension.swift\\" line=\\"8\\" column=\\"10\\"><Name>f(index:)<\\/Name><USR>s:9Extension4BaseC1f5indexySi_tF<\\/USR><Declaration>func f(index: Index)<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.f<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 8,\n+            "key.doc.name" : "f(index:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 19,\n+            "key.docoffset" : 89,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>f<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>index<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.typealias usr=\\"s:9Extension4BaseC5Indexa\\">Index<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 28,\n+            "key.name" : "f(index:)",\n+            "key.namelength" : 15,\n+            "key.nameoffset" : 117,\n+            "key.offset" : 112,\n+            "key.parsed_declaration" : "func f(index: Index)",\n+            "key.parsed_scope.end" : 9,\n+            "key.parsed_scope.start" : 8,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Base) -> (Int) -> ()",\n+            "key.typeusr" : "$s5indexySi_tcD",\n+            "key.usr" : "s:9Extension4BaseC1f5indexySi_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>class <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Nested<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 188,\n+            "key.doc.column" : 11,\n+            "key.doc.comment" : "Doc for Base.Nested",\n+            "key.doc.declaration" : "class Extension.Base.Nested",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"12\\" column=\\"11\\"><Name>Nested<\\/Name><USR>s:9Extension4BaseC6NestedC<\\/USR><Declaration>class Extension.Base.Nested<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Nested<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "Nested",\n+            "key.doc.type" : "Class",\n+            "key.doclength" : 24,\n+            "key.docoffset" : 146,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Nested<\\/decl.name><\\/decl.class>",\n+            "key.kind" : "source.lang.swift.decl.class",\n+            "key.length" : 20,\n+            "key.name" : "Nested",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 180,\n+            "key.offset" : 174,\n+            "key.parsed_declaration" : "class Nested",\n+            "key.parsed_scope.end" : 13,\n+            "key.parsed_scope.start" : 12,\n+            "key.typename" : "Base.Nested.Type",\n+            "key.typeusr" : "$s9Extension4BaseC6NestedCmD",\n+            "key.usr" : "s:9Extension4BaseC6NestedC"\n+          }\n+        ],\n+        "key.typename" : "Base.Type",\n+        "key.typeusr" : "$s9Extension4BaseCmD",\n+        "key.usr" : "s:9Extension4BaseC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>class Base<\\/Declaration>",\n+        "key.bodylength" : 155,\n+        "key.bodyoffset" : 214,\n+        "key.doc.column" : 7,\n+        "key.doc.declaration" : "class Base",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"2\\" column=\\"7\\"><Name>Base<\\/Name><USR>s:9Extension4BaseC<\\/USR><Declaration>class Base<\\/Declaration><CommentParts><Abstract><Para>Doc for Base<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "Base",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Base<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 172,\n+        "key.name" : "Base",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 208,\n+        "key.offset" : 198,\n+        "key.parsed_declaration" : "extension Base",\n+        "key.parsed_scope.end" : 24,\n+        "key.parsed_scope.start" : 16,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>typealias ExtendedIndex = <Type usr=\\"s:Sd\\">Double<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Doc for Base.ExtendedIndex",\n+            "key.doc.declaration" : "typealias ExtendedIndex = Double",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Extension.swift\\" line=\\"19\\" column=\\"15\\"><Name>ExtendedIndex<\\/Name><USR>s:9Extension4BaseC13ExtendedIndexa<\\/USR><Declaration>typealias ExtendedIndex = Double<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.ExtendedIndex<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 19,\n+            "key.doc.name" : "ExtendedIndex",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 31,\n+            "key.docoffset" : 220,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <decl.name>ExtendedIndex<\\/decl.name> = <ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 32,\n+            "key.name" : "ExtendedIndex",\n+            "key.namelength" : 13,\n+            "key.nameoffset" : 265,\n+            "key.offset" : 255,\n+            "key.parsed_declaration" : "typealias ExtendedIndex = Double",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "Double.Type",\n+            "key.typeusr" : "$sSdmD",\n+            "key.usr" : "s:9Extension4BaseC13ExtendedIndexa"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>func extendedF(index: <Type usr=\\"s:9Extension4BaseC13ExtendedIndexa\\">ExtendedIndex<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 362,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Doc for Base.extendedF",\n+            "key.doc.declaration" : "func extendedF(index: ExtendedIndex)",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Extension.swift\\" line=\\"22\\" column=\\"10\\"><Name>extendedF(index:)<\\/Name><USR>s:9Extension4BaseC9extendedF5indexySd_tF<\\/USR><Declaration>func extendedF(index: ExtendedIndex)<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.extendedF<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 22,\n+            "key.doc.name" : "extendedF(index:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 27,\n+            "key.docoffset" : 293,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>extendedF<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>index<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.typealias usr=\\"s:9Extension4BaseC13ExtendedIndexa\\">ExtendedIndex<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 44,\n+            "key.name" : "extendedF(index:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 329,\n+            "key.offset" : 324,\n+            "key.parsed_declaration" : "func extendedF(index: ExtendedIndex)",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 22,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Base) -> (Double) -> ()",\n+            "key.typeusr" : "$s5indexySd_tcD",\n+            "key.usr" : "s:9Extension4BaseC9extendedF5indexySd_tF"\n+          }\n+        ],\n+        "key.typename" : "Base.Type",\n+        "key.typeusr" : "$s9Extension4BaseCmD",\n+        "key.usr" : "s:9Extension4BaseC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>class <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Nested<\\/Declaration>",\n+        "key.bodylength" : 1,\n+        "key.bodyoffset" : 436,\n+        "key.doc.column" : 11,\n+        "key.doc.declaration" : "class Extension.Base.Nested",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"12\\" column=\\"11\\"><Name>Nested<\\/Name><USR>s:9Extension4BaseC6NestedC<\\/USR><Declaration>class Extension.Base.Nested<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Nested<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "Nested",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Nested<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 25,\n+        "key.name" : "Base.Nested",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 423,\n+        "key.offset" : 413,\n+        "key.parsed_declaration" : "extension Base.Nested",\n+        "key.parsed_scope.end" : 29,\n+        "key.parsed_scope.start" : 28,\n+        "key.typename" : "Base.Nested.Type",\n+        "key.typeusr" : "$s9Extension4BaseC6NestedCmD",\n+        "key.usr" : "s:9Extension4BaseC6NestedC"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>class 🐽<\\/Declaration>",\n+        "key.bodylength" : 25,\n+        "key.bodyoffset" : 452,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>🐽<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 38,\n+        "key.name" : "🐽",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 446,\n+        "key.offset" : 440,\n+        "key.parsed_declaration" : "class 🐽",\n+        "key.parsed_scope.end" : 34,\n+        "key.parsed_scope.start" : 31,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>struct <Type usr=\\"s:9Extension004ipIhC\\">🐽<\\/Type>.🐧<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 470,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>struct<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension004ipIhC\\">🐽<\\/ref.class>.<decl.name>🐧<\\/decl.name><\\/decl.struct>",\n+            "key.kind" : "source.lang.swift.decl.struct",\n+            "key.length" : 19,\n+            "key.name" : "🐧",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 464,\n+            "key.offset" : 457,\n+            "key.parsed_declaration" : "struct 🐧",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 32,\n+            "key.typename" : "🐽.🐧.Type",\n+            "key.typeusr" : "$s9Extension004ipIhC004voIhVmD",\n+            "key.usr" : "s:9Extension004ipIhC004voIhV"\n+          }\n+        ],\n+        "key.typename" : "🐽.Type",\n+        "key.typeusr" : "$s9Extension004ipIhCmD",\n+        "key.usr" : "s:9Extension004ipIhC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>struct <Type usr=\\"s:9Extension004ipIhC\\">🐽<\\/Type>.🐧<\\/Declaration>",\n+        "key.bodylength" : 1,\n+        "key.bodyoffset" : 501,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>struct<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension004ipIhC\\">🐽<\\/ref.class>.<decl.name>🐧<\\/decl.name><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 23,\n+        "key.name" : "🐽.🐧",\n+        "key.namelength" : 9,\n+        "key.nameoffset" : 490,\n+        "key.offset" : 480,\n+        "key.parsed_declaration" : "extension 🐽.🐧",\n+        "key.parsed_scope.end" : 37,\n+        "key.parsed_scope.start" : 36,\n+        "key.typename" : "🐽.🐧.Type",\n+        "key.typeusr" : "$s9Extension004ipIhC004voIhVmD",\n+        "key.usr" : "s:9Extension004ipIhC004voIhV"\n+      }\n+    ]\n+  }\n+}\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycle@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycle@swift-5.3.json\nnew file mode 100644\nindex 0000000..ef9185e\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycle@swift-5.3.json\n@@ -0,0 +1,727 @@\n+{\n+  "Bicycle.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2472,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>class NSString : <Type usr=\\"s:10Foundation8NSObjectC\\">NSObject<\\/Type>, <Type usr=\\"s:10Foundation9NSCopyingP\\">NSCopying<\\/Type>, <Type usr=\\"s:10Foundation16NSMutableCopyingP\\">NSMutableCopying<\\/Type>, <Type usr=\\"s:10Foundation14NSSecureCodingP\\">NSSecureCoding<\\/Type>, <Type usr=\\"s:10Foundation8NSCodingP\\">NSCoding<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 134\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.available",\n+            "key.length" : 88,\n+            "key.offset" : 45\n+          }\n+        ],\n+        "key.bodylength" : 0,\n+        "key.bodyoffset" : 161,\n+        "key.doc.comment" : "Deprecated extension.",\n+        "key.doclength" : 26,\n+        "key.docoffset" : 19,\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>NSString<\\/decl.name> : <ref.class usr=\\"s:10Foundation8NSObjectC\\">NSObject<\\/ref.class>, <ref.protocol usr=\\"s:10Foundation9NSCopyingP\\">NSCopying<\\/ref.protocol>, <ref.protocol usr=\\"s:10Foundation16NSMutableCopyingP\\">NSMutableCopying<\\/ref.protocol>, <ref.protocol usr=\\"s:10Foundation14NSSecureCodingP\\">NSSecureCoding<\\/ref.protocol>, <ref.protocol usr=\\"s:10Foundation8NSCodingP\\">NSCoding<\\/ref.protocol><\\/decl.class>",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 21,\n+        "key.modulename" : "Foundation",\n+        "key.name" : "NSString",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 151,\n+        "key.offset" : 141,\n+        "key.parsed_declaration" : "public extension NSString",\n+        "key.parsed_scope.end" : 5,\n+        "key.parsed_scope.start" : 5,\n+        "key.typename" : "NSString.Type",\n+        "key.typeusr" : "$s10Foundation8NSStringCmD",\n+        "key.usr" : "s:10Foundation8NSStringC"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public class Bicycle<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 226\n+          }\n+        ],\n+        "key.bodylength" : 2222,\n+        "key.bodyoffset" : 248,\n+        "key.doc.column" : 14,\n+        "key.doc.comment" : "🚲 A two-wheeled, human-powered mode of transportation.",\n+        "key.doc.declaration" : "public class Bicycle",\n+        "key.doc.file" : "Bicycle.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Bicycle.swift\\" line=\\"8\\" column=\\"14\\"><Name>Bicycle<\\/Name><USR>s:7BicycleAAC<\\/USR><Declaration>public class Bicycle<\\/Declaration><CommentParts><Abstract><Para>🚲 A two-wheeled, human-powered mode of transportation.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 8,\n+        "key.doc.name" : "Bicycle",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 164,\n+        "key.filepath" : "Bicycle.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Bicycle<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 2238,\n+        "key.name" : "Bicycle",\n+        "key.namelength" : 7,\n+        "key.nameoffset" : 239,\n+        "key.offset" : 233,\n+        "key.parsed_declaration" : "public class Bicycle",\n+        "key.parsed_scope.end" : 93,\n+        "key.parsed_scope.start" : 8,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Style<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 473\n+              }\n+            ],\n+            "key.bodylength" : 49,\n+            "key.bodyoffset" : 492,\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "Frame and construction style.\\n\\n- Road: For streets or trails.\\n- Touring: For long journeys.\\n- Cruiser: For casual trips around town.\\n- Hybrid: For general-purpose transportation.",\n+            "key.doc.declaration" : "public enum Bicycle.Bicycle.Style",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"17\\" column=\\"17\\"><Name>Style<\\/Name><USR>s:7BicycleAAC5StyleO<\\/USR><Declaration>public enum Bicycle.Bicycle.Style<\\/Declaration><CommentParts><Abstract><Para>Frame and construction style.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Road: For streets or trails.<\\/Para><\\/Item><Item><Para>Touring: For long journeys.<\\/Para><\\/Item><Item><Para>Cruiser: For casual trips around town.<\\/Para><\\/Item><Item><Para>Hybrid: For general-purpose transportation.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 17,\n+            "key.doc.name" : "Style",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 215,\n+            "key.docoffset" : 253,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Style<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 62,\n+            "key.name" : "Style",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 485,\n+            "key.offset" : 480,\n+            "key.parsed_declaration" : "public enum Style",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 17,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 35,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 501,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Road<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Road<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 4,\n+                    "key.name" : "Road",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 506,\n+                    "key.offset" : 506,\n+                    "key.parsed_declaration" : "case Road",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO4RoadyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Touring<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Touring<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 7,\n+                    "key.name" : "Touring",\n+                    "key.namelength" : 7,\n+                    "key.nameoffset" : 512,\n+                    "key.offset" : 512,\n+                    "key.parsed_declaration" : "case Road, Touring",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO7TouringyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Cruiser<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Cruiser<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 7,\n+                    "key.name" : "Cruiser",\n+                    "key.namelength" : 7,\n+                    "key.nameoffset" : 521,\n+                    "key.offset" : 521,\n+                    "key.parsed_declaration" : "case Road, Touring, Cruiser",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO7CruiseryA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Hybrid<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Hybrid<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 6,\n+                    "key.name" : "Hybrid",\n+                    "key.namelength" : 6,\n+                    "key.nameoffset" : 530,\n+                    "key.offset" : 530,\n+                    "key.parsed_declaration" : "case Road, Touring, Cruiser, Hybrid",\n+                    "key.parsed_scope.end" : 18,\n+                    "key.parsed_scope.start" : 18,\n+                    "key.typename" : "(Bicycle.Style.Type) -> Bicycle.Style",\n+                    "key.typeusr" : "$sy7BicycleAAC5StyleOADmcD",\n+                    "key.usr" : "s:7BicycleAAC5StyleO6HybridyA2DmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Style.Type",\n+            "key.typeusr" : "$s7BicycleAAC5StyleOmD",\n+            "key.usr" : "s:7BicycleAAC5StyleO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Gearing<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 712\n+              }\n+            ],\n+            "key.bodylength" : 60,\n+            "key.bodyoffset" : 733,\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "Mechanism for converting pedal power into motion.\\n\\n- Fixed: A single, fixed gear.\\n- Freewheel: A variable-speed, disengageable gear.",\n+            "key.doc.declaration" : "public enum Bicycle.Bicycle.Gearing",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"27\\" column=\\"17\\"><Name>Gearing<\\/Name><USR>s:7BicycleAAC7GearingO<\\/USR><Declaration>public enum Bicycle.Bicycle.Gearing<\\/Declaration><CommentParts><Abstract><Para>Mechanism for converting pedal power into motion.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Fixed: A single, fixed gear.<\\/Para><\\/Item><Item><Para>Freewheel: A variable-speed, disengageable gear.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 27,\n+            "key.doc.name" : "Gearing",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 159,\n+            "key.docoffset" : 548,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Gearing<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 75,\n+            "key.name" : "Gearing",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 724,\n+            "key.offset" : 719,\n+            "key.parsed_declaration" : "public enum Gearing",\n+            "key.parsed_scope.end" : 30,\n+            "key.parsed_scope.start" : 27,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 10,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 742,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Fixed<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Fixed<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Fixed",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 747,\n+                    "key.offset" : 747,\n+                    "key.parsed_declaration" : "case Fixed",\n+                    "key.parsed_scope.end" : 28,\n+                    "key.parsed_scope.start" : 28,\n+                    "key.typename" : "(Bicycle.Gearing.Type) -> Bicycle.Gearing",\n+                    "key.typeusr" : "$sy7BicycleAAC7GearingOADmcD",\n+                    "key.usr" : "s:7BicycleAAC7GearingO5FixedyA2DmF"\n+                  }\n+                ]\n+              },\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 27,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 761,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.public",\n+                    "key.annotated_decl" : "<Declaration>case Freewheel(speeds: <Type usr=\\"s:Si\\">Int<\\/Type>)<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Freewheel<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>speeds<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 22,\n+                    "key.name" : "Freewheel(speeds:)",\n+                    "key.namelength" : 22,\n+                    "key.nameoffset" : 766,\n+                    "key.offset" : 766,\n+                    "key.parsed_declaration" : "case Freewheel(speeds: Int)",\n+                    "key.parsed_scope.end" : 29,\n+                    "key.parsed_scope.start" : 29,\n+                    "key.substructure" : [\n+\n+                    ],\n+                    "key.typename" : "(Bicycle.Gearing.Type) -> (Int) -> Bicycle.Gearing",\n+                    "key.typeusr" : "$sy7BicycleAAC7GearingOSi_tcADmcD",\n+                    "key.usr" : "s:7BicycleAAC7GearingO9FreewheelyADSi_tcADmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Gearing.Type",\n+            "key.typeusr" : "$s7BicycleAAC7GearingOmD",\n+            "key.usr" : "s:7BicycleAAC7GearingO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>enum <Type usr=\\"s:7BicycleAAC\\">Bicycle<\\/Type>.Handlebar<\\/Declaration>",\n+            "key.bodylength" : 47,\n+            "key.bodyoffset" : 1009,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Hardware used for steering.\\n\\n- Riser: A casual handlebar.\\n- Café: An upright handlebar.\\n- Drop: A classic handlebar.\\n- Bullhorn: A powerful handlebar.",\n+            "key.doc.declaration" : "enum Bicycle.Bicycle.Handlebar",\n+            "key.doc.discussion" : [\n+              {\n+                "List-Bullet" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"40\\" column=\\"10\\"><Name>Handlebar<\\/Name><USR>s:7BicycleAAC9HandlebarO<\\/USR><Declaration>enum Bicycle.Bicycle.Handlebar<\\/Declaration><CommentParts><Abstract><Para>Hardware used for steering.<\\/Para><\\/Abstract><Discussion><List-Bullet><Item><Para>Riser: A casual handlebar.<\\/Para><\\/Item><Item><Para>Café: An upright handlebar.<\\/Para><\\/Item><Item><Para>Drop: A classic handlebar.<\\/Para><\\/Item><Item><Para>Bullhorn: A powerful handlebar.<\\/Para><\\/Item><\\/List-Bullet><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 40,\n+            "key.doc.name" : "Handlebar",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 188,\n+            "key.docoffset" : 800,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>enum<\\/syntaxtype.keyword> <ref.class usr=\\"s:7BicycleAAC\\">Bicycle<\\/ref.class>.<decl.name>Handlebar<\\/decl.name><\\/decl.enum>",\n+            "key.kind" : "source.lang.swift.decl.enum",\n+            "key.length" : 64,\n+            "key.name" : "Handlebar",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 998,\n+            "key.offset" : 993,\n+            "key.parsed_declaration" : "enum Handlebar",\n+            "key.parsed_scope.end" : 42,\n+            "key.parsed_scope.start" : 40,\n+            "key.substructure" : [\n+              {\n+                "key.kind" : "source.lang.swift.decl.enumcase",\n+                "key.length" : 33,\n+                "key.namelength" : 0,\n+                "key.nameoffset" : 0,\n+                "key.offset" : 1018,\n+                "key.substructure" : [\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Riser<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Riser<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Riser",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 1023,\n+                    "key.offset" : 1023,\n+                    "key.parsed_declaration" : "case Riser",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO5RiseryA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Café<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Café<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 5,\n+                    "key.name" : "Café",\n+                    "key.namelength" : 5,\n+                    "key.nameoffset" : 1030,\n+                    "key.offset" : 1030,\n+                    "key.parsed_declaration" : "case Riser, Café",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO007Caf_dmayA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Drop<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Drop<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 4,\n+                    "key.name" : "Drop",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 1037,\n+                    "key.offset" : 1037,\n+                    "key.parsed_declaration" : "case Riser, Café, Drop",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO4DropyA2DmF"\n+                  },\n+                  {\n+                    "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                    "key.annotated_decl" : "<Declaration>case Bullhorn<\\/Declaration>",\n+                    "key.filepath" : "Bicycle.swift",\n+                    "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>Bullhorn<\\/decl.name><\\/decl.enumelement>",\n+                    "key.kind" : "source.lang.swift.decl.enumelement",\n+                    "key.length" : 8,\n+                    "key.name" : "Bullhorn",\n+                    "key.namelength" : 8,\n+                    "key.nameoffset" : 1043,\n+                    "key.offset" : 1043,\n+                    "key.parsed_declaration" : "case Riser, Café, Drop, Bullhorn",\n+                    "key.parsed_scope.end" : 41,\n+                    "key.parsed_scope.start" : 41,\n+                    "key.typename" : "(Bicycle.Handlebar.Type) -> Bicycle.Handlebar",\n+                    "key.typeusr" : "$sy7BicycleAAC9HandlebarOADmcD",\n+                    "key.usr" : "s:7BicycleAAC9HandlebarO8BullhornyA2DmF"\n+                  }\n+                ]\n+              }\n+            ],\n+            "key.typename" : "Bicycle.Handlebar.Type",\n+            "key.typeusr" : "$s7BicycleAAC9HandlebarOmD",\n+            "key.usr" : "s:7BicycleAAC9HandlebarO"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let style: <Type usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The style of the bicycle.",\n+            "key.doc.declaration" : "let style: Style",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"45\\" column=\\"9\\"><Name>style<\\/Name><USR>s:7BicycleAAC5styleAB5StyleOvp<\\/USR><Declaration>let style: Style<\\/Declaration><CommentParts><Abstract><Para>The style of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 45,\n+            "key.doc.name" : "style",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 30,\n+            "key.docoffset" : 1063,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>style<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 16,\n+            "key.name" : "style",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 1101,\n+            "key.offset" : 1097,\n+            "key.parsed_declaration" : "let style: Style",\n+            "key.parsed_scope.end" : 45,\n+            "key.parsed_scope.start" : 45,\n+            "key.typename" : "Bicycle.Style",\n+            "key.typeusr" : "$s7BicycleAAC5StyleOD",\n+            "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let gearing: <Type usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The gearing of the bicycle.",\n+            "key.doc.declaration" : "let gearing: Gearing",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"48\\" column=\\"9\\"><Name>gearing<\\/Name><USR>s:7BicycleAAC7gearingAB7GearingOvp<\\/USR><Declaration>let gearing: Gearing<\\/Declaration><CommentParts><Abstract><Para>The gearing of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 48,\n+            "key.doc.name" : "gearing",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 32,\n+            "key.docoffset" : 1119,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>gearing<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "gearing",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 1159,\n+            "key.offset" : 1155,\n+            "key.parsed_declaration" : "let gearing: Gearing",\n+            "key.parsed_scope.end" : 48,\n+            "key.parsed_scope.start" : 48,\n+            "key.typename" : "Bicycle.Gearing",\n+            "key.typeusr" : "$s7BicycleAAC7GearingOD",\n+            "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let handlebar: <Type usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The handlebar of the bicycle.",\n+            "key.doc.declaration" : "let handlebar: Handlebar",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"51\\" column=\\"9\\"><Name>handlebar<\\/Name><USR>s:7BicycleAAC9handlebarAB9HandlebarOvp<\\/USR><Declaration>let handlebar: Handlebar<\\/Declaration><CommentParts><Abstract><Para>The handlebar of the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 51,\n+            "key.doc.name" : "handlebar",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 34,\n+            "key.docoffset" : 1181,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>handlebar<\\/decl.name>: <decl.var.type><ref.enum usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/ref.enum><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 24,\n+            "key.name" : "handlebar",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 1223,\n+            "key.offset" : 1219,\n+            "key.parsed_declaration" : "let handlebar: Handlebar",\n+            "key.parsed_scope.end" : 51,\n+            "key.parsed_scope.start" : 51,\n+            "key.typename" : "Bicycle.Handlebar",\n+            "key.typeusr" : "$s7BicycleAAC9HandlebarOD",\n+            "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>let frameSize: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "The size of the frame, in centimeters.",\n+            "key.doc.declaration" : "let frameSize: Int",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"54\\" column=\\"9\\"><Name>frameSize<\\/Name><USR>s:7BicycleAAC9frameSizeSivp<\\/USR><Declaration>let frameSize: Int<\\/Declaration><CommentParts><Abstract><Para>The size of the frame, in centimeters.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 54,\n+            "key.doc.name" : "frameSize",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 43,\n+            "key.docoffset" : 1249,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>frameSize<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 18,\n+            "key.name" : "frameSize",\n+            "key.namelength" : 9,\n+            "key.nameoffset" : 1300,\n+            "key.offset" : 1296,\n+            "key.parsed_declaration" : "let frameSize: Int",\n+            "key.parsed_scope.end" : 54,\n+            "key.parsed_scope.start" : 54,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>private(set) var numberOfTrips: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.setter_access.private",\n+                "key.length" : 12,\n+                "key.offset" : 1374\n+              }\n+            ],\n+            "key.doc.column" : 22,\n+            "key.doc.comment" : "The number of trips travelled by the bicycle.",\n+            "key.doc.declaration" : "private(set) var numberOfTrips: Int { get }",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"57\\" column=\\"22\\"><Name>numberOfTrips<\\/Name><USR>s:7BicycleAAC13numberOfTripsSivp<\\/USR><Declaration>private(set) var numberOfTrips: Int { get }<\\/Declaration><CommentParts><Abstract><Para>The number of trips travelled by the bicycle.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 57,\n+            "key.doc.name" : "numberOfTrips",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 50,\n+            "key.docoffset" : 1320,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword>(set) <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>numberOfTrips<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { get }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 22,\n+            "key.name" : "numberOfTrips",\n+            "key.namelength" : 13,\n+            "key.nameoffset" : 1391,\n+            "key.offset" : 1387,\n+            "key.parsed_declaration" : "private(set) var numberOfTrips: Int",\n+            "key.parsed_scope.end" : 57,\n+            "key.parsed_scope.start" : 57,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>private(set) var distanceTravelled: <Type usr=\\"s:Sd\\">Double<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.setter_access.private",\n+                "key.length" : 12,\n+                "key.offset" : 1479\n+              }\n+            ],\n+            "key.doc.column" : 22,\n+            "key.doc.comment" : "The total distance travelled by the bicycle, in meters.",\n+            "key.doc.declaration" : "private(set) var distanceTravelled: Double { get }",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Bicycle.swift\\" line=\\"60\\" column=\\"22\\"><Name>distanceTravelled<\\/Name><USR>s:7BicycleAAC17distanceTravelledSdvp<\\/USR><Declaration>private(set) var distanceTravelled: Double { get }<\\/Declaration><CommentParts><Abstract><Para>The total distance travelled by the bicycle, in meters.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 60,\n+            "key.doc.name" : "distanceTravelled",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 60,\n+            "key.docoffset" : 1415,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword>(set) <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>distanceTravelled<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.var.type> { get }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 29,\n+            "key.name" : "distanceTravelled",\n+            "key.namelength" : 17,\n+            "key.nameoffset" : 1496,\n+            "key.offset" : 1492,\n+            "key.parsed_declaration" : "private(set) var distanceTravelled: Double",\n+            "key.parsed_scope.end" : 60,\n+            "key.parsed_scope.start" : 60,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "Double",\n+            "key.typeusr" : "$sSdD",\n+            "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>init(style: <Type usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/Type>, gearing: <Type usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/Type>, handlebar: <Type usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/Type>, frameSize centimeters: <Type usr=\\"s:Si\\">Int<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 192,\n+            "key.bodyoffset" : 2010,\n+            "key.doc.column" : 5,\n+            "key.doc.comment" : "Initializes a new bicycle with the provided parts and specifications.\\n\\n- parameter style: The style of the bicycle\\n- parameter gearing: The gearing of the bicycle\\n- parameter handlebar: The handlebar of the bicycle\\n- parameter centimeters: The frame size of the bicycle, in centimeters\\n\\n- returns: A beautiful, brand-new, custom built just for you.",\n+            "key.doc.declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Bicycle.swift\\" line=\\"72\\" column=\\"5\\"><Name>init(style:gearing:handlebar:frameSize:)<\\/Name><USR>s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc<\\/USR><Declaration>init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)<\\/Declaration><CommentParts><Abstract><Para>Initializes a new bicycle with the provided parts and specifications.<\\/Para><\\/Abstract><Parameters><Parameter><Name>style<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The style of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>gearing<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The gearing of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>handlebar<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The handlebar of the bicycle<\\/Para><\\/Discussion><\\/Parameter><Parameter><Name>centimeters<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The frame size of the bicycle, in centimeters<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><ResultDiscussion><Para>A beautiful, brand-new, custom built just for you.<\\/Para><\\/ResultDiscussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 72,\n+            "key.doc.name" : "init(style:gearing:handlebar:frameSize:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The style of the bicycle"\n+                  }\n+                ],\n+                "name" : "style"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The gearing of the bicycle"\n+                  }\n+                ],\n+                "name" : "gearing"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The handlebar of the bicycle"\n+                  }\n+                ],\n+                "name" : "handlebar"\n+              },\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The frame size of the bicycle, in centimeters"\n+                  }\n+                ],\n+                "name" : "centimeters"\n+              }\n+            ],\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "A beautiful, brand-new, custom built just for you."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 390,\n+            "key.docoffset" : 1527,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>style<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC5StyleO\\">Style<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>gearing<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC7GearingO\\">Gearing<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>handlebar<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.enum usr=\\"s:7BicycleAAC9HandlebarO\\">Handlebar<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>frameSize<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>centimeters<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 281,\n+            "key.name" : "init(style:gearing:handlebar:frameSize:)",\n+            "key.namelength" : 86,\n+            "key.nameoffset" : 1922,\n+            "key.offset" : 1922,\n+            "key.parsed_declaration" : "init(style: Style, gearing: Gearing, handlebar: Handlebar, frameSize centimeters: Int)",\n+            "key.parsed_scope.end" : 80,\n+            "key.parsed_scope.start" : 72,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Bicycle.Type) -> (Bicycle.Style, Bicycle.Gearing, Bicycle.Handlebar, Int) -> Bicycle",\n+            "key.typeusr" : "$s5style7gearing9handlebar9frameSize7BicycleAECAF5StyleO_AF7GearingOAF9HandlebarOSitcD",\n+            "key.usr" : "s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>func travel(distance meters: <Type usr=\\"s:Sd\\">Double<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 112,\n+            "key.bodyoffset" : 2356,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Take a bike out for a spin.\\n\\n- parameter meters: The distance to travel in meters.",\n+            "key.doc.declaration" : "func travel(distance meters: Double)",\n+            "key.doc.file" : "Bicycle.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Bicycle.swift\\" line=\\"87\\" column=\\"10\\"><Name>travel(distance:)<\\/Name><USR>s:7BicycleAAC6travel8distanceySd_tF<\\/USR><Declaration>func travel(distance meters: Double)<\\/Declaration><CommentParts><Abstract><Para>Take a bike out for a spin.<\\/Para><\\/Abstract><Parameters><Parameter><Name>meters<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The distance to travel in meters.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 87,\n+            "key.doc.name" : "travel(distance:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The distance to travel in meters."\n+                  }\n+                ],\n+                "name" : "meters"\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 104,\n+            "key.docoffset" : 2209,\n+            "key.filepath" : "Bicycle.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>travel<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>distance<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>meters<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 151,\n+            "key.name" : "travel(distance:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 2323,\n+            "key.offset" : 2318,\n+            "key.parsed_declaration" : "func travel(distance meters: Double)",\n+            "key.parsed_scope.end" : 92,\n+            "key.parsed_scope.start" : 87,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Bicycle) -> (Double) -> ()",\n+            "key.typeusr" : "$s8distanceySd_tcD",\n+            "key.usr" : "s:7BicycleAAC6travel8distanceySd_tF"\n+          }\n+        ],\n+        "key.typename" : "Bicycle.Type",\n+        "key.typeusr" : "$s7BicycleAACmD",\n+        "key.usr" : "s:7BicycleAAC"\n+      }\n+    ]\n+  }\n+}\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycleIndex@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycleIndex@swift-5.3.json\nnew file mode 100644\nindex 0000000..03f0173\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxBicycleIndex@swift-5.3.json\n@@ -0,0 +1,754 @@\n+{\n+  "key.dependencies" : [\n+    {\n+      "key.filepath" : "",\n+      "key.is_system" : true,\n+      "key.kind" : "source.lang.swift.import.module.swift",\n+      "key.name" : "Swift"\n+    },\n+    {\n+      "key.dependencies" : [\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.clang",\n+          "key.name" : "CoreFoundation"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "CDispatch"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "Dispatch"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "_SwiftDispatchOverlayShims"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Dispatch"\n+        },\n+        {\n+          "key.dependencies" : [\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.swift",\n+              "key.name" : "Swift"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "SwiftGlibc"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "SwiftOverlayShims"\n+            },\n+            {\n+              "key.filepath" : "",\n+              "key.is_system" : true,\n+              "key.kind" : "source.lang.swift.import.module.clang",\n+              "key.name" : "SwiftShims"\n+            }\n+          ],\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Glibc"\n+        },\n+        {\n+          "key.filepath" : "",\n+          "key.is_system" : true,\n+          "key.kind" : "source.lang.swift.import.module.swift",\n+          "key.name" : "Swift"\n+        }\n+      ],\n+      "key.filepath" : "",\n+      "key.is_system" : true,\n+      "key.kind" : "source.lang.swift.import.module.swift",\n+      "key.name" : "Foundation"\n+    }\n+  ],\n+  "key.entities" : [\n+    {\n+      "key.column" : 8,\n+      "key.kind" : "source.lang.swift.ref.module",\n+      "key.line" : 1,\n+      "key.name" : "Foundation",\n+      "key.usr" : "c:@M@Foundation"\n+    },\n+    {\n+      "key.column" : 18,\n+      "key.kind" : "source.lang.swift.ref.class",\n+      "key.line" : 5,\n+      "key.name" : "NSString",\n+      "key.usr" : "s:10Foundation8NSStringC"\n+    },\n+    {\n+      "key.attributes" : [\n+        {\n+          "key.attribute" : "source.decl.attribute.public"\n+        }\n+      ],\n+      "key.column" : 14,\n+      "key.entities" : [\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.public"\n+            }\n+          ],\n+          "key.column" : 17,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Road",\n+              "key.usr" : "s:7BicycleAAC5StyleO4RoadyA2DmF"\n+            },\n+            {\n+              "key.column" : 20,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Touring",\n+              "key.usr" : "s:7BicycleAAC5StyleO7TouringyA2DmF"\n+            },\n+            {\n+              "key.column" : 29,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Cruiser",\n+              "key.usr" : "s:7BicycleAAC5StyleO7CruiseryA2DmF"\n+            },\n+            {\n+              "key.column" : 38,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 18,\n+              "key.name" : "Hybrid",\n+              "key.usr" : "s:7BicycleAAC5StyleO6HybridyA2DmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 17,\n+          "key.name" : "Style",\n+          "key.usr" : "s:7BicycleAAC5StyleO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.public"\n+            }\n+          ],\n+          "key.column" : 17,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 28,\n+              "key.name" : "Fixed",\n+              "key.usr" : "s:7BicycleAAC7GearingO5FixedyA2DmF"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 32,\n+                  "key.kind" : "source.lang.swift.ref.struct",\n+                  "key.line" : 29,\n+                  "key.name" : "Int",\n+                  "key.usr" : "s:Si"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 29,\n+              "key.name" : "Freewheel(speeds:)",\n+              "key.usr" : "s:7BicycleAAC7GearingO9FreewheelyADSi_tcADmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 27,\n+          "key.name" : "Gearing",\n+          "key.usr" : "s:7BicycleAAC7GearingO"\n+        },\n+        {\n+          "key.column" : 10,\n+          "key.entities" : [\n+            {\n+              "key.column" : 14,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Riser",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO5RiseryA2DmF"\n+            },\n+            {\n+              "key.column" : 21,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Café",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO007Caf_dmayA2DmF"\n+            },\n+            {\n+              "key.column" : 28,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Drop",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO4DropyA2DmF"\n+            },\n+            {\n+              "key.column" : 34,\n+              "key.kind" : "source.lang.swift.decl.enumelement",\n+              "key.line" : 41,\n+              "key.name" : "Bullhorn",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO8BullhornyA2DmF"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.enum",\n+          "key.line" : 40,\n+          "key.name" : "Handlebar",\n+          "key.usr" : "s:7BicycleAAC9HandlebarO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 45,\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 45,\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 45,\n+          "key.name" : "style",\n+          "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+        },\n+        {\n+          "key.column" : 16,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 45,\n+          "key.name" : "Style",\n+          "key.usr" : "s:7BicycleAAC5StyleO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 48,\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 48,\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 48,\n+          "key.name" : "gearing",\n+          "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+        },\n+        {\n+          "key.column" : 18,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 48,\n+          "key.name" : "Gearing",\n+          "key.usr" : "s:7BicycleAAC7GearingO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 51,\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 51,\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 51,\n+          "key.name" : "handlebar",\n+          "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+        },\n+        {\n+          "key.column" : 20,\n+          "key.kind" : "source.lang.swift.ref.enum",\n+          "key.line" : 51,\n+          "key.name" : "Handlebar",\n+          "key.usr" : "s:7BicycleAAC9HandlebarO"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.final"\n+            }\n+          ],\n+          "key.column" : 9,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 54,\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.final"\n+                }\n+              ],\n+              "key.column" : 9,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 54,\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 54,\n+          "key.name" : "frameSize",\n+          "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+        },\n+        {\n+          "key.column" : 20,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 54,\n+          "key.name" : "Int",\n+          "key.usr" : "s:Si"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.setter_access.private"\n+            }\n+          ],\n+          "key.column" : 22,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 57,\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 57,\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 57,\n+          "key.name" : "numberOfTrips",\n+          "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+        },\n+        {\n+          "key.column" : 37,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 57,\n+          "key.name" : "Int",\n+          "key.usr" : "s:Si"\n+        },\n+        {\n+          "key.attributes" : [\n+            {\n+              "key.attribute" : "source.decl.attribute.setter_access.private"\n+            }\n+          ],\n+          "key.column" : 22,\n+          "key.entities" : [\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.getter",\n+              "key.line" : 60,\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvg"\n+            },\n+            {\n+              "key.attributes" : [\n+                {\n+                  "key.attribute" : "source.decl.attribute.setter_access.private"\n+                }\n+              ],\n+              "key.column" : 22,\n+              "key.is_dynamic" : true,\n+              "key.is_implicit" : true,\n+              "key.kind" : "source.lang.swift.decl.function.accessor.setter",\n+              "key.line" : 60,\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.var.instance",\n+          "key.line" : 60,\n+          "key.name" : "distanceTravelled",\n+          "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+        },\n+        {\n+          "key.column" : 41,\n+          "key.kind" : "source.lang.swift.ref.struct",\n+          "key.line" : 60,\n+          "key.name" : "Double",\n+          "key.usr" : "s:Sd"\n+        },\n+        {\n+          "key.column" : 5,\n+          "key.entities" : [\n+            {\n+              "key.column" : 17,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Style",\n+              "key.usr" : "s:7BicycleAAC5StyleO"\n+            },\n+            {\n+              "key.column" : 33,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Gearing",\n+              "key.usr" : "s:7BicycleAAC7GearingO"\n+            },\n+            {\n+              "key.column" : 53,\n+              "key.kind" : "source.lang.swift.ref.enum",\n+              "key.line" : 72,\n+              "key.name" : "Handlebar",\n+              "key.usr" : "s:7BicycleAAC9HandlebarO"\n+            },\n+            {\n+              "key.column" : 87,\n+              "key.kind" : "source.lang.swift.ref.struct",\n+              "key.line" : 72,\n+              "key.name" : "Int",\n+              "key.usr" : "s:Si"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 73,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC5styleAB5StyleOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 73,\n+              "key.name" : "style",\n+              "key.usr" : "s:7BicycleAAC5styleAB5StyleOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 74,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 74,\n+              "key.name" : "gearing",\n+              "key.usr" : "s:7BicycleAAC7gearingAB7GearingOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 75,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 75,\n+              "key.name" : "handlebar",\n+              "key.usr" : "s:7BicycleAAC9handlebarAB9HandlebarOvp"\n+            },\n+            {\n+              "key.column" : 14,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 14,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 76,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC9frameSizeSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 76,\n+              "key.name" : "frameSize",\n+              "key.usr" : "s:7BicycleAAC9frameSizeSivp"\n+            },\n+            {\n+              "key.column" : 9,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 9,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 78,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 78,\n+              "key.name" : "numberOfTrips",\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+            },\n+            {\n+              "key.column" : 9,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 9,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 79,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 79,\n+              "key.name" : "distanceTravelled",\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+            }\n+          ],\n+          "key.kind" : "source.lang.swift.decl.function.constructor",\n+          "key.line" : 72,\n+          "key.name" : "init(style:gearing:handlebar:frameSize:)",\n+          "key.usr" : "s:7BicycleAAC5style7gearing9handlebar9frameSizeA2B5StyleO_AB7GearingOAB9HandlebarOSitcfc"\n+        },\n+        {\n+          "key.column" : 10,\n+          "key.entities" : [\n+            {\n+              "key.column" : 34,\n+              "key.kind" : "source.lang.swift.ref.struct",\n+              "key.line" : 87,\n+              "key.name" : "Double",\n+              "key.usr" : "s:Sd"\n+            },\n+            {\n+              "key.column" : 19,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 88,\n+              "key.name" : ">(_:_:)",\n+              "key.receiver_usr" : "s:Sd",\n+              "key.usr" : "s:SFsE1goiySbx_xtFZ"\n+            },\n+            {\n+              "key.column" : 13,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.getter",\n+                  "key.line" : 89,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvg"\n+                },\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 89,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC17distanceTravelledSdvs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 89,\n+              "key.name" : "distanceTravelled",\n+              "key.usr" : "s:7BicycleAAC17distanceTravelledSdvp"\n+            },\n+            {\n+              "key.column" : 31,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 89,\n+              "key.name" : "+=(_:_:)",\n+              "key.receiver_usr" : "s:Sd",\n+              "key.usr" : "s:Sd2peoiyySdz_SdtFZ"\n+            },\n+            {\n+              "key.column" : 13,\n+              "key.entities" : [\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.getter",\n+                  "key.line" : 90,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivg"\n+                },\n+                {\n+                  "key.column" : 13,\n+                  "key.is_dynamic" : true,\n+                  "key.is_implicit" : true,\n+                  "key.kind" : "source.lang.swift.ref.function.accessor.setter",\n+                  "key.line" : 90,\n+                  "key.receiver_usr" : "s:7BicycleAAC",\n+                  "key.usr" : "s:7BicycleAAC13numberOfTripsSivs"\n+                }\n+              ],\n+              "key.kind" : "source.lang.swift.ref.var.instance",\n+              "key.line" : 90,\n+              "key.name" : "numberOfTrips",\n+              "key.usr" : "s:7BicycleAAC13numberOfTripsSivp"\n+            },\n+            {\n+              "key.column" : 27,\n+              "key.kind" : "source.lang.swift.ref.function.operator.infix",\n+              "key.line" : 90,\n+              "key.name" : "+=(_:_:)",\n+              "key.receiver_usr" : "s:Si",\n+              "key.usr" : "s:Si2peoiyySiz_SitFZ"\n+            }\n+          ],\n+          "key.is_dynamic" : true,\n+          "key.kind" : "source.lang.swift.decl.function.method.instance",\n+          "key.line" : 87,\n+          "key.name" : "travel(distance:)",\n+          "key.usr" : "s:7BicycleAAC6travel8distanceySd_tF"\n+        }\n+      ],\n+      "key.kind" : "source.lang.swift.decl.class",\n+      "key.line" : 8,\n+      "key.name" : "Bicycle",\n+      "key.usr" : "s:7BicycleAAC"\n+    }\n+  ]\n+}\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/LinuxCommandantSPM@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxCommandantSPM@swift-5.3.json\nnew file mode 100644\nindex 0000000..cde9492\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxCommandantSPM@swift-5.3.json\n@@ -0,0 +1,7961 @@\n+[{\n+  "Sources\\/Commandant\\/Argument.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 3858,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 204\n+          }\n+        ],\n+        "key.bodylength" : 1029,\n+        "key.bodyoffset" : 231,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an argument that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 68,\n+        "key.docoffset" : 136,\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1050,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 218,\n+        "key.offset" : 211,\n+        "key.parsed_declaration" : "public struct Argument<T>",\n+        "key.parsed_scope.end" : 36,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 227,\n+            "key.offset" : 227,\n+            "key.parsed_declaration" : "public struct Argument<T",\n+            "key.parsed_scope.end" : 10,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant8ArgumentV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 443\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this argument. This is the value that will be used\\nif the argument is never explicitly specified on the command line.\\n\\nIf this is nil, this argument is always required.",\n+            "key.doc.declaration" : "public let defaultValue: T?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If this is nil, this argument is always required."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"15\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant8ArgumentV12defaultValuexSgvp<\\/USR><Declaration>public let defaultValue: T?<\\/Declaration><CommentParts><Abstract><Para>The default value for this argument. This is the value that will be used if the argument is never explicitly specified on the command line.<\\/Para><\\/Abstract><Discussion><Para>If this is nil, this argument is always required.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 209,\n+            "key.docoffset" : 233,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 454,\n+            "key.offset" : 450,\n+            "key.parsed_declaration" : "public let defaultValue: T?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "T?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 585\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this argument. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"19\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant8ArgumentV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this argument. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 19,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 111,\n+            "key.docoffset" : 473,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 596,\n+            "key.offset" : 592,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 804\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string that describes this argument as a paramater shown\\nin the list of possible parameters in help messages (e.g. for \\"paths\\", the\\nuser would see <paths…>).",\n+            "key.doc.declaration" : "public let usageParameter: String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"24\\" column=\\"13\\"><Name>usageParameter<\\/Name><USR>s:10Commandant8ArgumentV14usageParameterSSSgvp<\\/USR><Declaration>public let usageParameter: String?<\\/Declaration><CommentParts><Abstract><Para>A human-readable string that describes this argument as a paramater shown in the list of possible parameters in help messages (e.g. for “paths”, the user would see &lt;paths…&gt;).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 24,\n+            "key.doc.name" : "usageParameter",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 191,\n+            "key.docoffset" : 612,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usageParameter<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 27,\n+            "key.name" : "usageParameter",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 815,\n+            "key.offset" : 811,\n+            "key.parsed_declaration" : "public let usageParameter: String?",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant8ArgumentV14usageParameterSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(defaultValue: <Type usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/Type>? = nil, usage: <Type usr=\\"s:SS\\">String<\\/Type>, usageParameter: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 841\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 924,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usageParameter<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(defaultValue:usage:usageParameter:)",\n+            "key.namelength" : 74,\n+            "key.nameoffset" : 848,\n+            "key.offset" : 848,\n+            "key.parsed_declaration" : "public init(defaultValue: T? = nil, usage: String, usageParameter: String? = nil)",\n+            "key.parsed_scope.end" : 30,\n+            "key.parsed_scope.start" : 26,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Argument<T>.Type) -> (T?, String, String?) -> Argument<T>",\n+            "key.typeusr" : "$s12defaultValue5usage0C9Parameter10Commandant8ArgumentVyxGxSg_S2SSgtcD",\n+            "key.usr" : "s:10Commandant8ArgumentV12defaultValue5usage0E9ParameterACyxGxSg_S2SSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate func invalidUsageError&lt;ClientError&gt;(_ value: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1025\n+              }\n+            ],\n+            "key.bodylength" : 135,\n+            "key.bodyoffset" : 1123,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>invalidUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 222,\n+            "key.name" : "invalidUsageError(_:)",\n+            "key.namelength" : 47,\n+            "key.nameoffset" : 1042,\n+            "key.offset" : 1037,\n+            "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError>(_ value: String) -> CommandantError<ClientError>",\n+            "key.parsed_scope.end" : 35,\n+            "key.parsed_scope.start" : 32,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1060,\n+                "key.offset" : 1060,\n+                "key.parsed_declaration" : "fileprivate func invalidUsageError<ClientError",\n+                "key.parsed_scope.end" : 32,\n+                "key.parsed_scope.start" : 32,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF06ClientE0L_qd__mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 83,\n+                "key.name" : "description",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1130,\n+                "key.offset" : 1126,\n+                "key.parsed_declaration" : "let description = \\"Invalid value for \'\\\\(self.usageParameterDescription)\': \\\\(value)\\"",\n+                "key.parsed_scope.end" : 33,\n+                "key.parsed_scope.start" : 33,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF11descriptionL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError> (Argument<T>) -> (String) -> CommandantError<ClientError>",\n+            "key.typeusr" : "$sy10Commandant0A5ErrorOyqd__GSScluD",\n+            "key.usr" : "s:10Commandant8ArgumentV17invalidUsageError33_8CAE711C2CD19D07FEBBE5F857AB09FDLLyAA0aE0Oyqd__GSSlF"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 251,\n+        "key.bodyoffset" : 1283,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 272,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1273,\n+        "key.offset" : 1263,\n+        "key.parsed_declaration" : "extension Argument",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 38,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1422\n+              }\n+            ],\n+            "key.bodylength" : 62,\n+            "key.bodyoffset" : 1470,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"41\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentV25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1285,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 102,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1435,\n+            "key.offset" : 1431,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentV25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Argument&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 254,\n+        "key.bodyoffset" : 1575,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Argument<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"10\\" column=\\"15\\"><Name>Argument<\\/Name><USR>s:10Commandant8ArgumentV<\\/USR><Declaration>public struct Argument&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an argument that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "Argument",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Argument<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant8ArgumentV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 293,\n+        "key.name" : "Argument",\n+        "key.namelength" : 8,\n+        "key.nameoffset" : 1547,\n+        "key.offset" : 1537,\n+        "key.parsed_declaration" : "extension Argument where T: Sequence",\n+        "key.parsed_scope.end" : 52,\n+        "key.parsed_scope.start" : 46,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var usageParameterDescription: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1714\n+              }\n+            ],\n+            "key.bodylength" : 65,\n+            "key.bodyoffset" : 1762,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "A string describing this argument as a parameter in help messages. This falls back\\nto `\\"\\\\(self)\\"` if `usageParameter` is `nil`",\n+            "key.doc.declaration" : "internal var usageParameterDescription: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"49\\" column=\\"15\\"><Name>usageParameterDescription<\\/Name><USR>s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp<\\/USR><Declaration>internal var usageParameterDescription: String { get }<\\/Declaration><CommentParts><Abstract><Para>A string describing this argument as a parameter in help messages. This falls back to <codeVoice>&quot;\\\\(self)&quot;<\\/codeVoice> if <codeVoice>usageParameter<\\/codeVoice> is <codeVoice>nil<\\/codeVoice><\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 49,\n+            "key.doc.name" : "usageParameterDescription",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 136,\n+            "key.docoffset" : 1577,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>usageParameterDescription<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 105,\n+            "key.name" : "usageParameterDescription",\n+            "key.namelength" : 25,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1723,\n+            "key.parsed_declaration" : "internal var usageParameterDescription: String",\n+            "key.parsed_scope.end" : 51,\n+            "key.parsed_scope.start" : 49,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant8ArgumentV25usageParameterDescriptionSSvp\\">usageParameterDescription<\\/RelatedName>"\n+              }\n+            ],\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant8ArgumentVAASTRzlE25usageParameterDescriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Argument<T>.Type",\n+        "key.typeusr" : "$s10Commandant8ArgumentVyxGmD",\n+        "key.usr" : "s:10Commandant8ArgumentV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1835\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 1979,\n+        "key.bodyoffset" : 1877,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 2003,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1864,\n+        "key.offset" : 1854,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 120,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2069\n+              }\n+            ],\n+            "key.bodylength" : 518,\n+            "key.bodyoffset" : 2212,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"61\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 61,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 189,\n+            "key.docoffset" : 1879,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 655,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 79,\n+            "key.nameoffset" : 2088,\n+            "key.offset" : 2076,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 81,\n+            "key.parsed_scope.start" : 61,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2095\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2092,\n+                "key.offset" : 2092,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2113,\n+                "key.offset" : 2113,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 61,\n+                "key.parsed_scope.start" : 61,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC8ArgumentVyxGtcAC0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.bodylength" : 778,\n+            "key.bodyoffset" : 3076,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given argument list in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the argument\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the argument’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Argument.swift\\" line=\\"87\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, argument: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given argument list in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the argument’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 87,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 194,\n+            "key.docoffset" : 2734,\n+            "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 919,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 81,\n+            "key.nameoffset" : 2948,\n+            "key.offset" : 2936,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, argument: Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 119,\n+            "key.parsed_scope.start" : 87,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 2955\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2952,\n+                "key.offset" : 2952,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Argument.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 2973,\n+                "key.offset" : 2973,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 87,\n+                "key.parsed_scope.start" : 87,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Argument<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD8ArgumentVyACGtcAD0F8ProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentParser.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 4637,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.private",\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.private",\n+            "key.length" : 7,\n+            "key.offset" : 229\n+          }\n+        ],\n+        "key.bodylength" : 296,\n+        "key.bodyoffset" : 266,\n+        "key.doc.column" : 14,\n+        "key.doc.comment" : "Represents an argument passed on the command line.",\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 55,\n+        "key.docoffset" : 174,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 255\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 326,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 242,\n+        "key.offset" : 237,\n+        "key.parsed_declaration" : "private enum RawArgument: Equatable",\n+        "key.parsed_scope.end" : 22,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 16,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 341,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case key(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A key corresponding to an option (e.g., `verbose` for `--verbose`).",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"14\\" column=\\"7\\"><Name>key(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A key corresponding to an option (e.g., <codeVoice>verbose<\\/codeVoice> for <codeVoice>--verbose<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 14,\n+                "key.doc.name" : "key(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 72,\n+                "key.docoffset" : 268,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 11,\n+                "key.name" : "key(_:)",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 346,\n+                "key.offset" : 346,\n+                "key.parsed_declaration" : "case key(String)",\n+                "key.parsed_scope.end" : 14,\n+                "key.parsed_scope.start" : 14,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO3keyyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 18,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 448,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case value(<Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "A value, either associated with an option or passed as a positional\\nargument.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"18\\" column=\\"7\\"><Name>value(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>A value, either associated with an option or passed as a positional argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 18,\n+                "key.doc.name" : "value(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 87,\n+                "key.docoffset" : 360,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 13,\n+                "key.name" : "value(_:)",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 453,\n+                "key.offset" : 453,\n+                "key.parsed_declaration" : "case value(String)",\n+                "key.parsed_scope.end" : 18,\n+                "key.parsed_scope.start" : 18,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (String) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOSScADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO5valueyADSScADmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 32,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 529,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.internal",\n+                "key.annotated_decl" : "<Declaration>case flag(<Type usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/Type>&lt;<Type usr=\\"s:SJ\\">Character<\\/Type>&gt;)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "One or more flag arguments (e.g \'r\' and \'f\' for `-rf`)",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"21\\" column=\\"7\\"><Name>flag(_:)<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>One or more flag arguments (e.g ‘r’ and ‘f’ for <codeVoice>-rf<\\/codeVoice>)<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 21,\n+                "key.doc.name" : "flag(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 59,\n+                "key.docoffset" : 469,\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.struct usr=\\"s:10Commandant10OrderedSetV\\">OrderedSet<\\/ref.struct>&lt;<ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 27,\n+                "key.name" : "flag(_:)",\n+                "key.namelength" : 27,\n+                "key.nameoffset" : 534,\n+                "key.offset" : 534,\n+                "key.parsed_declaration" : "case flag(OrderedSet<Character>)",\n+                "key.parsed_scope.end" : 21,\n+                "key.parsed_scope.start" : 21,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(RawArgument.Type) -> (OrderedSet<Character>) -> RawArgument",\n+                "key.typeusr" : "$sy10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOAA10OrderedSetVySJGcADmcD",\n+                "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO4flagyAdA10OrderedSetVySJGcADmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>private enum RawArgument : <Type usr=\\"s:SQ\\">Equatable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 214,\n+        "key.bodyoffset" : 613,\n+        "key.doc.column" : 14,\n+        "key.doc.declaration" : "private enum RawArgument : Equatable",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"12\\" column=\\"14\\"><Name>RawArgument<\\/Name><USR>s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO<\\/USR><Declaration>private enum RawArgument : Equatable<\\/Declaration><CommentParts><Abstract><Para>Represents an argument passed on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "RawArgument",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 588\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>RawArgument<\\/decl.name> : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.name" : "RawArgument",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 575,\n+        "key.offset" : 565,\n+        "key.parsed_declaration" : "extension RawArgument: CustomStringConvertible",\n+        "key.parsed_scope.end" : 37,\n+        "key.parsed_scope.start" : 24,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 615\n+              }\n+            ],\n+            "key.bodylength" : 173,\n+            "key.bodyoffset" : 652,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 199,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 631,\n+            "key.offset" : 627,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "fileprivate var description: String",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "RawArgument.Type",\n+        "key.typeusr" : "$s10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOmD",\n+        "key.usr" : "s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class ArgumentParser<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 896\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 889\n+          }\n+        ],\n+        "key.bodylength" : 3711,\n+        "key.bodyoffset" : 924,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Destructively parses a list of command-line arguments.",\n+        "key.doc.declaration" : "public final class ArgumentParser",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"40\\" column=\\"20\\"><Name>ArgumentParser<\\/Name><USR>s:10Commandant14ArgumentParserC<\\/USR><Declaration>public final class ArgumentParser<\\/Declaration><CommentParts><Abstract><Para>Destructively parses a list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 40,\n+        "key.doc.name" : "ArgumentParser",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 59,\n+        "key.docoffset" : 830,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>ArgumentParser<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 3734,\n+        "key.name" : "ArgumentParser",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 908,\n+        "key.offset" : 902,\n+        "key.parsed_declaration" : "public final class ArgumentParser",\n+        "key.parsed_scope.end" : 175,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var rawArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 991\n+              }\n+            ],\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "The remaining arguments to be extracted, in their raw form.",\n+            "key.doc.declaration" : "private var rawArguments: [RawArgument]",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"42\\" column=\\"14\\"><Name>rawArguments<\\/Name><USR>s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp<\\/USR><Declaration>private var rawArguments: [RawArgument]<\\/Declaration><CommentParts><Abstract><Para>The remaining arguments to be extracted, in their raw form.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 42,\n+            "key.doc.name" : "rawArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 64,\n+            "key.docoffset" : 926,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>rawArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 36,\n+            "key.name" : "rawArguments",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 1003,\n+            "key.offset" : 999,\n+            "key.parsed_declaration" : "private var rawArguments: [RawArgument] = []",\n+            "key.parsed_scope.end" : 42,\n+            "key.parsed_scope.start" : 42,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[RawArgument]",\n+            "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12rawArguments33_BA859BFBBE9DF3838A11641CB273713ELLSayAA03RawB0AELLOGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(_ arguments: [<Type usr=\\"s:SS\\">String<\\/Type>])<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1115\n+              }\n+            ],\n+            "key.bodylength" : 741,\n+            "key.bodyoffset" : 1151,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the generator from a simple list of command-line arguments.",\n+            "key.doc.declaration" : "public init(_ arguments: [String])",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"45\\" column=\\"9\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14ArgumentParserCyACSaySSGcfc<\\/USR><Declaration>public init(_ arguments: [String])<\\/Declaration><CommentParts><Abstract><Para>Initializes the generator from a simple list of command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 45,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 76,\n+            "key.docoffset" : 1038,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>arguments<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 771,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 1122,\n+            "key.offset" : 1122,\n+            "key.parsed_declaration" : "public init(_ arguments: [String])",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 45,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let params: [<Type usr=\\"s:s10ArraySliceV\\">ArraySlice<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>params<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:s10ArraySliceV\\">ArraySlice<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 91,\n+                "key.name" : "params",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 1218,\n+                "key.offset" : 1214,\n+                "key.parsed_declaration" : "let params = arguments.split(maxSplits: 1, omittingEmptySubsequences: false) { $0 == \\"--\\" }",\n+                "key.parsed_scope.end" : 47,\n+                "key.parsed_scope.start" : 47,\n+                "key.typename" : "[ArraySlice<String>]",\n+                "key.typeusr" : "$sSays10ArraySliceVySSGGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc6paramsL_Says10ArraySliceVySSGGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let options: <Type usr=\\"s:s10ArraySliceV\\">ArraySlice<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:s10ArraySliceV\\">ArraySlice<\\/ref.struct>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 27,\n+                "key.name" : "options",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 1356,\n+                "key.offset" : 1352,\n+                "key.parsed_declaration" : "let options = params.first!",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "ArraySlice<String>",\n+                "key.typeusr" : "$ss10ArraySliceVySSGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc7optionsL_s10ArraySliceVySSGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser.Type) -> ([String]) -> ArgumentParser",\n+            "key.typeusr" : "$sy10Commandant14ArgumentParserCSaySSGcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserCyACSaySSGcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal var remainingArguments: [<Type usr=\\"s:SS\\">String<\\/Type>]? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 1934\n+              }\n+            ],\n+            "key.bodylength" : 76,\n+            "key.bodyoffset" : 1978,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Returns the remaining arguments.",\n+            "key.doc.declaration" : "internal var remainingArguments: [String]? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"73\\" column=\\"15\\"><Name>remainingArguments<\\/Name><USR>s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp<\\/USR><Declaration>internal var remainingArguments: [String]? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the remaining arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 73,\n+            "key.doc.name" : "remainingArguments",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 37,\n+            "key.docoffset" : 1896,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>remainingArguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 112,\n+            "key.name" : "remainingArguments",\n+            "key.namelength" : 18,\n+            "key.nameoffset" : 1947,\n+            "key.offset" : 1943,\n+            "key.parsed_declaration" : "internal var remainingArguments: [String]?",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 73,\n+            "key.typename" : "[String]?",\n+            "key.typeusr" : "$sSaySSGSgD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC18remainingArgumentsSaySSGSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2264\n+              }\n+            ],\n+            "key.bodylength" : 281,\n+            "key.bodyoffset" : 2323,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was enabled or disabled, or nil if it\\nwas not given at all.\\n\\nIf the key is found, it is then removed from the list of arguments\\nremaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the key is found, it is then removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"82\\" column=\\"16\\"><Name>consumeBoolean(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF<\\/USR><Declaration>internal func consumeBoolean(forKey key: String) -&gt; Bool?<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was enabled or disabled, or nil if it was not given at all.<\\/Para><\\/Abstract><Discussion><Para>If the key is found, it is then removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "consumeBoolean(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 205,\n+            "key.docoffset" : 2058,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 332,\n+            "key.name" : "consumeBoolean(forKey:)",\n+            "key.namelength" : 34,\n+            "key.nameoffset" : 2278,\n+            "key.offset" : 2273,\n+            "key.parsed_declaration" : "internal func consumeBoolean(forKey key: String) -> Bool?",\n+            "key.parsed_scope.end" : 98,\n+            "key.parsed_scope.start" : 82,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF\\">consumeBoolean(flag:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 2330,\n+                "key.offset" : 2326,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 83,\n+                "key.parsed_scope.start" : 83,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var result: <Type usr=\\"s:Sb\\">Bool<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>result<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 17,\n+                "key.name" : "result",\n+                "key.namelength" : 6,\n+                "key.nameoffset" : 2392,\n+                "key.offset" : 2388,\n+                "key.parsed_declaration" : "var result: Bool?",\n+                "key.parsed_scope.end" : 86,\n+                "key.parsed_scope.start" : 86,\n+                "key.typename" : "Bool?",\n+                "key.typeusr" : "$sSbSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF6resultL_AFvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool?",\n+            "key.typeusr" : "$s6forKeySbSgSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeValue(forKey key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:SS\\">String<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:s5NeverO\\">Never<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 2908\n+              }\n+            ],\n+            "key.bodylength" : 503,\n+            "key.bodyoffset" : 2999,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the value associated with the given flag, or nil if the flag was\\nnot specified. If the key is presented, but no value was given, an error\\nis returned.\\n\\nIf a value is found, the key and the value are both removed from the\\nlist of arguments remaining to be parsed.",\n+            "key.doc.declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"106\\" column=\\"16\\"><Name>consumeValue(forKey:)<\\/Name><USR>s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF<\\/USR><Declaration>internal func consumeValue(forKey key: String) -&gt; Result&lt;String?, CommandantError&lt;Never&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Returns the value associated with the given flag, or nil if the flag was not specified. If the key is presented, but no value was given, an error is returned.<\\/Para><\\/Abstract><Discussion><Para>If a value is found, the key and the value are both removed from the list of arguments remaining to be parsed.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 106,\n+            "key.doc.name" : "consumeValue(forKey:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 299,\n+            "key.docoffset" : 2608,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeValue<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>forKey<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>key<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 586,\n+            "key.name" : "consumeValue(forKey:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 2922,\n+            "key.offset" : 2917,\n+            "key.parsed_declaration" : "internal func consumeValue(forKey key: String) -> Result<String?, CommandantError<Never>>",\n+            "key.parsed_scope.end" : 131,\n+            "key.parsed_scope.start" : 106,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 3006,\n+                "key.offset" : 3002,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 107,\n+                "key.parsed_scope.start" : 107,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var foundValue: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>foundValue<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 23,\n+                "key.name" : "foundValue",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 3068,\n+                "key.offset" : 3064,\n+                "key.parsed_declaration" : "var foundValue: String?",\n+                "key.parsed_scope.end" : 110,\n+                "key.parsed_scope.start" : 110,\n+                "key.typename" : "String?",\n+                "key.typeusr" : "$sSSSgD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF05foundE0L_AHvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var index: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 13,\n+                "key.name" : "index",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 3094,\n+                "key.offset" : 3090,\n+                "key.parsed_declaration" : "var index = 0",\n+                "key.parsed_scope.end" : 111,\n+                "key.parsed_scope.start" : 111,\n+                "key.related_decls" : [\n+                  {\n+                    "key.annotated_decl" : "<RelatedName usr=\\"c:@F@index\\">index(_:_:)<\\/RelatedName>"\n+                  }\n+                ],\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF5indexL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Result<String?, CommandantError<Never>>",\n+            "key.typeusr" : "$s6forKeys6ResultOySSSg10Commandant0D5ErrorOys5NeverOGGSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC12consumeValue6forKeys6ResultOySSSgAA0A5ErrorOys5NeverOGGSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumePositionalArgument() -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3634\n+              }\n+            ],\n+            "key.bodylength" : 164,\n+            "key.bodyoffset" : 3688,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns the next positional argument that hasn\'t yet been returned, or\\nnil if there are no more positional arguments.",\n+            "key.doc.declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"135\\" column=\\"16\\"><Name>consumePositionalArgument()<\\/Name><USR>s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF<\\/USR><Declaration>internal func consumePositionalArgument() -&gt; String?<\\/Declaration><CommentParts><Abstract><Para>Returns the next positional argument that hasn’t yet been returned, or nil if there are no more positional arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 135,\n+            "key.doc.name" : "consumePositionalArgument()",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 127,\n+            "key.docoffset" : 3506,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumePositionalArgument<\\/decl.name>() -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 210,\n+            "key.name" : "consumePositionalArgument()",\n+            "key.namelength" : 27,\n+            "key.nameoffset" : 3648,\n+            "key.offset" : 3643,\n+            "key.parsed_declaration" : "internal func consumePositionalArgument() -> String?",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 135,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> () -> String?",\n+            "key.typeusr" : "$sSSSgycD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC017consumePositionalB0SSSgyF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consume(key: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 3963\n+              }\n+            ],\n+            "key.bodylength" : 143,\n+            "key.bodyoffset" : 4007,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given key was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consume(key: String) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"148\\" column=\\"16\\"><Name>consume(key:)<\\/Name><USR>s:10Commandant14ArgumentParserC7consume3keySbSS_tF<\\/USR><Declaration>internal func consume(key: String) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given key was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 148,\n+            "key.doc.name" : "consume(key:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 106,\n+            "key.docoffset" : 3856,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consume<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 179,\n+            "key.name" : "consume(key:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 3977,\n+            "key.offset" : 3972,\n+            "key.parsed_declaration" : "internal func consume(key: String) -> Bool",\n+            "key.parsed_scope.end" : 153,\n+            "key.parsed_scope.start" : 148,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let oldArguments: [<Type usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>oldArguments<\\/decl.name>: <decl.var.type>[<ref.enum usr=\\"s:10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLO\\">RawArgument<\\/ref.enum>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 31,\n+                "key.name" : "oldArguments",\n+                "key.namelength" : 12,\n+                "key.nameoffset" : 4014,\n+                "key.offset" : 4010,\n+                "key.parsed_declaration" : "let oldArguments = rawArguments",\n+                "key.parsed_scope.end" : 149,\n+                "key.parsed_scope.start" : 149,\n+                "key.typename" : "[RawArgument]",\n+                "key.typeusr" : "$sSay10Commandant11RawArgument33_BA859BFBBE9DF3838A11641CB273713ELLOGD",\n+                "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF12oldArgumentsL_SayAA03RawB033_BA859BFBBE9DF3838A11641CB273713ELLOGvp"\n+              }\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (String) -> Bool",\n+            "key.typeusr" : "$s3keySbSS_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC7consume3keySbSS_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>internal func consumeBoolean(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>) -&gt; <Type usr=\\"s:Sb\\">Bool<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.internal",\n+                "key.length" : 8,\n+                "key.offset" : 4262\n+              }\n+            ],\n+            "key.bodylength" : 316,\n+            "key.bodyoffset" : 4317,\n+            "key.doc.column" : 16,\n+            "key.doc.comment" : "Returns whether the given flag was specified and removes it from the\\nlist of arguments remaining.",\n+            "key.doc.declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentParser.swift\\" line=\\"157\\" column=\\"16\\"><Name>consumeBoolean(flag:)<\\/Name><USR>s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF<\\/USR><Declaration>internal func consumeBoolean(flag: Character) -&gt; Bool<\\/Declaration><CommentParts><Abstract><Para>Returns whether the given flag was specified and removes it from the list of arguments remaining.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "consumeBoolean(flag:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 107,\n+            "key.docoffset" : 4154,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentParser.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>consumeBoolean<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 363,\n+            "key.name" : "consumeBoolean(flag:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 4276,\n+            "key.offset" : 4271,\n+            "key.parsed_declaration" : "internal func consumeBoolean(flag: Character) -> Bool",\n+            "key.parsed_scope.end" : 174,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant14ArgumentParserC14consumeBoolean6forKeySbSgSS_tF\\">consumeBoolean(forKey:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(ArgumentParser) -> (Character) -> Bool",\n+            "key.typeusr" : "$s4flagSbSJ_tcD",\n+            "key.usr" : "s:10Commandant14ArgumentParserC14consumeBoolean4flagSbSJ_tF"\n+          }\n+        ],\n+        "key.typename" : "ArgumentParser.Type",\n+        "key.typeusr" : "$s10Commandant14ArgumentParserCmD",\n+        "key.usr" : "s:10Commandant14ArgumentParserC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/ArgumentProtocol.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 1141,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol ArgumentProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 219\n+          }\n+        ],\n+        "key.bodylength" : 189,\n+        "key.bodyoffset" : 253,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a value that can be converted from a command-line argument.",\n+        "key.doc.declaration" : "public protocol ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"10\\" column=\\"17\\"><Name>ArgumentProtocol<\\/Name><USR>s:10Commandant16ArgumentProtocolP<\\/USR><Declaration>public protocol ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a value that can be converted from a command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 10,\n+        "key.doc.name" : "ArgumentProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 75,\n+        "key.docoffset" : 144,\n+        "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>ArgumentProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 217,\n+        "key.name" : "ArgumentProtocol",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 235,\n+        "key.offset" : 226,\n+        "key.parsed_declaration" : "public protocol ArgumentProtocol",\n+        "key.parsed_scope.end" : 16,\n+        "key.parsed_scope.start" : 10,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static var name: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 322,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable name for this type.",\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 41,\n+            "key.docoffset" : 255,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.static>",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 31,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 308,\n+            "key.offset" : 297,\n+            "key.parsed_declaration" : "static var name: String",\n+            "key.parsed_scope.end" : 12,\n+            "key.parsed_scope.start" : 12,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Attempts to parse a value from the given command-line argument.",\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 68,\n+            "key.docoffset" : 331,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant16ArgumentProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 41,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 412,\n+            "key.offset" : 400,\n+            "key.parsed_declaration" : "static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "ArgumentProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant16ArgumentProtocol_pmD",\n+        "key.usr" : "s:10Commandant16ArgumentProtocolP"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct Int : <Type usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/Type>, <Type usr=\\"s:SZ\\">SignedInteger<\\/Type>, <Type usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 113,\n+        "key.bodyoffset" : 478,\n+        "key.doc.declaration" : "@frozen struct Int : FixedWidthInteger, SignedInteger",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "On 32-bit platforms, `Int` is the same size as `Int32`, and on 64-bit platforms, `Int` is the same size as `Int64`."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>Int<\\/Name><USR>s:Si<\\/USR><Declaration>@frozen struct Int : FixedWidthInteger, SignedInteger<\\/Declaration><CommentParts><Abstract><Para>A signed integer value type.<\\/Para><\\/Abstract><Discussion><Para>On 32-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int32<\\/codeVoice>, and on 64-bit platforms, <codeVoice>Int<\\/codeVoice> is the same size as <codeVoice>Int64<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "Int",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 460\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Int<\\/decl.name> : <ref.protocol usr=\\"s:s17FixedWidthIntegerP\\">FixedWidthInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:SZ\\">SignedInteger<\\/ref.protocol>, <ref.protocol usr=\\"s:s35_ExpressibleByBuiltinIntegerLiteralP\\">_ExpressibleByBuiltinIntegerLiteral<\\/ref.protocol><\\/decl.struct>",\n+        "key.groupname" : "Math\\/Integers",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Int",\n+        "key.namelength" : 3,\n+        "key.nameoffset" : 455,\n+        "key.offset" : 445,\n+        "key.parsed_declaration" : "extension Int: ArgumentProtocol",\n+        "key.parsed_scope.end" : 24,\n+        "key.parsed_scope.start" : 18,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 480\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 27,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 498,\n+            "key.offset" : 487,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"integer\\"",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 517\n+              }\n+            ],\n+            "key.bodylength" : 23,\n+            "key.bodyoffset" : 566,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Math\\/Integers",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 66,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 524,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> Int?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 21,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Int.Type) -> (String) -> Int?",\n+            "key.typeusr" : "$s6stringSiSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "Int.Type",\n+        "key.typeusr" : "$sSimD",\n+        "key.usr" : "s:Si"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>@frozen struct String<\\/Declaration>",\n+        "key.bodylength" : 110,\n+        "key.bodyoffset" : 630,\n+        "key.doc.declaration" : "@frozen struct String",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "A string is a series of characters, such as `\\"Swift\\"`, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The `String` type bridges with the Objective-C class `NSString` and offers interoperability with C functions that works with strings."\n+          },\n+          {\n+            "Para" : "You can create new strings using string literals or string interpolations. A  is a series of characters enclosed in quotes."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : " are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Combine strings using the concatenation operator (`+`)."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Multiline string literals are enclosed in three double quotation marks (`\\"\\"\\"`), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings always have value semantics. Modifying a copy of a string leaves the original unaffected."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Comparing strings for equality using the equal-to operator (`==`) or a relational operator (like `<` or `>=`) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The Unicode scalar value `\\"\\\\u{301}\\"` modifies the preceding character to include an accent, so `\\"e\\\\u{301}\\"` has the same canonical representation as the single Unicode scalar value `\\"é\\"`."\n+          },\n+          {\n+            "Para" : "Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in `Dictionary` instances and for other purposes."\n+          },\n+          {\n+            "Para" : "A string is a collection of , which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift `Character` type. Each element of a string is represented by a `Character` instance."\n+          },\n+          {\n+            "Para" : "For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `firstName` constant is an instance of the `Substring` type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s `unicodeScalars`, `utf16`, or `utf8` properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding."\n+          },\n+          {\n+            "Para" : "To demonstrate the different views available for every string, the following examples use this `String` instance:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `cafe` string is a collection of the nine characters that are visible when the string is displayed."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `unicodeScalars` property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a `Unicode.Scalar` instance and is equivalent to a UTF-32 code unit."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The `unicodeScalars` view’s elements comprise each Unicode scalar value in the `cafe` string. In particular, because `cafe` was declared using the decomposed form of the `\\"é\\"` character, `unicodeScalars` contains the scalar values for both the letter `\\"e\\"` (101) and the accent character `\\"´\\"` (769)."\n+          },\n+          {\n+            "Para" : "A string’s `utf16` property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt16` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf16` view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed `NSString` APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "A string’s `utf8` property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a `UInt8` instance."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "The elements of the `utf8` view are the code units for the string when encoded in UTF-8. This representation matches the one used when `String` instances are passed to C APIs."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views."\n+          },\n+          {\n+            "Para" : "For example, an ASCII character like the capital letter  is represented by a single element in each of its four views. The Unicode scalar value of  is `65`, which is small enough to fit in a single code unit in both UTF-16 and UTF-8."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like `\\"\\\\u{1F1F5}\\"` and `\\"\\\\u{1F1F7}\\"`. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string `\\"🇵🇷\\"` reports a different length."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "To check whether a string is empty, use its `isEmpty` property instead of comparing the length of one of the views to `0`. Unlike with `isEmpty`, calculating a view’s `count` property requires iterating through the elements of the string."\n+          },\n+          {\n+            "Para" : "To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Strings and their views share indices, so you can access the UTF-8 view of the `name` string using the same `firstSpace` index."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Note that an index into one view may not have an exact corresponding position in another view. For example, the `flag` string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the `flag.utf8` view. Accessing the `utf8` view with these indices yields the first and second code UTF-8 units."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "When used to access the elements of the `flag` string itself, however, the `secondCodeUnit` index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of `secondCodeUnit`, that character is still the flag itself."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s `samePosition(in:)` method or the `init(_:within:)` initializer."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O() time and space."\n+          },\n+          {\n+            "Para" : "When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations."\n+          },\n+          {\n+            "Para" : "Any `String` instance can be bridged to `NSString` using the type-cast operator (`as`), and any `String` instance that originates in Objective-C may use an `NSString` instance as its storage. Because any arbitrary subclass of `NSString` can become a `String` instance, there are no guarantees about representation or efficiency when a `String` instance is backed by `NSString` storage. Because `NSString` is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O() time and space, where  is the length of the string’s encoded representation (or more, if the underlying `NSString` has unusual performance characteristics)."\n+          },\n+          {\n+            "Para" : "For more information about the Unicode terms used in this discussion, see the . In particular, this discussion mentions , , and ."\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>String<\\/Name><USR>s:SS<\\/USR><Declaration>@frozen struct String<\\/Declaration><CommentParts><Abstract><Para>A Unicode string value that is a collection of characters.<\\/Para><\\/Abstract><Discussion><Para>A string is a series of characters, such as <codeVoice>&quot;Swift&quot;<\\/codeVoice>, that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The <codeVoice>String<\\/codeVoice> type bridges with the Objective-C class <codeVoice>NSString<\\/codeVoice> and offers interoperability with C functions that works with strings.<\\/Para><Para>You can create new strings using string literals or string interpolations. A <emphasis>string literal<\\/emphasis> is a series of characters enclosed in quotes.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let greeting = \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para><emphasis>String interpolations<\\/emphasis> are string literals that evaluate any included expressions and convert the results to string form. String interpolations give you an easy way to build a string from multiple pieces. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Rosa\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let personalizedGreeting = \\"Welcome, \\\\(name)!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ personalizedGreeting == \\"Welcome, Rosa!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let price = 2]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let number = 3]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cookiePrice = \\"\\\\(number) cookies: $\\\\(price * number).\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ cookiePrice == \\"3 cookies: $6.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Combine strings using the concatenation operator (<codeVoice>+<\\/codeVoice>).<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let longerGreeting = greeting + \\" We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ longerGreeting == \\"Welcome! We\'re glad you\'re here!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Multiline string literals are enclosed in three double quotation marks (<codeVoice>&quot;&quot;&quot;<\\/codeVoice>), with each delimiter on its own line. Indentation is stripped from each line of a multiline string literal to match the indentation of the closing delimiter.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let banner = \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          __,]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[         (           o  \\/) _\\/_]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[          `.  , , , ,  \\/\\/  \\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        (___)(_(_\\/_(_ \\/\\/_ (__]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                     \\/)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[                    (\\/]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        \\"\\"\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Modifying and Comparing Strings<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Strings always have value semantics. Modifying a copy of a string leaves the original unaffected.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var otherGreeting = greeting]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[otherGreeting += \\" Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ otherGreeting == \\"Welcome! Have a nice time!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(greeting)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Welcome!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Comparing strings for equality using the equal-to operator (<codeVoice>==<\\/codeVoice>) or a relational operator (like <codeVoice>&lt;<\\/codeVoice> or <codeVoice>&gt;=<\\/codeVoice>) is always performed using Unicode canonical representation. As a result, different representations of a string compare as being equal.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe1 = \\"Cafe\\\\u{301}\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let cafe2 = \\"Café\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe1 == cafe2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"true\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The Unicode scalar value <codeVoice>&quot;\\\\u{301}&quot;<\\/codeVoice> modifies the preceding character to include an accent, so <codeVoice>&quot;e\\\\u{301}&quot;<\\/codeVoice> has the same canonical representation as the single Unicode scalar value <codeVoice>&quot;é&quot;<\\/codeVoice>.<\\/Para><Para>Basic string operations are not sensitive to locale settings, ensuring that string comparisons and other operations always have a single, stable result, allowing strings to be used as keys in <codeVoice>Dictionary<\\/codeVoice> instances and for other purposes.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>A string is a collection of <emphasis>extended grapheme clusters<\\/emphasis>, which approximate human-readable characters. Many individual characters, such as “é”, “김”, and “🇮🇳”, can be made up of multiple Unicode scalar values. These scalar values are combined by Unicode’s boundary algorithms into extended grapheme clusters, represented by the Swift <codeVoice>Character<\\/codeVoice> type. Each element of a string is represented by a <codeVoice>Character<\\/codeVoice> instance.<\\/Para><Para>For example, to retrieve the first word of a longer string, you can search for a space and then create a substring from a prefix of the string up to that point:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ firstName == \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>firstName<\\/codeVoice> constant is an instance of the <codeVoice>Substring<\\/codeVoice> type—a type that represents substrings of a string while sharing the original string’s storage. Substrings present the same interface as strings.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(\\"\\\\(name)\'s first name has \\\\(firstName.count) letters.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie Curie\'s first name has 5 letters.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing a String’s Unicode Representation<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>If you need to access the contents of a string as encoded in different Unicode encodings, use one of the string’s <codeVoice>unicodeScalars<\\/codeVoice>, <codeVoice>utf16<\\/codeVoice>, or <codeVoice>utf8<\\/codeVoice> properties. Each property provides access to a view of the string as a series of code units, each encoded in a different Unicode encoding.<\\/Para><Para>To demonstrate the different views available for every string, the following examples use this <codeVoice>String<\\/codeVoice> instance:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cafe = \\"Cafe\\\\u{301} du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Café du 🌍\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>cafe<\\/codeVoice> string is a collection of the nine characters that are visible when the string is displayed.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"9\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"é\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"🌍\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>Unicode Scalar View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>unicodeScalars<\\/codeVoice> property is a collection of Unicode scalar values, the 21-bit codes that are the basic unit of Unicode. Each scalar value is represented by a <codeVoice>Unicode.Scalar<\\/codeVoice> instance and is equivalent to a UTF-32 code unit.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"10\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.unicodeScalars))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[\\"C\\", \\"a\\", \\"f\\", \\"e\\", \\"\\\\u{0301}\\", \\" \\", \\"d\\", \\"u\\", \\" \\", \\"\\\\u{0001F30D}\\"]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cafe.unicodeScalars.map { $0.value })]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 127757]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The <codeVoice>unicodeScalars<\\/codeVoice> view’s elements comprise each Unicode scalar value in the <codeVoice>cafe<\\/codeVoice> string. In particular, because <codeVoice>cafe<\\/codeVoice> was declared using the decomposed form of the <codeVoice>&quot;é&quot;<\\/codeVoice> character, <codeVoice>unicodeScalars<\\/codeVoice> contains the scalar values for both the letter <codeVoice>&quot;e&quot;<\\/codeVoice> (101) and the accent character <codeVoice>&quot;´&quot;<\\/codeVoice> (769).<\\/Para><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-16 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf16<\\/codeVoice> property is a collection of UTF-16 code units, the 16-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt16<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf16))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 769, 32, 100, 117, 32, 55356, 57101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf16<\\/codeVoice> view are the code units for the string when encoded in UTF-16. These elements match those accessed through indexed <codeVoice>NSString<\\/codeVoice> APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let nscafe = cafe as NSString]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.length)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"11\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(nscafe.character(at: 3))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"101\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h2>]]><\\/rawHTML>UTF-8 View<rawHTML><![CDATA[<\\/h2>]]><\\/rawHTML><Para>A string’s <codeVoice>utf8<\\/codeVoice> property is a collection of UTF-8 code units, the 8-bit encoding form of the string’s Unicode scalar values. Each code unit is stored as a <codeVoice>UInt8<\\/codeVoice> instance.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(cafe.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(Array(cafe.utf8))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[67, 97, 102, 101, 204, 129, 32, 100, 117, 32, 240, 159, 140, 141]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The elements of the <codeVoice>utf8<\\/codeVoice> view are the code units for the string when encoded in UTF-8. This representation matches the one used when <codeVoice>String<\\/codeVoice> instances are passed to C APIs.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let cLength = strlen(cafe)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(cLength)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"14\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Measuring the Length of a String<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>When you need to know the length of a string, you must first consider what you’ll use the length for. Are you measuring the number of characters that will be displayed on the screen, or are you measuring the amount of storage needed for the string in a particular encoding? A single string can have greatly differing lengths when measured by its different views.<\\/Para><Para>For example, an ASCII character like the capital letter <emphasis>A<\\/emphasis> is represented by a single element in each of its four views. The Unicode scalar value of <emphasis>A<\\/emphasis> is <codeVoice>65<\\/codeVoice>, which is small enough to fit in a single code unit in both UTF-16 and UTF-8.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let capitalA = \\"A\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(capitalA.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>On the other hand, an emoji flag character is constructed from a pair of Unicode scalar values, like <codeVoice>&quot;\\\\u{1F1F5}&quot;<\\/codeVoice> and <codeVoice>&quot;\\\\u{1F1F7}&quot;<\\/codeVoice>. Each of these scalar values, in turn, is too large to fit into a single UTF-16 or UTF-8 code unit. As a result, each view of the string <codeVoice>&quot;🇵🇷&quot;<\\/codeVoice> reports a different length.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let flag = \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"1\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.unicodeScalars.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"2\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf16.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"4\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(flag.utf8.count)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"8\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>To check whether a string is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing the length of one of the views to <codeVoice>0<\\/codeVoice>. Unlike with <codeVoice>isEmpty<\\/codeVoice>, calculating a view’s <codeVoice>count<\\/codeVoice> property requires iterating through the elements of the string.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Accessing String View Elements<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>To find individual elements of a string, use the appropriate view for your task. For example, to retrieve the first word of a longer string, you can search the string for a space and then create a new string from a prefix of the string up to that point.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let name = \\"Marie Curie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstSpace = name.firstIndex(of: \\" \\") ?? name.endIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let firstName = name[..<firstSpace]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(firstName)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Marie\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Strings and their views share indices, so you can access the UTF-8 view of the <codeVoice>name<\\/codeVoice> string using the same <codeVoice>firstSpace<\\/codeVoice> index.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(Array(name.utf8[..<firstSpace]))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[77, 97, 114, 105, 101]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Note that an index into one view may not have an exact corresponding position in another view. For example, the <codeVoice>flag<\\/codeVoice> string declared above comprises a single character, but is composed of eight code units when encoded as UTF-8. The following code creates constants for the first and second positions in the <codeVoice>flag.utf8<\\/codeVoice> view. Accessing the <codeVoice>utf8<\\/codeVoice> view with these indices yields the first and second code UTF-8 units.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let firstCodeUnit = flag.startIndex]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let secondCodeUnit = flag.utf8.index(after: firstCodeUnit)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[firstCodeUnit] == 240]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag.utf8[secondCodeUnit] == 159]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>When used to access the elements of the <codeVoice>flag<\\/codeVoice> string itself, however, the <codeVoice>secondCodeUnit<\\/codeVoice> index does not correspond to the position of a specific character. Instead of only accessing the specific UTF-8 code unit, that index is treated as the position of the character at the index’s encoded offset. In the case of <codeVoice>secondCodeUnit<\\/codeVoice>, that character is still the flag itself.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[\\/\\/ flag[firstCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ flag[secondCodeUnit] == \\"🇵🇷\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If you need to validate that an index from one string’s view corresponds with an exact position in another view, use the index’s <codeVoice>samePosition(in:)<\\/codeVoice> method or the <codeVoice>init(_:within:)<\\/codeVoice> initializer.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[if let exactIndex = secondCodeUnit.samePosition(in: flag) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(flag[exactIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"No exact match for this position.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"No exact match for this position.\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Performance Optimizations<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Although strings in Swift have value semantics, strings use a copy-on-write strategy to store their data in a buffer. This buffer can then be shared by different copies of a string. A string’s data is only copied lazily, upon mutation, when more than one string instance is using the same buffer. Therefore, the first in any sequence of mutating operations may cost O(<emphasis>n<\\/emphasis>) time and space.<\\/Para><Para>When a string’s contiguous storage fills up, a new buffer must be allocated and data must be moved to the new storage. String buffers use an exponential growth strategy that makes appending to a string a constant time operation when averaged over many append operations.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Bridging Between String and NSString<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Any <codeVoice>String<\\/codeVoice> instance can be bridged to <codeVoice>NSString<\\/codeVoice> using the type-cast operator (<codeVoice>as<\\/codeVoice>), and any <codeVoice>String<\\/codeVoice> instance that originates in Objective-C may use an <codeVoice>NSString<\\/codeVoice> instance as its storage. Because any arbitrary subclass of <codeVoice>NSString<\\/codeVoice> can become a <codeVoice>String<\\/codeVoice> instance, there are no guarantees about representation or efficiency when a <codeVoice>String<\\/codeVoice> instance is backed by <codeVoice>NSString<\\/codeVoice> storage. Because <codeVoice>NSString<\\/codeVoice> is immutable, it is just as though the storage was shared by a copy. The first in any sequence of mutating operations causes elements to be copied into unique, contiguous storage which may cost O(<emphasis>n<\\/emphasis>) time and space, where <emphasis>n<\\/emphasis> is the length of the string’s encoded representation (or more, if the underlying <codeVoice>NSString<\\/codeVoice> has unusual performance characteristics).<\\/Para><Para>For more information about the Unicode terms used in this discussion, see the <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/\\">Unicode.org glossary<\\/Link>. In particular, this discussion mentions <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#extended_grapheme_cluster\\">extended grapheme clusters<\\/Link>, <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#unicode_scalar_value\\">Unicode scalar values<\\/Link>, and <Link href=\\"http:\\/\\/www.unicode.org\\/glossary\\/#canonical_equivalent\\">canonical equivalence<\\/Link>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "String",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 16,\n+            "key.offset" : 612\n+          }\n+        ],\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>String<\\/decl.name><\\/decl.struct>",\n+        "key.groupname" : "String",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "ArgumentProtocol"\n+          }\n+        ],\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 147,\n+        "key.modulename" : "Swift",\n+        "key.name" : "String",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 604,\n+        "key.offset" : 594,\n+        "key.parsed_declaration" : "extension String: ArgumentProtocol",\n+        "key.parsed_scope.end" : 32,\n+        "key.parsed_scope.start" : 26,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static let name: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 632\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.declaration" : "static var name: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"12\\" column=\\"13\\"><Name>name<\\/Name><USR>s:10Commandant16ArgumentProtocolP4nameSSvpZ<\\/USR><Declaration>static var name: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable name for this type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "name",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.var.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>name<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.var.static",\n+            "key.length" : 26,\n+            "key.name" : "name",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 650,\n+            "key.offset" : 639,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static let name = \\"string\\"",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4nameSSvpZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 668\n+              }\n+            ],\n+            "key.bodylength" : 18,\n+            "key.bodyoffset" : 720,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func from(string: String) -> Self?",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/ArgumentProtocol.swift\\" line=\\"15\\" column=\\"14\\"><Name>from(string:)<\\/Name><USR>s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ<\\/USR><Declaration>static func from(string: String) -&gt; Self?<\\/Declaration><CommentParts><Abstract><Para>Attempts to parse a value from the given command-line argument.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>ArgumentProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "from(string:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "String",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 64,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 687,\n+            "key.offset" : 675,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func from(string: String) -> String?",\n+            "key.parsed_scope.end" : 31,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(String.Type) -> (String) -> String?",\n+            "key.typeusr" : "$s6stringSSSgSS_tcD",\n+            "key.usr" : "s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "String.Type",\n+        "key.typeusr" : "$sSSmD",\n+        "key.usr" : "s:SS"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 826,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 196,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 753,\n+        "key.offset" : 743,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: StringProtocol, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 38,\n+        "key.parsed_scope.start" : 34,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 878,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 847,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 35,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : StringProtocol> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>protocol RawRepresentable<\\/Declaration>",\n+        "key.bodylength" : 112,\n+        "key.bodyoffset" : 1027,\n+        "key.doc.declaration" : "protocol RawRepresentable",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "With a `RawRepresentable` type, you can switch back and forth between a custom type and an associated `RawValue` type without losing the value of the original `RawRepresentable` type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as `Equatable`, `Comparable`, and `Hashable`."\n+          },\n+          {\n+            "Para" : "The `RawRepresentable` protocol is seen mainly in two categories of types: enumerations with raw value types and option sets."\n+          },\n+          {\n+            "Para" : "For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds `RawRepresentable` conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases."\n+          },\n+          {\n+            "Para" : "For example, the `Counter` enumeration defined here has an `Int` raw value type and gives the first case a raw value of `1`:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "You can create a `Counter` instance from an integer value between 1 and 5 by using the `init?(rawValue:)` initializer declared in the `RawRepresentable` protocol. This initializer is failable because although every case of the `Counter` type has a corresponding `Int` value, there are many `Int` values that  correspond to a case of `Counter`."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets all conform to `RawRepresentable` by inheritance using the `OptionSet` protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the `FixedWidthInteger` protocol, such as `UInt8` or `Int`. For example, the `Direction` type defines an option set for the four directions you can move in a game."\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Unlike enumerations, option sets provide a nonfailable `init(rawValue:)` initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values."\n+          },\n+          {\n+            "Para" : "In the case of the `Directions` option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the `allowedMoves` instance is the result of the bitwise OR of its three members’ raw values:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          },\n+          {\n+            "Para" : "Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the `contains()` method on `allowedMoves` performs a bitwise AND operation to check whether the option set contains an element."\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.full_as_xml" : "<Class><Name>RawRepresentable<\\/Name><USR>s:SY<\\/USR><Declaration>protocol RawRepresentable<\\/Declaration><CommentParts><Abstract><Para>A type that can be converted to and from an associated raw value.<\\/Para><\\/Abstract><Discussion><Para>With a <codeVoice>RawRepresentable<\\/codeVoice> type, you can switch back and forth between a custom type and an associated <codeVoice>RawValue<\\/codeVoice> type without losing the value of the original <codeVoice>RawRepresentable<\\/codeVoice> type. Using the raw value of a conforming type streamlines interoperation with Objective-C and legacy APIs and simplifies conformance to other protocols, such as <codeVoice>Equatable<\\/codeVoice>, <codeVoice>Comparable<\\/codeVoice>, and <codeVoice>Hashable<\\/codeVoice>.<\\/Para><Para>The <codeVoice>RawRepresentable<\\/codeVoice> protocol is seen mainly in two categories of types: enumerations with raw value types and option sets.<\\/Para><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Enumerations with Raw Values<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>For any enumeration with a string, integer, or floating-point raw type, the Swift compiler automatically adds <codeVoice>RawRepresentable<\\/codeVoice> conformance. When defining your own custom enumeration, you give it a raw type by specifying the raw type as the first item in the enumeration’s type inheritance list. You can also use literals to specify values for one or more cases.<\\/Para><Para>For example, the <codeVoice>Counter<\\/codeVoice> enumeration defined here has an <codeVoice>Int<\\/codeVoice> raw value type and gives the first case a raw value of <codeVoice>1<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[enum Counter: Int {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    case one = 1, two, three, four, five]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can create a <codeVoice>Counter<\\/codeVoice> instance from an integer value between 1 and 5 by using the <codeVoice>init?(rawValue:)<\\/codeVoice> initializer declared in the <codeVoice>RawRepresentable<\\/codeVoice> protocol. This initializer is failable because although every case of the <codeVoice>Counter<\\/codeVoice> type has a corresponding <codeVoice>Int<\\/codeVoice> value, there are many <codeVoice>Int<\\/codeVoice> values that <emphasis>don’t<\\/emphasis> correspond to a case of <codeVoice>Counter<\\/codeVoice>.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[for i in 3...6 {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(Counter(rawValue: i))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.three)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.four)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Optional(Counter.five)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"nil\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><rawHTML><![CDATA[<h1>]]><\\/rawHTML>Option Sets<rawHTML><![CDATA[<\\/h1>]]><\\/rawHTML><Para>Option sets all conform to <codeVoice>RawRepresentable<\\/codeVoice> by inheritance using the <codeVoice>OptionSet<\\/codeVoice> protocol. Whether using an option set or creating your own, you use the raw value of an option set instance to store the instance’s bitfield. The raw value must therefore be of a type that conforms to the <codeVoice>FixedWidthInteger<\\/codeVoice> protocol, such as <codeVoice>UInt8<\\/codeVoice> or <codeVoice>Int<\\/codeVoice>. For example, the <codeVoice>Direction<\\/codeVoice> type defines an option set for the four directions you can move in a game.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Directions: OptionSet {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let rawValue: UInt8]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let up    = Directions(rawValue: 1 << 0)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let down  = Directions(rawValue: 1 << 1)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let left  = Directions(rawValue: 1 << 2)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    static let right = Directions(rawValue: 1 << 3)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Unlike enumerations, option sets provide a nonfailable <codeVoice>init(rawValue:)<\\/codeVoice> initializer to convert from a raw value, because option sets don’t have an enumerated list of all possible cases. Option set values have a one-to-one correspondence with their associated raw values.<\\/Para><Para>In the case of the <codeVoice>Directions<\\/codeVoice> option set, an instance can contain zero, one, or more of the four defined directions. This example declares a constant with three currently allowed moves. The raw value of the <codeVoice>allowedMoves<\\/codeVoice> instance is the result of the bitwise OR of its three members’ raw values:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let allowedMoves: Directions = [.up, .down, .left]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"7\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>Option sets use bitwise operations on their associated raw values to implement their mathematical set operations. For example, the <codeVoice>contains()<\\/codeVoice> method on <codeVoice>allowedMoves<\\/codeVoice> performs a bitwise AND operation to check whether the option set contains an element.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[print(allowedMoves.contains(.right))]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"false\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(allowedMoves.rawValue & Directions.right.rawValue)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"0\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.name" : "RawRepresentable",\n+        "key.doc.type" : "Class",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>RawRepresentable<\\/decl.name><\\/decl.protocol>",\n+        "key.groupname" : "Protocols",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 199,\n+        "key.modulename" : "Swift",\n+        "key.name" : "RawRepresentable",\n+        "key.namelength" : 16,\n+        "key.nameoffset" : 951,\n+        "key.offset" : 941,\n+        "key.parsed_declaration" : "extension RawRepresentable where RawValue: FixedWidthInteger, Self: ArgumentProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 40,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func from(string: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1029\n+              }\n+            ],\n+            "key.bodylength" : 58,\n+            "key.bodyoffset" : 1079,\n+            "key.filepath" : "Sources\\/Commandant\\/ArgumentProtocol.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>from<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>string<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4Selfxmfp\\">Self<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.groupname" : "Protocols",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 102,\n+            "key.name" : "from(string:)",\n+            "key.namelength" : 20,\n+            "key.nameoffset" : 1048,\n+            "key.offset" : 1036,\n+            "key.parsed_declaration" : "public static func from(string: String) -> Self?",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 41,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant16ArgumentProtocolP4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:SY10CommandantAA16ArgumentProtocolRzSy8RawValueSYRpzrlE4from6stringxSgSS_tFZ\\">from(string: String) -&gt; Self?<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : ArgumentProtocol, Self : RawRepresentable, Self.RawValue : FixedWidthInteger> (Self.Type) -> (String) -> Self?",\n+            "key.typeusr" : "$s6stringxSgSS_tcD",\n+            "key.usr" : "s:SY10CommandantAA16ArgumentProtocolRzs17FixedWidthInteger8RawValueSYRpzrlE4from6stringxSgSS_tFZ"\n+          }\n+        ],\n+        "key.typename" : "RawRepresentable.Protocol",\n+        "key.typeusr" : "$sSY_pmD",\n+        "key.usr" : "s:SY"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Command.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 7522,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol CommandProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 247\n+          }\n+        ],\n+        "key.bodylength" : 483,\n+        "key.bodyoffset" : 280,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a subcommand that can be executed with its own set of arguments.",\n+        "key.doc.declaration" : "public protocol CommandProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"12\\" column=\\"17\\"><Name>CommandProtocol<\\/Name><USR>s:10Commandant15CommandProtocolP<\\/USR><Declaration>public protocol CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a subcommand that can be executed with its own set of arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "CommandProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 80,\n+        "key.docoffset" : 167,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>CommandProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 510,\n+        "key.name" : "CommandProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 263,\n+        "key.offset" : 254,\n+        "key.parsed_declaration" : "public protocol CommandProtocol",\n+        "key.parsed_scope.end" : 29,\n+        "key.parsed_scope.start" : 12,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype Options : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 17,\n+            "key.doc.comment" : "The command\'s options type.",\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 32,\n+            "key.docoffset" : 283,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>Options<\\/decl.name> : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 39,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 331,\n+            "key.offset" : 316,\n+            "key.parsed_declaration" : "associatedtype Options: OptionsProtocol",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "Self.Options.Type",\n+            "key.typeusr" : "$s7Options10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError where <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.ClientError == <Type usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/Type>.Options.ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement><ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.ClientError == <ref.generic_type_param usr=\\"s:10Commandant15CommandProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>.Options.ClientError<\\/decl.generic_type_requirement><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 67,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 373,\n+            "key.offset" : 358,\n+            "key.parsed_declaration" : "associatedtype ClientError where ClientError == Options.ClientError",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 17,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15CommandProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 532,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "The action that users should specify to use this subcommand (e.g.,\\n`help`).",\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 85,\n+            "key.docoffset" : 428,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 24,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 518,\n+            "key.offset" : 514,\n+            "key.parsed_declaration" : "var verb: String",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>var function: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 648,\n+            "key.doc.column" : 6,\n+            "key.doc.comment" : "A human-readable, high-level description of what this command is used\\nfor.",\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 84,\n+            "key.docoffset" : 541,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 28,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 630,\n+            "key.offset" : 626,\n+            "key.parsed_declaration" : "var function: String",\n+            "key.parsed_scope.end" : 25,\n+            "key.parsed_scope.start" : 25,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>func run(_ options: <Type usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.doc.column" : 7,\n+            "key.doc.comment" : "Runs this subcommand with the given options.",\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 49,\n+            "key.docoffset" : 657,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP7OptionsQa\\">Options<\\/ref.associatedtype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.associatedtype usr=\\"s:10Commandant15CommandProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 55,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 712,\n+            "key.offset" : 707,\n+            "key.parsed_declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 28,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : CommandProtocol> (Self) -> (Self.Options) -> Result<(), Self.ClientError>",\n+            "key.typeusr" : "$sys6ResultOyyt11ClientErrorQzG7OptionsQzcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "CommandProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15CommandProtocol_pmD",\n+        "key.usr" : "s:10Commandant15CommandProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 793\n+          }\n+        ],\n+        "key.bodylength" : 957,\n+        "key.bodyoffset" : 843,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A type-erased command.",\n+        "key.doc.declaration" : "public struct CommandWrapper<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"32\\" column=\\"15\\"><Name>CommandWrapper<\\/Name><USR>s:10Commandant14CommandWrapperV<\\/USR><Declaration>public struct CommandWrapper&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A type-erased command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 32,\n+        "key.doc.name" : "CommandWrapper",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 27,\n+        "key.docoffset" : 766,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>CommandWrapper<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1001,\n+        "key.name" : "CommandWrapper",\n+        "key.namelength" : 14,\n+        "key.nameoffset" : 807,\n+        "key.offset" : 800,\n+        "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error>",\n+        "key.parsed_scope.end" : 65,\n+        "key.parsed_scope.start" : 32,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 835\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 822,\n+            "key.offset" : 822,\n+            "key.parsed_declaration" : "public struct CommandWrapper<ClientError: Error",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 32,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 845\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 16,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 856,\n+            "key.offset" : 852,\n+            "key.parsed_declaration" : "public let verb: String",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 33,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 870\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 881,\n+            "key.offset" : 877,\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 34,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let run: (<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 900\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>: <decl.var.type>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 69,\n+            "key.name" : "run",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 911,\n+            "key.offset" : 907,\n+            "key.parsed_declaration" : "public let run: (ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 36,\n+            "key.typename" : "(ArgumentParser) -> Result<(), CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyyt10Commandant0B5ErrorOyxGGAC14ArgumentParserCcD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV3runys6ResultOyytAA0A5ErrorOyxGGAA14ArgumentParserCcvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: () -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 979\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type>() -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 990,\n+            "key.offset" : 986,\n+            "key.parsed_declaration" : "public let usage: () -> CommandantError<ClientError>?",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "() -> CommandantError<ClientError>?",\n+            "key.typeusr" : "$s10Commandant0A5ErrorOyxGSgycD",\n+            "key.usr" : "s:10Commandant14CommandWrapperV5usageAA0A5ErrorOyxGSgycvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate init&lt;C&gt;(_ command: <Type usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/Type>) where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1078\n+              }\n+            ],\n+            "key.bodylength" : 633,\n+            "key.bodyoffset" : 1165,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Creates a command that wraps another.",\n+            "key.doc.declaration" : "fileprivate init<C>(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"41\\" column=\\"14\\"><Name>init(_:)<\\/Name><USR>s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc<\\/USR><Declaration>fileprivate init&lt;C&gt;(_ command: C) where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Creates a command that wraps another.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 41,\n+            "key.doc.name" : "init(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 42,\n+            "key.docoffset" : 1035,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>command<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 709,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 38,\n+            "key.nameoffset" : 1090,\n+            "key.offset" : 1090,\n+            "key.parsed_declaration" : "fileprivate init<C: CommandProtocol>(_ command: C) where C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 64,\n+            "key.parsed_scope.start" : 41,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 1098\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 1095,\n+                "key.offset" : 1095,\n+                "key.parsed_declaration" : "fileprivate init<C: CommandProtocol",\n+                "key.parsed_scope.end" : 41,\n+                "key.parsed_scope.start" : 41,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandWrapper<ClientError>.Type) -> (C) -> CommandWrapper<ClientError>",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant14CommandWrapperVyACyxGqd__c11ClientErrorQyd__RszAA0B8ProtocolRd__lu33_1DD6990CD6DFDE28F713A55F8EE2B70ELlfc"\n+          }\n+        ],\n+        "key.typename" : "CommandWrapper<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant14CommandWrapperVyxGmD",\n+        "key.usr" : "s:10Commandant14CommandWrapperV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1859\n+          }\n+        ],\n+        "key.bodylength" : 216,\n+        "key.bodyoffset" : 1884,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Describes the \\"mode\\" in which a command should run.",\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 56,\n+        "key.docoffset" : 1803,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 235,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1871,\n+        "key.offset" : 1866,\n+        "key.parsed_declaration" : "public enum CommandMode",\n+        "key.parsed_scope.end" : 75,\n+        "key.parsed_scope.start" : 68,\n+        "key.substructure" : [\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 1955,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case arguments(<Type usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Options should be parsed from the given command-line arguments.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"70\\" column=\\"7\\"><Name>arguments(_:)<\\/Name><USR>s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Options should be parsed from the given command-line arguments.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 70,\n+                "key.doc.name" : "arguments(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 68,\n+                "key.docoffset" : 1886,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.class usr=\\"s:10Commandant14ArgumentParserC\\">ArgumentParser<\\/ref.class><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "arguments(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 1960,\n+                "key.offset" : 1960,\n+                "key.parsed_declaration" : "case arguments(ArgumentParser)",\n+                "key.parsed_scope.end" : 70,\n+                "key.parsed_scope.start" : 70,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "(CommandMode.Type) -> (ArgumentParser) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOAA14ArgumentParserCcACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO9argumentsyAcA14ArgumentParserCcACmF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 10,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 2089,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usage<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "Each option should record its usage information in an error, for\\npresentation to the user.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"74\\" column=\\"7\\"><Name>usage<\\/Name><USR>s:10Commandant11CommandModeO5usageyA2CmF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>Each option should record its usage information in an error, for presentation to the user.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 74,\n+                "key.doc.name" : "usage",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 100,\n+                "key.docoffset" : 1988,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name><\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 5,\n+                "key.name" : "usage",\n+                "key.namelength" : 5,\n+                "key.nameoffset" : 2094,\n+                "key.offset" : 2094,\n+                "key.parsed_declaration" : "case usage",\n+                "key.parsed_scope.end" : 74,\n+                "key.parsed_scope.start" : 74,\n+                "key.typename" : "(CommandMode.Type) -> CommandMode",\n+                "key.typeusr" : "$sy10Commandant11CommandModeOACmcD",\n+                "key.usr" : "s:10Commandant11CommandModeO5usageyA2CmF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.final",\n+            "key.length" : 5,\n+            "key.offset" : 2163\n+          },\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 2156\n+          }\n+        ],\n+        "key.bodylength" : 1204,\n+        "key.bodyoffset" : 2212,\n+        "key.doc.column" : 20,\n+        "key.doc.comment" : "Maintains the list of commands available to run.",\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 53,\n+        "key.docoffset" : 2103,\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 1248,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 2175,\n+        "key.offset" : 2169,\n+        "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error>",\n+        "key.parsed_scope.end" : 116,\n+        "key.parsed_scope.start" : 78,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 2204\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2191,\n+            "key.offset" : 2191,\n+            "key.parsed_declaration" : "public final class CommandRegistry<ClientError: Error",\n+            "key.parsed_scope.end" : 78,\n+            "key.parsed_scope.start" : 78,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private var commandsByVerb: [<Type usr=\\"s:SS\\">String<\\/Type> : <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 2214\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commandsByVerb<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct> : <ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 63,\n+            "key.name" : "commandsByVerb",\n+            "key.namelength" : 14,\n+            "key.nameoffset" : 2226,\n+            "key.offset" : 2222,\n+            "key.parsed_declaration" : "private var commandsByVerb: [String: CommandWrapper<ClientError>] = [:]",\n+            "key.parsed_scope.end" : 79,\n+            "key.parsed_scope.start" : 79,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.private",\n+            "key.typename" : "[String : CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSDySS10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC14commandsByVerb33_1DD6990CD6DFDE28F713A55F8EE2B70ELLSDySSAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var commands: [<Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;] { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2317\n+              }\n+            ],\n+            "key.bodylength" : 69,\n+            "key.bodyoffset" : 2369,\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "All available commands.",\n+            "key.doc.declaration" : "public var commands: [CommandWrapper<ClientError>] { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"82\\" column=\\"13\\"><Name>commands<\\/Name><USR>s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp<\\/USR><Declaration>public var commands: [CommandWrapper&lt;ClientError&gt;] { get }<\\/Declaration><CommentParts><Abstract><Para>All available commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 82,\n+            "key.doc.name" : "commands",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 28,\n+            "key.docoffset" : 2288,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>commands<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;]<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 115,\n+            "key.name" : "commands",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 2328,\n+            "key.offset" : 2324,\n+            "key.parsed_declaration" : "public var commands: [CommandWrapper<ClientError>]",\n+            "key.parsed_scope.end" : 84,\n+            "key.parsed_scope.start" : 82,\n+            "key.typename" : "[CommandWrapper<ClientError>]",\n+            "key.typeusr" : "$sSay10Commandant14CommandWrapperVyxGGD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8commandsSayAA0B7WrapperVyxGGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2442\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 2457,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 2449,\n+            "key.offset" : 2449,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>.Type) -> () -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGycD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>@discardableResult public func register&lt;C&gt;(_ commands: <Type usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/Type>...) -&gt; <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type> where ClientError == C.ClientError, C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2656\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 2636\n+              }\n+            ],\n+            "key.bodylength" : 106,\n+            "key.bodyoffset" : 2775,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Registers the given commands, making those available to run.\\n\\nIf another commands were already registered with the same `verb`s, those\\nwill be overwritten.",\n+            "key.doc.declaration" : "public func register<C>(_ commands: C...) -> CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If another commands were already registered with the same `verb`s, those will be overwritten."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"93\\" column=\\"14\\"><Name>register(_:)<\\/Name><USR>s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF<\\/USR><Declaration>public func register&lt;C&gt;(_ commands: C...) -&gt; CommandRegistry where ClientError == C.ClientError, C : Commandant.CommandProtocol<\\/Declaration><CommentParts><Abstract><Para>Registers the given commands, making those available to run.<\\/Para><\\/Abstract><Discussion><Para>If another commands were already registered with the same <codeVoice>verb<\\/codeVoice>s, those will be overwritten.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 93,\n+            "key.doc.name" : "register(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 174,\n+            "key.docoffset" : 2461,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>register<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\"><decl.generic_type_param.name>C<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>commands<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp\\">C<\\/ref.generic_type_param><\\/decl.var.parameter.type>...<\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class><\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError == C.ClientError<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>C : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 219,\n+            "key.name" : "register(_:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 2668,\n+            "key.offset" : 2663,\n+            "key.parsed_declaration" : "public func register<C: CommandProtocol>(_ commands: C...)\\n\\t-> CommandRegistry\\n\\twhere C.ClientError == ClientError",\n+            "key.parsed_scope.end" : 101,\n+            "key.parsed_scope.start" : 93,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>C : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 15,\n+                    "key.offset" : 2680\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>C<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "CommandProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 18,\n+                "key.name" : "C",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 2677,\n+                "key.offset" : 2677,\n+                "key.parsed_declaration" : "public func register<C: CommandProtocol",\n+                "key.parsed_scope.end" : 93,\n+                "key.parsed_scope.start" : 93,\n+                "key.typename" : "C.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF1CL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError, C where ClientError == C.ClientError, C : CommandProtocol> (CommandRegistry<ClientError>) -> (C...) -> CommandRegistry<ClientError>",\n+            "key.typeusr" : "$sy10Commandant15CommandRegistryCyxGqd__d_tc11ClientErrorQyd__RszAA0B8ProtocolRd__luD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC8registeryACyxGqd__d_t11ClientErrorQyd__RszAA0B8ProtocolRd__lF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(command verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3059\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 3164,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Runs the command corresponding to the given verb, passing it the given\\narguments.\\n\\nReturns the results of the execution, or nil if no such command exists.",\n+            "key.doc.declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the results of the execution, or nil if no such command exists."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"107\\" column=\\"14\\"><Name>run(command:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF<\\/USR><Declaration>public func run(command verb: String, arguments: [String]) -&gt; Result&lt;(), CommandantError&lt;ClientError&gt;&gt;?<\\/Declaration><CommentParts><Abstract><Para>Runs the command corresponding to the given verb, passing it the given arguments.<\\/Para><\\/Abstract><Discussion><Para>Returns the results of the execution, or nil if no such command exists.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 107,\n+            "key.doc.name" : "run(command:arguments:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 173,\n+            "key.docoffset" : 2885,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>command<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 153,\n+            "key.name" : "run(command:arguments:)",\n+            "key.namelength" : 46,\n+            "key.nameoffset" : 3071,\n+            "key.offset" : 3066,\n+            "key.parsed_declaration" : "public func run(command verb: String, arguments: [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 107,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, [String]) -> Result<(), CommandantError<ClientError>>?",\n+            "key.typeusr" : "$s7command9argumentss6ResultOyyt10Commandant0D5ErrorOyxGGSgSS_SaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC3run7command9argumentss6ResultOyytAA0A5ErrorOyxGGSgSS_SaySSGtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public subscript(verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/Type>&lt;<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>&gt;? { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 3318\n+              }\n+            ],\n+            "key.bodylength" : 32,\n+            "key.bodyoffset" : 3382,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Returns the command matching the given verb, or nil if no such command\\nis registered.",\n+            "key.doc.declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>? { get }",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"113\\" column=\\"9\\"><Name>subscript(_:)<\\/Name><USR>s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip<\\/USR><Declaration>public subscript(verb: String) -&gt; CommandWrapper&lt;ClientError&gt;? { get }<\\/Declaration><CommentParts><Abstract><Para>Returns the command matching the given verb, or nil if no such command is registered.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 113,\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 95,\n+            "key.docoffset" : 3222,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant14CommandWrapperV\\">CommandWrapper<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;?<\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 90,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 3325,\n+            "key.offset" : 3325,\n+            "key.parsed_declaration" : "public subscript(verb: String) -> CommandWrapper<ClientError>?",\n+            "key.parsed_scope.end" : 115,\n+            "key.parsed_scope.start" : 113,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (String) -> CommandWrapper<ClientError>?",\n+            "key.typeusr" : "$sy10Commandant14CommandWrapperVyxGSgSScD",\n+            "key.usr" : "s:10Commandant15CommandRegistryCyAA0B7WrapperVyxGSgSScip"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 4074,\n+        "key.bodyoffset" : 3446,\n+        "key.doc.column" : 20,\n+        "key.doc.declaration" : "public final class CommandRegistry<ClientError> where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"78\\" column=\\"20\\"><Name>CommandRegistry<\\/Name><USR>s:10Commandant15CommandRegistryC<\\/USR><Declaration>public final class CommandRegistry&lt;ClientError&gt; where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>Maintains the list of commands available to run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 78,\n+        "key.doc.name" : "CommandRegistry",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>final<\\/syntaxtype.keyword> <syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>CommandRegistry<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4102,\n+        "key.name" : "CommandRegistry",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 3429,\n+        "key.offset" : 3419,\n+        "key.parsed_declaration" : "extension CommandRegistry",\n+        "key.parsed_scope.end" : 241,\n+        "key.parsed_scope.start" : 118,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 4246\n+              }\n+            ],\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 4332,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing CommandLine.arguments\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"136\\" column=\\"14\\"><Name>main(defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF<\\/USR><Declaration>public func main(defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing CommandLine.arguments and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 136,\n+            "key.doc.name" : "main(defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 797,\n+            "key.docoffset" : 3448,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 177,\n+            "key.name" : "main(defaultVerb:errorHandler:)",\n+            "key.namelength" : 62,\n+            "key.nameoffset" : 4258,\n+            "key.offset" : 4253,\n+            "key.parsed_declaration" : "public func main(defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 138,\n+            "key.parsed_scope.start" : 136,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF\\">main(arguments:defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s11defaultVerb12errorHandlers5NeverOSS_yxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func main(arguments: [<Type usr=\\"s:SS\\">String<\\/Type>], defaultVerb: <Type usr=\\"s:SS\\">String<\\/Type>, errorHandler: (<Type usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/Type>) -&gt; <Type usr=\\"s:s4Voida\\">Void<\\/Type>) -&gt; <Type usr=\\"s:s5NeverO\\">Never<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5221\n+              }\n+            ],\n+            "key.bodylength" : 945,\n+            "key.bodyoffset" : 5328,\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Hands off execution to the CommandRegistry, by parsing `arguments`\\nand then running whichever command has been identified in the argument\\nlist.\\n\\nIf the chosen command executes successfully, the process will exit with\\na successful exit code.\\n\\nIf the chosen command fails, the provided error handler will be invoked,\\nthen the process will exit with a failure exit code.\\n\\nIf a matching command could not be found but there is any `executable-verb`\\nstyle subcommand executable in the caller\'s `$PATH`, the subcommand will\\nbe executed.\\n\\nIf a matching command could not be found or a usage error occurred,\\na helpful error message will be written to `stderr`, then the process\\nwill exit with a failure error code.",\n+            "key.doc.declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the chosen command executes successfully, the process will exit with a successful exit code."\n+              },\n+              {\n+                "Para" : "If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found but there is any `executable-verb` style subcommand executable in the caller’s `$PATH`, the subcommand will be executed."\n+              },\n+              {\n+                "Para" : "If a matching command could not be found or a usage error occurred, a helpful error message will be written to `stderr`, then the process will exit with a failure error code."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"157\\" column=\\"14\\"><Name>main(arguments:defaultVerb:errorHandler:)<\\/Name><USR>s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF<\\/USR><Declaration>public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -&gt; Void) -&gt; Never<\\/Declaration><CommentParts><Abstract><Para>Hands off execution to the CommandRegistry, by parsing <codeVoice>arguments<\\/codeVoice> and then running whichever command has been identified in the argument list.<\\/Para><\\/Abstract><Discussion><Para>If the chosen command executes successfully, the process will exit with a successful exit code.<\\/Para><Para>If the chosen command fails, the provided error handler will be invoked, then the process will exit with a failure exit code.<\\/Para><Para>If a matching command could not be found but there is any <codeVoice>executable-verb<\\/codeVoice> style subcommand executable in the caller’s <codeVoice>$PATH<\\/codeVoice>, the subcommand will be executed.<\\/Para><Para>If a matching command could not be found or a usage error occurred, a helpful error message will be written to <codeVoice>stderr<\\/codeVoice>, then the process will exit with a failure error code.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 157,\n+            "key.doc.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 787,\n+            "key.docoffset" : 4433,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>main<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultVerb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>errorHandler<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant15CommandRegistryC11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.typealias usr=\\"s:s4Voida\\">Void<\\/ref.typealias><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s5NeverO\\">Never<\\/ref.enum><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1046,\n+            "key.name" : "main(arguments:defaultVerb:errorHandler:)",\n+            "key.namelength" : 83,\n+            "key.nameoffset" : 5233,\n+            "key.offset" : 5228,\n+            "key.parsed_declaration" : "public func main(arguments: [String], defaultVerb: String, errorHandler: (ClientError) -> Void) -> Never",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 157,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant15CommandRegistryC4main11defaultVerb12errorHandlers5NeverOSS_yxXEtF\\">main(defaultVerb:errorHandler:)<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>var arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>arguments<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 25,\n+                "key.name" : "arguments",\n+                "key.namelength" : 9,\n+                "key.nameoffset" : 5367,\n+                "key.offset" : 5363,\n+                "key.parsed_declaration" : "var arguments = arguments",\n+                "key.parsed_scope.end" : 160,\n+                "key.parsed_scope.start" : 160,\n+                "key.typename" : "[String]",\n+                "key.typeusr" : "$sSaySSGD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtFAEL0_AJvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let executableName: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>executableName<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 44,\n+                "key.name" : "executableName",\n+                "key.namelength" : 14,\n+                "key.nameoffset" : 5430,\n+                "key.offset" : 5426,\n+                "key.parsed_declaration" : "let executableName = arguments.remove(at: 0)",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF14executableNameL_SSvp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>var verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 22,\n+                "key.name" : "verb",\n+                "key.namelength" : 4,\n+                "key.nameoffset" : 5536,\n+                "key.offset" : 5532,\n+                "key.parsed_declaration" : "var verb = defaultVerb",\n+                "key.parsed_scope.end" : 166,\n+                "key.parsed_scope.start" : 166,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF4verbL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> ([String], String, (ClientError) -> ()) -> Never",\n+            "key.typeusr" : "$s9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC4main9arguments11defaultVerb12errorHandlers5NeverOSaySSG_SSyxXEtF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private func executeSubcommandIfExists(_ executableName: <Type usr=\\"s:SS\\">String<\\/Type>, verb: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 6474\n+              }\n+            ],\n+            "key.bodylength" : 933,\n+            "key.bodyoffset" : 6585,\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Finds and executes a subcommand which exists in your $PATH. The executable\\nname must be in the form of `executable-verb`.\\n\\n- Returns: The exit status of found subcommand or nil.",\n+            "key.doc.declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"202\\" column=\\"15\\"><Name>executeSubcommandIfExists(_:verb:arguments:)<\\/Name><USR>s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF<\\/USR><Declaration>private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -&gt; Int32?<\\/Declaration><CommentParts><Abstract><Para>Finds and executes a subcommand which exists in your $PATH. The executable name must be in the form of <codeVoice>executable-verb<\\/codeVoice>.<\\/Para><\\/Abstract><ResultDiscussion><Para>The exit status of found subcommand or nil.<\\/Para><\\/ResultDiscussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The exit status of found subcommand or nil."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 196,\n+            "key.docoffset" : 6277,\n+            "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>executeSubcommandIfExists<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>executableName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 1037,\n+            "key.name" : "executeSubcommandIfExists(_:verb:arguments:)",\n+            "key.namelength" : 86,\n+            "key.nameoffset" : 6487,\n+            "key.offset" : 6482,\n+            "key.parsed_declaration" : "private func executeSubcommandIfExists(_ executableName: String, verb: String, arguments: [String]) -> Int32?",\n+            "key.parsed_scope.end" : 240,\n+            "key.parsed_scope.start" : 202,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let subcommand: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>subcommand<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 80,\n+                "key.name" : "subcommand",\n+                "key.namelength" : 10,\n+                "key.nameoffset" : 6592,\n+                "key.offset" : 6588,\n+                "key.parsed_declaration" : "let subcommand = \\"\\\\(NSString(string: executableName).lastPathComponent)-\\\\(verb)\\"",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10subcommandL_SSvp"\n+              },\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.private",\n+                "key.annotated_decl" : "<Declaration>func launchTask(_ path: <Type usr=\\"s:SS\\">String<\\/Type>, arguments: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:s5Int32V\\">Int32<\\/Type><\\/Declaration>",\n+                "key.bodylength" : 603,\n+                "key.bodyoffset" : 6735,\n+                "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>launchTask<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>path<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>arguments<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:s5Int32V\\">Int32<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.free>",\n+                "key.kind" : "source.lang.swift.decl.function.free",\n+                "key.length" : 667,\n+                "key.name" : "launchTask(_:arguments:)",\n+                "key.namelength" : 47,\n+                "key.nameoffset" : 6677,\n+                "key.offset" : 6672,\n+                "key.parsed_declaration" : "func launchTask(_ path: String, arguments: [String]) -> Int32",\n+                "key.parsed_scope.end" : 233,\n+                "key.parsed_scope.start" : 205,\n+                "key.substructure" : [\n+                  {\n+                    "key.annotated_decl" : "<Declaration>let task: <Type usr=\\"s:10Foundation7ProcessC\\">Process<\\/Type><\\/Declaration>",\n+                    "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+                    "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>task<\\/decl.name>: <decl.var.type><ref.class usr=\\"s:10Foundation7ProcessC\\">Process<\\/ref.class><\\/decl.var.type><\\/decl.var.local>",\n+                    "key.kind" : "source.lang.swift.decl.var.local",\n+                    "key.length" : 20,\n+                    "key.name" : "task",\n+                    "key.namelength" : 4,\n+                    "key.nameoffset" : 6743,\n+                    "key.offset" : 6739,\n+                    "key.parsed_declaration" : "let task = Process()",\n+                    "key.parsed_scope.end" : 206,\n+                    "key.parsed_scope.start" : 206,\n+                    "key.typename" : "Process",\n+                    "key.typeusr" : "$s10Foundation7ProcessCD",\n+                    "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF4taskL_10Foundation7ProcessCvp"\n+                  }\n+                ],\n+                "key.typename" : "<ClientError where ClientError : Error> (String, arguments: [String]) -> Int32",\n+                "key.typeusr" : "$s_9argumentss5Int32VSS_SaySSGtcs5ErrorRzluD",\n+                "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF10launchTaskL__AgISS_AKts5ErrorRzlF"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (CommandRegistry<ClientError>) -> (String, String, [String]) -> Int32?",\n+            "key.typeusr" : "$s_4verb9argumentss5Int32VSgSS_SSSaySSGtcD",\n+            "key.usr" : "s:10Commandant15CommandRegistryC25executeSubcommandIfExists33_1DD6990CD6DFDE28F713A55F8EE2B70ELL_4verb9argumentss5Int32VSgSS_SSSaySSGtF"\n+          }\n+        ],\n+        "key.typename" : "CommandRegistry<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant15CommandRegistryCyxGmD",\n+        "key.usr" : "s:10Commandant15CommandRegistryC"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Errors.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 5739,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 323\n+          }\n+        ],\n+        "key.bodylength" : 157,\n+        "key.bodyoffset" : 372,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Possible errors that can originate from Commandant.\\n\\n`ClientError` should be the type of error (if any) that can occur when\\nrunning commands.",\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.doclength" : 157,\n+        "key.docoffset" : 166,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 5,\n+            "key.offset" : 365\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Error"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.enum",\n+        "key.length" : 200,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 335,\n+        "key.offset" : 330,\n+        "key.parsed_declaration" : "public enum CommandantError<ClientError>: Error",\n+        "key.parsed_scope.end" : 21,\n+        "key.parsed_scope.start" : 15,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 351,\n+            "key.offset" : 351,\n+            "key.parsed_declaration" : "public enum CommandantError<ClientError",\n+            "key.parsed_scope.end" : 15,\n+            "key.parsed_scope.start" : 15,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant0A5ErrorO06ClientB0xmfp"\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 36,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 411,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case usageError(description: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An option was used incorrectly.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"17\\" column=\\"7\\"><Name>usageError(description:)<\\/Name><USR>s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An option was used incorrectly.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 17,\n+                "key.doc.name" : "usageError(description:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 36,\n+                "key.docoffset" : 374,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>usageError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>description<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 31,\n+                "key.name" : "usageError(description:)",\n+                "key.namelength" : 31,\n+                "key.nameoffset" : 416,\n+                "key.offset" : 416,\n+                "key.parsed_declaration" : "case usageError(description: String)",\n+                "key.parsed_scope.end" : 17,\n+                "key.parsed_scope.start" : 17,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (String) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSS_tcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO05usageB0yACyxGSS_tcAEmlF"\n+              }\n+            ]\n+          },\n+          {\n+            "key.kind" : "source.lang.swift.decl.enumcase",\n+            "key.length" : 30,\n+            "key.namelength" : 0,\n+            "key.nameoffset" : 0,\n+            "key.offset" : 498,\n+            "key.substructure" : [\n+              {\n+                "key.accessibility" : "source.lang.swift.accessibility.public",\n+                "key.annotated_decl" : "<Declaration>case commandError(<Type usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/Type>)<\\/Declaration>",\n+                "key.doc.column" : 7,\n+                "key.doc.comment" : "An error occurred while running a command.",\n+                "key.doc.declaration" : "",\n+                "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"20\\" column=\\"7\\"><Name>commandError(_:)<\\/Name><USR>s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF<\\/USR><Declaration><\\/Declaration><CommentParts><Abstract><Para>An error occurred while running a command.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+                "key.doc.line" : 20,\n+                "key.doc.name" : "commandError(_:)",\n+                "key.doc.type" : "Other",\n+                "key.doclength" : 47,\n+                "key.docoffset" : 450,\n+                "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+                "key.fully_annotated_decl" : "<decl.enumelement><syntaxtype.keyword>case<\\/syntaxtype.keyword> <decl.name>commandError<\\/decl.name>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\">ClientError<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.enumelement>",\n+                "key.kind" : "source.lang.swift.decl.enumelement",\n+                "key.length" : 25,\n+                "key.name" : "commandError(_:)",\n+                "key.namelength" : 25,\n+                "key.nameoffset" : 503,\n+                "key.offset" : 503,\n+                "key.parsed_declaration" : "case commandError(ClientError)",\n+                "key.parsed_scope.end" : 20,\n+                "key.parsed_scope.start" : 20,\n+                "key.substructure" : [\n+\n+                ],\n+                "key.typename" : "<ClientError> (CommandantError<ClientError>.Type) -> (ClientError) -> CommandantError<ClientError>",\n+                "key.typeusr" : "$sy10Commandant0A5ErrorOyxGxcADmcluD",\n+                "key.usr" : "s:10Commandant0A5ErrorO07commandB0yACyxGxcAEmlF"\n+              }\n+            ]\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandantError&lt;ClientError&gt; : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 187,\n+        "key.bodyoffset" : 584,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandantError<ClientError> : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "`ClientError` should be the type of error (if any) that can occur when running commands."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"15\\" column=\\"13\\"><Name>CommandantError<\\/Name><USR>s:10Commandant0A5ErrorO<\\/USR><Declaration>public enum CommandantError&lt;ClientError&gt; : Error<\\/Declaration><CommentParts><Abstract><Para>Possible errors that can originate from Commandant.<\\/Para><\\/Abstract><Discussion><Para><codeVoice>ClientError<\\/codeVoice> should be the type of error (if any) that can occur when running commands.<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 15,\n+        "key.doc.name" : "CommandantError",\n+        "key.doc.type" : "Other",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 559\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandantError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant0A5ErrorO06ClientB0xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.enum>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 240,\n+        "key.name" : "CommandantError",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 542,\n+        "key.offset" : 532,\n+        "key.parsed_declaration" : "extension CommandantError: CustomStringConvertible",\n+        "key.parsed_scope.end" : 33,\n+        "key.parsed_scope.start" : 23,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 586\n+              }\n+            ],\n+            "key.bodylength" : 151,\n+            "key.bodyoffset" : 618,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 177,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 597,\n+            "key.offset" : 593,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "CommandantError<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant0A5ErrorOyxGmD",\n+        "key.usr" : "s:10Commandant0A5ErrorO"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 887\n+          }\n+        ],\n+        "key.bodylength" : 105,\n+        "key.bodyoffset" : 992,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an `InvalidArgument` error that indicates a missing value for\\nthe argument by the given name.",\n+        "key.doc.declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"37\\" column=\\"15\\"><Name>missingArgumentError(_:)<\\/Name><USR>s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF<\\/USR><Declaration>internal func missingArgumentError&lt;ClientError&gt;(_ argumentName: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an <codeVoice>InvalidArgument<\\/codeVoice> error that indicates a missing value for the argument by the given name.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "missingArgumentError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 113,\n+        "key.docoffset" : 774,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>missingArgumentError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argumentName<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 202,\n+        "key.name" : "missingArgumentError(_:)",\n+        "key.namelength" : 57,\n+        "key.nameoffset" : 901,\n+        "key.offset" : 896,\n+        "key.parsed_declaration" : "internal func missingArgumentError<ClientError>(_ argumentName: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 40,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 922,\n+            "key.offset" : 922,\n+            "key.parsed_declaration" : "internal func missingArgumentError<ClientError",\n+            "key.parsed_scope.end" : 37,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let description: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 56,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 998,\n+            "key.offset" : 994,\n+            "key.parsed_declaration" : "let description = \\"Missing argument for \\\\(argumentName)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF11descriptionL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSScluD",\n+        "key.usr" : "s:10Commandant20missingArgumentErroryAA0aD0OyxGSSlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1215\n+          }\n+        ],\n+        "key.bodylength" : 179,\n+        "key.bodyoffset" : 1339,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error by combining the example of key (and value, if applicable)\\nwith the usage description.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"44\\" column=\\"15\\"><Name>informativeUsageError(_:usage:)<\\/Name><USR>s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ keyValueExample: String, usage: String) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error by combining the example of key (and value, if applicable) with the usage description.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 44,\n+        "key.doc.name" : "informativeUsageError(_:usage:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 115,\n+        "key.docoffset" : 1100,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 295,\n+        "key.name" : "informativeUsageError(_:usage:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 1229,\n+        "key.offset" : 1224,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ keyValueExample: String, usage: String) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 50,\n+        "key.parsed_scope.start" : 44,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1251,\n+            "key.offset" : 1251,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 44,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let lines: [<Type usr=\\"s:SS\\">String<\\/Type>]<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>lines<\\/decl.name>: <decl.var.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 52,\n+            "key.name" : "lines",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 1345,\n+            "key.offset" : 1341,\n+            "key.parsed_declaration" : "let lines = usage.components(separatedBy: .newlines)",\n+            "key.parsed_scope.end" : 45,\n+            "key.parsed_scope.start" : 45,\n+            "key.typename" : "[String]",\n+            "key.typeusr" : "$sSaySSGD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF5linesL_SaySSGvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (String, usage: String) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_5usage10Commandant0B5ErrorOyxGSS_SStcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;, _ rhs: <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 1660\n+          }\n+        ],\n+        "key.bodylength" : 265,\n+        "key.bodyoffset" : 1813,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Combines the text of the two errors, if they\'re both `UsageError`s.\\nOtherwise, uses whichever one is not (biased toward the left).",\n+        "key.doc.declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"54\\" column=\\"15\\"><Name>combineUsageErrors(_:_:)<\\/Name><USR>s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF<\\/USR><Declaration>internal func combineUsageErrors&lt;ClientError&gt;(_ lhs: CommandantError&lt;ClientError&gt;, _ rhs: CommandantError&lt;ClientError&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Combines the text of the two errors, if they’re both <codeVoice>UsageError<\\/codeVoice>s. Otherwise, uses whichever one is not (biased toward the left).<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 54,\n+        "key.doc.name" : "combineUsageErrors(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 139,\n+        "key.docoffset" : 1521,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>combineUsageErrors<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>lhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>rhs<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 410,\n+        "key.name" : "combineUsageErrors(_:_:)",\n+        "key.namelength" : 105,\n+        "key.nameoffset" : 1674,\n+        "key.offset" : 1669,\n+        "key.parsed_declaration" : "internal func combineUsageErrors<ClientError>(_ lhs: CommandantError<ClientError>, _ rhs: CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 66,\n+        "key.parsed_scope.start" : 54,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1693,\n+            "key.offset" : 1693,\n+            "key.parsed_declaration" : "internal func combineUsageErrors<ClientError",\n+            "key.parsed_scope.end" : 54,\n+            "key.parsed_scope.start" : 54,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF06ClientE0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (CommandantError<ClientError>, CommandantError<ClientError>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAD_ADtcluD",\n+        "key.usr" : "s:10Commandant18combineUsageErrorsyAA0A5ErrorOyxGAE_AEtlF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [<Type usr=\\"s:SS\\">String<\\/Type>]) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2152\n+          }\n+        ],\n+        "key.bodylength" : 96,\n+        "key.bodyoffset" : 2260,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that indicates unrecognized arguments remains.",\n+        "key.doc.declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"69\\" column=\\"15\\"><Name>unrecognizedArgumentsError(_:)<\\/Name><USR>s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF<\\/USR><Declaration>internal func unrecognizedArgumentsError&lt;ClientError&gt;(_ options: [String]) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that indicates unrecognized arguments remains.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 69,\n+        "key.doc.name" : "unrecognizedArgumentsError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 71,\n+        "key.docoffset" : 2081,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>unrecognizedArgumentsError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type>[<ref.struct usr=\\"s:SS\\">String<\\/ref.struct>]<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 196,\n+        "key.name" : "unrecognizedArgumentsError(_:)",\n+        "key.namelength" : 60,\n+        "key.nameoffset" : 2166,\n+        "key.offset" : 2161,\n+        "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError>(_ options: [String]) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 71,\n+        "key.parsed_scope.start" : 69,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2193,\n+            "key.offset" : 2193,\n+            "key.parsed_declaration" : "internal func unrecognizedArgumentsError<ClientError",\n+            "key.parsed_scope.end" : 69,\n+            "key.parsed_scope.start" : 69,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF06ClientD0L_xmfp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> ([String]) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGSaySSGcluD",\n+        "key.usr" : "s:10Commandant26unrecognizedArgumentsErroryAA0aD0OyxGSaySSGlF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 14,\n+        "key.name" : "MARK: Argument",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2362\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: <Type usr=\\"s:SS\\">String<\\/Type>, argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2499\n+          }\n+        ],\n+        "key.bodylength" : 192,\n+        "key.bodyoffset" : 2631,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument, with the given\\nexample of value usage if applicable.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"77\\" column=\\"15\\"><Name>informativeUsageError(_:argument:)<\\/Name><USR>s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ valueExample: String, argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument, with the given example of value usage if applicable.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 77,\n+        "key.doc.name" : "informativeUsageError(_:argument:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 121,\n+        "key.docoffset" : 2378,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>valueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>argument<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 316,\n+        "key.name" : "informativeUsageError(_:argument:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 2513,\n+        "key.offset" : 2508,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ valueExample: String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 83,\n+        "key.parsed_scope.start" : 77,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2535,\n+            "key.offset" : 2535,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2538,\n+            "key.offset" : 2538,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 77,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_8argument10Commandant0B5ErrorOyq_GSS_AB8ArgumentVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 2890\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3018,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"86\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 86,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 64,\n+        "key.docoffset" : 2826,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 498,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 80,\n+        "key.nameoffset" : 2904,\n+        "key.offset" : 2899,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 103,\n+        "key.parsed_scope.start" : 86,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 2929\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2926,\n+            "key.offset" : 2926,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2947,\n+            "key.offset" : 2947,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 86,\n+            "key.parsed_scope.start" : 86,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3024,\n+            "key.offset" : 3020,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 87,\n+            "key.parsed_scope.start" : 87,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3043,\n+            "key.offset" : 3039,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 89,\n+            "key.parsed_scope.start" : 89,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVyxGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: <Type usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 3468\n+          }\n+        ],\n+        "key.bodylength" : 378,\n+        "key.bodyoffset" : 3598,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the argument list.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"106\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ argument: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the argument list.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 106,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 69,\n+        "key.docoffset" : 3399,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>argument<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant8ArgumentV\\">Argument<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 500,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 82,\n+        "key.nameoffset" : 3482,\n+        "key.offset" : 3477,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ argument: Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 123,\n+        "key.parsed_scope.start" : 106,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 3507\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 3504,\n+            "key.offset" : 3504,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 3525,\n+            "key.offset" : 3525,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 106,\n+            "key.parsed_scope.start" : 106,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF06ClientD0L_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var example: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>example<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 16,\n+            "key.name" : "example",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 3604,\n+            "key.offset" : 3600,\n+            "key.parsed_declaration" : "var example = \\"\\"",\n+            "key.parsed_scope.end" : 107,\n+            "key.parsed_scope.start" : 107,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF7exampleL_SSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var valueExample: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>valueExample<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 21,\n+            "key.name" : "valueExample",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 3623,\n+            "key.offset" : 3619,\n+            "key.parsed_declaration" : "var valueExample = \\"\\"",\n+            "key.parsed_scope.end" : 109,\n+            "key.parsed_scope.start" : 109,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF12valueExampleL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Argument<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA8ArgumentVySayxGGcAA0C8ProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 12,\n+        "key.name" : "MARK: Option",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 3982\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: <Type usr=\\"s:SS\\">String<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4126\n+          }\n+        ],\n+        "key.bodylength" : 76,\n+        "key.bodyoffset" : 4257,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option, with the given\\nexample of key (and value, if applicable) usage.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"129\\" column=\\"15\\"><Name>informativeUsageError(_:option:)<\\/Name><USR>s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ keyValueExample: String, option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option, with the given example of key (and value, if applicable) usage.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 129,\n+        "key.doc.name" : "informativeUsageError(_:option:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 130,\n+        "key.docoffset" : 3996,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>keyValueExample<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>option<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 199,\n+        "key.name" : "informativeUsageError(_:option:)",\n+        "key.namelength" : 83,\n+        "key.nameoffset" : 4140,\n+        "key.offset" : 4135,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError>(_ keyValueExample: String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 131,\n+        "key.parsed_scope.start" : 129,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4162,\n+            "key.offset" : 4162,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4165,\n+            "key.offset" : 4165,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T, ClientError",\n+            "key.parsed_scope.end" : 129,\n+            "key.parsed_scope.start" : 129,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError> (String, option: Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$s_6option10Commandant0B5ErrorOyq_GSS_AB6OptionVyxGtcr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4398\n+          }\n+        ],\n+        "key.bodylength" : 89,\n+        "key.bodyoffset" : 4522,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"134\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 134,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4336,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 205,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 76,\n+        "key.nameoffset" : 4412,\n+        "key.offset" : 4407,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 136,\n+        "key.parsed_scope.start" : 134,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4437\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4434,\n+            "key.offset" : 4434,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4455,\n+            "key.offset" : 4455,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 134,\n+            "key.parsed_scope.start" : 134,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4676\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 4801,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"139\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 139,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4614,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 195,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 77,\n+        "key.nameoffset" : 4690,\n+        "key.offset" : 4685,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<T?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 141,\n+        "key.parsed_scope.start" : 139,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4715\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4712,\n+            "key.offset" : 4712,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4733,\n+            "key.offset" : 4733,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 139,\n+            "key.parsed_scope.start" : 139,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<T?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVyxSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 4944\n+          }\n+        ],\n+        "key.bodylength" : 91,\n+        "key.bodyoffset" : 5070,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"144\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 144,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 4882,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 209,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 78,\n+        "key.nameoffset" : 4958,\n+        "key.offset" : 4953,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 146,\n+        "key.parsed_scope.start" : 144,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 4983\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4980,\n+            "key.offset" : 4980,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5001,\n+            "key.offset" : 5001,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 144,\n+            "key.parsed_scope.start" : 144,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/Type>&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5226\n+          }\n+        ],\n+        "key.bodylength" : 78,\n+        "key.bodyoffset" : 5353,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<T, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError> where T : Commandant.ArgumentProtocol",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"149\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF<\\/USR><Declaration>internal func informativeUsageError&lt;T, ClientError&gt;(_ option: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 149,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 62,\n+        "key.docoffset" : 5164,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 197,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 79,\n+        "key.nameoffset" : 5240,\n+        "key.offset" : 5235,\n+        "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError>(_ option: Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 151,\n+        "key.parsed_scope.start" : 149,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF\\">informativeUsageError&lt;ClientError&gt;(_: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 16,\n+                "key.offset" : 5265\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "ArgumentProtocol"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 19,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 5262,\n+            "key.offset" : 5262,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5283,\n+            "key.offset" : 5283,\n+            "key.parsed_declaration" : "internal func informativeUsageError<T: ArgumentProtocol, ClientError",\n+            "key.parsed_scope.end" : 149,\n+            "key.parsed_scope.start" : 149,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF06ClientD0L_q_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, ClientError where T : ArgumentProtocol> (Option<[T]?>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyq_GAA6OptionVySayxGSgGcAA16ArgumentProtocolRzr0_luD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 5510\n+          }\n+        ],\n+        "key.bodylength" : 121,\n+        "key.bodyoffset" : 5616,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Constructs an error that describes how to use the given boolean option.",\n+        "key.doc.declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Errors.swift\\" line=\\"154\\" column=\\"15\\"><Name>informativeUsageError(_:)<\\/Name><USR>s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF<\\/USR><Declaration>internal func informativeUsageError&lt;ClientError&gt;(_ option: Option&lt;Bool&gt;) -&gt; CommandantError&lt;ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Constructs an error that describes how to use the given boolean option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 154,\n+        "key.doc.name" : "informativeUsageError(_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 76,\n+        "key.docoffset" : 5434,\n+        "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+        "key.fully_annotated_decl" : "<decl.function.free><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>informativeUsageError<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.free>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 219,\n+        "key.name" : "informativeUsageError(_:)",\n+        "key.namelength" : 58,\n+        "key.nameoffset" : 5524,\n+        "key.offset" : 5519,\n+        "key.parsed_declaration" : "internal func informativeUsageError<ClientError>(_ option: Option<Bool>) -> CommandantError<ClientError>",\n+        "key.parsed_scope.end" : 157,\n+        "key.parsed_scope.start" : 154,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_5usageAA0aD0OyxGSS_SStlF\\">informativeUsageError(_:usage:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_8argumentAA0aD0Oyq_GSS_AA8ArgumentVyxGtr0_lF\\">informativeUsageError(_:argument:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVyxGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA8ArgumentVySayxGGAA0E8ProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Argument&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageError_6optionAA0aD0Oyq_GSS_AA6OptionVyxGtr0_lF\\">informativeUsageError(_:option:)<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVyxSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;T?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          },\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant21informativeUsageErroryAA0aD0Oyq_GAA6OptionVySayxGSgGAA16ArgumentProtocolRzr0_lF\\">informativeUsageError&lt;T, ClientError&gt;(_: Option&lt;[T]?&gt;) -&gt; CommandantError&lt;ClientError&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 5546,\n+            "key.offset" : 5546,\n+            "key.parsed_declaration" : "internal func informativeUsageError<ClientError",\n+            "key.parsed_scope.end" : 154,\n+            "key.parsed_scope.start" : 154,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF06ClientD0L_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Errors.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 20,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 5622,\n+            "key.offset" : 5618,\n+            "key.parsed_declaration" : "let key = option.key",\n+            "key.parsed_scope.end" : 155,\n+            "key.parsed_scope.start" : 155,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF3keyL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "<ClientError> (Option<Bool>) -> CommandantError<ClientError>",\n+        "key.typeusr" : "$sy10Commandant0A5ErrorOyxGAA6OptionVySbGcluD",\n+        "key.usr" : "s:10Commandant21informativeUsageErroryAA0aD0OyxGAA6OptionVySbGlF"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/HelpCommand.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2203,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpCommand&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 537\n+          }\n+        ],\n+        "key.bodylength" : 1127,\n+        "key.bodyoffset" : 601,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "A basic implementation of a `help` command, using information available in a\\n`CommandRegistry`.\\n\\nIf you want to use this command, initialize it with the registry, then add\\nit to that same registry:\\n\\n\\tlet commands: CommandRegistry<MyErrorType> = …\\n\\tlet helpCommand = HelpCommand(registry: commands)\\n\\tcommands.register(helpCommand)",\n+        "key.doc.declaration" : "public struct HelpCommand<ClientError> : CommandProtocol where ClientError : Error",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "If you want to use this command, initialize it with the registry, then add it to that same registry:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"20\\" column=\\"15\\"><Name>HelpCommand<\\/Name><USR>s:10Commandant11HelpCommandV<\\/USR><Declaration>public struct HelpCommand&lt;ClientError&gt; : CommandProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>A basic implementation of a <codeVoice>help<\\/codeVoice> command, using information available in a <codeVoice>CommandRegistry<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>If you want to use this command, initialize it with the registry, then add it to that same registry:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let commands: CommandRegistry<MyErrorType> = …]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let helpCommand = HelpCommand(registry: commands)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[commands.register(helpCommand)]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 20,\n+        "key.doc.name" : "HelpCommand",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 366,\n+        "key.docoffset" : 171,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 584\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpCommand<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15CommandProtocolP\\">CommandProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CommandProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 1185,\n+        "key.name" : "HelpCommand",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 551,\n+        "key.offset" : 544,\n+        "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error>: CommandProtocol",\n+        "key.parsed_scope.end" : 59,\n+        "key.parsed_scope.start" : 20,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 576\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 563,\n+            "key.offset" : 563,\n+            "key.parsed_declaration" : "public struct HelpCommand<ClientError: Error",\n+            "key.parsed_scope.end" : 20,\n+            "key.parsed_scope.start" : 20,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpCommandV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public typealias <Type usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/Type>&lt;ClientError&gt;.Options = <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 603\n+              }\n+            ],\n+            "key.doc.column" : 17,\n+            "key.doc.declaration" : "associatedtype Options : Commandant.OptionsProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"15\\" column=\\"17\\"><Name>Options<\\/Name><USR>s:10Commandant15CommandProtocolP7OptionsQa<\\/USR><Declaration>associatedtype Options : Commandant.OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>The command’s options type.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 15,\n+            "key.doc.name" : "Options",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <ref.struct usr=\\"s:10Commandant11HelpCommandV\\">HelpCommand<\\/ref.struct>&lt;ClientError&gt;.<decl.name>Options<\\/decl.name> = <ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 44,\n+            "key.name" : "Options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 620,\n+            "key.offset" : 610,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public typealias Options = HelpOptions<ClientError>",\n+            "key.parsed_scope.end" : 21,\n+            "key.parsed_scope.start" : 21,\n+            "key.typename" : "HelpOptions<ClientError>.Type",\n+            "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP7OptionsQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let verb: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 657\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var verb: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"21\\" column=\\"6\\"><Name>verb<\\/Name><USR>s:10Commandant15CommandProtocolP4verbSSvp<\\/USR><Declaration>var verb: String { get }<\\/Declaration><CommentParts><Abstract><Para>The action that users should specify to use this subcommand (e.g., <codeVoice>help<\\/codeVoice>).<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 21,\n+            "key.doc.name" : "verb",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 668,\n+            "key.offset" : 664,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let verb = \\"help\\"",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP4verbSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let function: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 683\n+              }\n+            ],\n+            "key.doc.column" : 6,\n+            "key.doc.declaration" : "var function: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"25\\" column=\\"6\\"><Name>function<\\/Name><USR>s:10Commandant15CommandProtocolP8functionSSvp<\\/USR><Declaration>var function: String { get }<\\/Declaration><CommentParts><Abstract><Para>A human-readable, high-level description of what this command is used for.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 25,\n+            "key.doc.name" : "function",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>function<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "function",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 694,\n+            "key.offset" : 690,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public let function: String",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 24,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP8functionSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private let registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 713\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>registry<\\/decl.name>: <decl.var.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 42,\n+            "key.name" : "registry",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 725,\n+            "key.offset" : 721,\n+            "key.parsed_declaration" : "private let registry: CommandRegistry<ClientError>",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "CommandRegistry<ClientError>",\n+            "key.typeusr" : "$s10Commandant15CommandRegistryCyxGD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry33_38F61CE0DF9D73793CEDF5D1C3140331LLAA0C8RegistryCyxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(registry: <Type usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;, function: <Type usr=\\"s:SS\\">String<\\/Type>? = nil)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 853\n+              }\n+            ],\n+            "key.bodylength" : 102,\n+            "key.bodyoffset" : 931,\n+            "key.doc.column" : 9,\n+            "key.doc.comment" : "Initializes the command to provide help from the given registry of\\ncommands.",\n+            "key.doc.declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.doc.file" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/HelpCommand.swift\\" line=\\"30\\" column=\\"9\\"><Name>init(registry:function:)<\\/Name><USR>s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc<\\/USR><Declaration>public init(registry: CommandRegistry&lt;ClientError&gt;, function: String? = nil)<\\/Declaration><CommentParts><Abstract><Para>Initializes the command to provide help from the given registry of commands.<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 30,\n+            "key.doc.name" : "init(registry:function:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 86,\n+            "key.docoffset" : 766,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>registry<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.class usr=\\"s:10Commandant15CommandRegistryC\\">CommandRegistry<\\/ref.class>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>function<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 174,\n+            "key.name" : "init(registry:function:)",\n+            "key.namelength" : 69,\n+            "key.nameoffset" : 860,\n+            "key.offset" : 860,\n+            "key.parsed_declaration" : "public init(registry: CommandRegistry<ClientError>, function: String? = nil)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 30,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>.Type) -> (CommandRegistry<ClientError>, String?) -> HelpCommand<ClientError>",\n+            "key.typeusr" : "$s8registry8function10Commandant11HelpCommandVyxGAC0E8RegistryCyxG_SSSgtcD",\n+            "key.usr" : "s:10Commandant11HelpCommandV8registry8functionACyxGAA0C8RegistryCyxG_SSSgtcfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public func run(_ options: <Type usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;(), <Type usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1037\n+              }\n+            ],\n+            "key.bodylength" : 625,\n+            "key.bodyoffset" : 1101,\n+            "key.doc.column" : 7,\n+            "key.doc.declaration" : "func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.doc.discussion" : [\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"28\\" column=\\"7\\"><Name>run(_:)<\\/Name><USR>s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF<\\/USR><Declaration>func run(_ options: Options) -&gt; Result&lt;(), ClientError&gt;<\\/Declaration><CommentParts><Abstract><Para>Runs this subcommand with the given options.<\\/Para><\\/Abstract><Discussion><Note><Para>This documentation comment was inherited from <codeVoice>CommandProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 28,\n+            "key.doc.name" : "run(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>run<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>options<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.typealias usr=\\"s:10Commandant11HelpCommandV7Optionsa\\">Options<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>()<\\/tuple>, <ref.generic_type_param usr=\\"s:10Commandant11HelpCommandV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 683,\n+            "key.name" : "run(_:)",\n+            "key.namelength" : 23,\n+            "key.nameoffset" : 1049,\n+            "key.offset" : 1044,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public func run(_ options: Options) -> Result<(), ClientError>",\n+            "key.parsed_scope.end" : 58,\n+            "key.parsed_scope.start" : 35,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>let maxVerbLength: <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>maxVerbLength<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 75,\n+                "key.name" : "maxVerbLength",\n+                "key.namelength" : 13,\n+                "key.nameoffset" : 1422,\n+                "key.offset" : 1418,\n+                "key.parsed_declaration" : "let maxVerbLength = self.registry.commands.map { $0.verb.count }.max() ?? 0",\n+                "key.parsed_scope.end" : 50,\n+                "key.parsed_scope.start" : 50,\n+                "key.typename" : "Int",\n+                "key.typeusr" : "$sSiD",\n+                "key.usr" : "s:10Commandant11HelpCommandV3runys6ResultOyytxGAA0B7OptionsVyxGF13maxVerbLengthL_Sivp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpCommand<ClientError>) -> (HelpOptions<ClientError>) -> Result<(), ClientError>",\n+            "key.typeusr" : "$sys6ResultOyytxG10Commandant11HelpOptionsVyxGcD",\n+            "key.usr" : "s:10Commandant15CommandProtocolP3runys6ResultOyyt11ClientErrorQzG7OptionsQzF"\n+          }\n+        ],\n+        "key.typename" : "HelpCommand<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpCommandVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpCommandV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct HelpOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1731\n+          }\n+        ],\n+        "key.bodylength" : 406,\n+        "key.bodyoffset" : 1795,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1778\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>HelpOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 464,\n+        "key.name" : "HelpOptions",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1745,\n+        "key.offset" : 1738,\n+        "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 76,\n+        "key.parsed_scope.start" : 61,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1770\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1757,\n+            "key.offset" : 1757,\n+            "key.parsed_declaration" : "public struct HelpOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 61,\n+            "key.parsed_scope.start" : 61,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate let verb: <Type usr=\\"s:SS\\">String<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 1797\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>verb<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "verb",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 1813,\n+            "key.offset" : 1809,\n+            "key.parsed_declaration" : "fileprivate let verb: String?",\n+            "key.parsed_scope.end" : 62,\n+            "key.parsed_scope.start" : 62,\n+            "key.typename" : "String?",\n+            "key.typeusr" : "$sSSSgD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verb33_38F61CE0DF9D73793CEDF5D1C3140331LLSSSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private init(verb: <Type usr=\\"s:SS\\">String<\\/Type>?)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1829\n+              }\n+            ],\n+            "key.bodylength" : 21,\n+            "key.bodyoffset" : 1858,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>verb<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct>?<\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 43,\n+            "key.name" : "init(verb:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 1837,\n+            "key.offset" : 1837,\n+            "key.parsed_declaration" : "private init(verb: String?)",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 64,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String?) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$s4verb10Commandant11HelpOptionsVyxGSSSg_tcD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV4verbACyxGSSSg_tc33_38F61CE0DF9D73793CEDF5D1C3140331Llfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.private",\n+            "key.annotated_decl" : "<Declaration>private static func create(_ verb: <Type usr=\\"s:SS\\">String<\\/Type>) -&gt; <Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.private",\n+                "key.length" : 7,\n+                "key.offset" : 1883\n+              }\n+            ],\n+            "key.bodylength" : 54,\n+            "key.bodyoffset" : 1942,\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>private<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>create<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>verb<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 106,\n+            "key.name" : "create(_:)",\n+            "key.namelength" : 22,\n+            "key.nameoffset" : 1903,\n+            "key.offset" : 1891,\n+            "key.parsed_declaration" : "private static func create(_ verb: String) -> HelpOptions",\n+            "key.parsed_scope.end" : 70,\n+            "key.parsed_scope.start" : 68,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (String) -> HelpOptions<ClientError>",\n+            "key.typeusr" : "$sy10Commandant11HelpOptionsVyxGSScD",\n+            "key.usr" : "s:10Commandant11HelpOptionsV6create33_38F61CE0DF9D73793CEDF5D1C3140331LLyACyxGSSFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2000\n+              }\n+            ],\n+            "key.bodylength" : 99,\n+            "key.bodyoffset" : 2100,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/HelpCommand.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant11HelpOptionsV\\">HelpOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11HelpOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 193,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 2019,\n+            "key.offset" : 2007,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<HelpOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 75,\n+            "key.parsed_scope.start" : 72,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (HelpOptions<ClientError>.Type) -> (CommandMode) -> Result<HelpOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant11HelpOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "HelpOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant11HelpOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant11HelpOptionsV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Option.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 9661,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public protocol OptionsProtocol<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1388\n+          }\n+        ],\n+        "key.bodylength" : 233,\n+        "key.bodyoffset" : 1421,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "Represents a record of options for a command, which can be parsed from\\na list of command-line arguments.\\n\\nThis is most helpful when used in conjunction with the `Option` and `Switch`\\ntypes, and `<*>` and `<|` combinators.\\n\\nExample:\\n\\n\\tstruct LogOptions: OptionsProtocol {\\n\\t\\tlet verbosity: Int\\n\\t\\tlet outputFilename: String\\n\\t\\tlet shouldDelete: Bool\\n\\t\\tlet logName: String\\n\\n\\t\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {\\n\\t\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }\\n\\t\\t}\\n\\n\\t\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {\\n\\t\\t\\treturn create\\n\\t\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")\\n\\t\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")\\n\\t\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")\\n\\t\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")\\n\\t\\t}\\n\\t}",\n+        "key.doc.declaration" : "public protocol OptionsProtocol",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "This is most helpful when used in conjunction with the `Option` and `Switch` types, and `<*>` and `<|` combinators."\n+          },\n+          {\n+            "Para" : "Example:"\n+          },\n+          {\n+            "CodeListing" : ""\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"37\\" column=\\"17\\"><Name>OptionsProtocol<\\/Name><USR>s:10Commandant15OptionsProtocolP<\\/USR><Declaration>public protocol OptionsProtocol<\\/Declaration><CommentParts><Abstract><Para>Represents a record of options for a command, which can be parsed from a list of command-line arguments.<\\/Para><\\/Abstract><Discussion><Para>This is most helpful when used in conjunction with the <codeVoice>Option<\\/codeVoice> and <codeVoice>Switch<\\/codeVoice> types, and <codeVoice>&lt;*&gt;<\\/codeVoice> and <codeVoice>&lt;|<\\/codeVoice> combinators.<\\/Para><Para>Example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct LogOptions: OptionsProtocol {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet verbosity: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet outputFilename: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet shouldDelete: Bool]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tlet logName: String]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func create(_ verbosity: Int) -> (String) -> (Bool) -> (String) -> LogOptions {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn { outputFilename in { shouldDelete in { logName in LogOptions(verbosity: verbosity, outputFilename: outputFilename, shouldDelete: shouldDelete, logName: logName) } } }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\tstatic func evaluate(_ m: CommandMode) -> Result<LogOptions, CommandantError<YourErrorType>> {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\treturn create]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"verbose\\", defaultValue: 0, usage: \\"the verbosity level with which to read the logs\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Option(key: \\"outputFilename\\", defaultValue: \\"\\", usage: \\"a file to print output to, instead of stdout\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Switch(flag: \\"d\\", key: \\"delete\\", usage: \\"delete the logs when finished\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t\\t\\t<*> m <| Argument(usage: \\"the log to read\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\t}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 37,\n+        "key.doc.name" : "OptionsProtocol",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 1222,\n+        "key.docoffset" : 166,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.protocol><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>protocol<\\/syntaxtype.keyword> <decl.name>OptionsProtocol<\\/decl.name><\\/decl.protocol>",\n+        "key.kind" : "source.lang.swift.decl.protocol",\n+        "key.length" : 260,\n+        "key.name" : "OptionsProtocol",\n+        "key.namelength" : 15,\n+        "key.nameoffset" : 1404,\n+        "key.offset" : 1395,\n+        "key.parsed_declaration" : "public protocol OptionsProtocol",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 37,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>associatedtype ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.associatedtype><syntaxtype.keyword>associatedtype<\\/syntaxtype.keyword> <decl.name>ClientError<\\/decl.name> : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.associatedtype>",\n+            "key.kind" : "source.lang.swift.decl.associatedtype",\n+            "key.length" : 33,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1438,\n+            "key.offset" : 1423,\n+            "key.parsed_declaration" : "associatedtype ClientError: Error",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Self.ClientError.Type",\n+            "key.typeusr" : "$s11ClientError10Commandant15OptionsProtocolPQzmD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP11ClientErrorQa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.doc.column" : 14,\n+            "key.doc.comment" : "Evaluates this set of options in the given mode.\\n\\nReturns the parsed options or a `UsageError`.",\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 1459,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant15OptionsProtocolP4Selfxmfp\\">Self<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.associatedtype usr=\\"s:10Commandant15OptionsProtocolP11ClientErrorQa\\">ClientError<\\/ref.associatedtype>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 84,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1581,\n+            "key.offset" : 1569,\n+            "key.parsed_declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 43,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<Self where Self : OptionsProtocol> (Self.Type) -> (CommandMode) -> Result<Self, CommandantError<Self.ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOy06ClientC0QzGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "OptionsProtocol.Protocol",\n+        "key.typeusr" : "$s10Commandant15OptionsProtocol_pmD",\n+        "key.usr" : "s:10Commandant15OptionsProtocolP"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct NoOptions&lt;ClientError&gt; : <Type usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/Type> where ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1703\n+          }\n+        ],\n+        "key.bodylength" : 154,\n+        "key.bodyoffset" : 1765,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "An `OptionsProtocol` that has no options.",\n+        "key.doc.declaration" : "public struct NoOptions<ClientError> : OptionsProtocol where ClientError : Error",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"47\\" column=\\"15\\"><Name>NoOptions<\\/Name><USR>s:10Commandant9NoOptionsV<\\/USR><Declaration>public struct NoOptions&lt;ClientError&gt; : OptionsProtocol where ClientError : Error<\\/Declaration><CommentParts><Abstract><Para>An <codeVoice>OptionsProtocol<\\/codeVoice> that has no options.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 47,\n+        "key.doc.name" : "NoOptions",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 46,\n+        "key.docoffset" : 1657,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 15,\n+            "key.offset" : 1748\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>NoOptions<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:10Commandant15OptionsProtocolP\\">OptionsProtocol<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>ClientError : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "OptionsProtocol"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 210,\n+        "key.name" : "NoOptions",\n+        "key.namelength" : 9,\n+        "key.nameoffset" : 1717,\n+        "key.offset" : 1710,\n+        "key.parsed_declaration" : "public struct NoOptions<ClientError: Error>: OptionsProtocol",\n+        "key.parsed_scope.end" : 53,\n+        "key.parsed_scope.start" : 47,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 5,\n+                "key.offset" : 1740\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Error"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 18,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1727,\n+            "key.offset" : 1727,\n+            "key.parsed_declaration" : "public struct NoOptions<ClientError: Error",\n+            "key.parsed_scope.end" : 47,\n+            "key.parsed_scope.start" : 47,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant9NoOptionsV11ClientErrorxmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init()<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1767\n+              }\n+            ],\n+            "key.bodylength" : 0,\n+            "key.bodyoffset" : 1782,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>()<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 9,\n+            "key.name" : "init()",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 1774,\n+            "key.offset" : 1774,\n+            "key.parsed_declaration" : "public init()",\n+            "key.parsed_scope.end" : 48,\n+            "key.parsed_scope.start" : 48,\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> () -> NoOptions<ClientError>",\n+            "key.typeusr" : "$s10Commandant9NoOptionsVyxGycD",\n+            "key.usr" : "s:10Commandant9NoOptionsVACyxGycfc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func evaluate(_ m: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1786\n+              }\n+            ],\n+            "key.bodylength" : 33,\n+            "key.bodyoffset" : 1884,\n+            "key.doc.column" : 14,\n+            "key.doc.declaration" : "static func evaluate(_ m: CommandMode) -> Result<Self, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Returns the parsed options or a `UsageError`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"43\\" column=\\"14\\"><Name>evaluate(_:)<\\/Name><USR>s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ<\\/USR><Declaration>static func evaluate(_ m: CommandMode) -&gt; Result&lt;Self, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates this set of options in the given mode.<\\/Para><\\/Abstract><Discussion><Para>Returns the parsed options or a <codeVoice>UsageError<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>OptionsProtocol<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 43,\n+            "key.doc.name" : "evaluate(_:)",\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.static><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>evaluate<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>m<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:10Commandant9NoOptionsV\\">NoOptions<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant9NoOptionsV11ClientErrorxmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.method.static>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 125,\n+            "key.name" : "evaluate(_:)",\n+            "key.namelength" : 26,\n+            "key.nameoffset" : 1805,\n+            "key.offset" : 1793,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public static func evaluate(_ m: CommandMode) -> Result<NoOptions, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 52,\n+            "key.parsed_scope.start" : 50,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<ClientError where ClientError : Error> (NoOptions<ClientError>.Type) -> (CommandMode) -> Result<NoOptions<ClientError>, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOy10Commandant9NoOptionsVyxGAC0B5ErrorOyxGGAC11CommandModeOcD",\n+            "key.usr" : "s:10Commandant15OptionsProtocolP8evaluateys6ResultOyxAA0A5ErrorOy06ClientF0QzGGAA11CommandModeOFZ"\n+          }\n+        ],\n+        "key.typename" : "NoOptions<ClientError>.Type",\n+        "key.typeusr" : "$s10Commandant9NoOptionsVyxGmD",\n+        "key.usr" : "s:10Commandant9NoOptionsV"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 1988\n+          }\n+        ],\n+        "key.bodylength" : 786,\n+        "key.bodyoffset" : 2013,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes an option that can be provided on the command line.",\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 66,\n+        "key.docoffset" : 1922,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 805,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2002,\n+        "key.offset" : 1995,\n+        "key.parsed_declaration" : "public struct Option<T>",\n+        "key.parsed_scope.end" : 78,\n+        "key.parsed_scope.start" : 56,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 2009,\n+            "key.offset" : 2009,\n+            "key.parsed_declaration" : "public struct Option<T",\n+            "key.parsed_scope.end" : 56,\n+            "key.parsed_scope.start" : 56,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant6OptionV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2132\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that controls this option. For example, a key of `verbose` would\\nbe used for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"59\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6OptionV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that controls this option. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 59,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 116,\n+            "key.docoffset" : 2015,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 2143,\n+            "key.offset" : 2139,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 59,\n+            "key.parsed_scope.start" : 59,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2303\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The default value for this option. This is the value that will be used\\nif the option is never explicitly specified on the command line.",\n+            "key.doc.declaration" : "public let defaultValue: T",\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"63\\" column=\\"13\\"><Name>defaultValue<\\/Name><USR>s:10Commandant6OptionV12defaultValuexvp<\\/USR><Declaration>public let defaultValue: T<\\/Declaration><CommentParts><Abstract><Para>The default value for this option. This is the value that will be used if the option is never explicitly specified on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 63,\n+            "key.doc.name" : "defaultValue",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 145,\n+            "key.docoffset" : 2157,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>defaultValue<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 19,\n+            "key.name" : "defaultValue",\n+            "key.namelength" : 12,\n+            "key.nameoffset" : 2314,\n+            "key.offset" : 2310,\n+            "key.parsed_declaration" : "public let defaultValue: T",\n+            "key.parsed_scope.end" : 63,\n+            "key.parsed_scope.start" : 63,\n+            "key.typename" : "T",\n+            "key.typeusr" : "$sxD",\n+            "key.usr" : "s:10Commandant6OptionV12defaultValuexvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2637\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.\\n\\nFor boolean operations, this should describe the effect of _not_ using\\nthe default value (i.e., what will happen if you disable\\/enable the flag\\ndifferently from the default).",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "For boolean operations, this should describe the effect of  using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"71\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6OptionV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><Discussion><Para>For boolean operations, this should describe the effect of <emphasis>not<\\/emphasis> using the default value (i.e., what will happen if you disable\\/enable the flag differently from the default).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 71,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 304,\n+            "key.docoffset" : 2332,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 2648,\n+            "key.offset" : 2644,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 71,\n+            "key.parsed_scope.start" : 71,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6OptionV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(key: <Type usr=\\"s:SS\\">String<\\/Type>, defaultValue: <Type usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2664\n+              }\n+            ],\n+            "key.bodylength" : 75,\n+            "key.bodyoffset" : 2722,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>defaultValue<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 127,\n+            "key.name" : "init(key:defaultValue:usage:)",\n+            "key.namelength" : 49,\n+            "key.nameoffset" : 2671,\n+            "key.offset" : 2671,\n+            "key.parsed_declaration" : "public init(key: String, defaultValue: T, usage: String)",\n+            "key.parsed_scope.end" : 77,\n+            "key.parsed_scope.start" : 73,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T> (Option<T>.Type) -> (String, T, String) -> Option<T>",\n+            "key.typeusr" : "$s3key12defaultValue5usage10Commandant6OptionVyxGSS_xSStcD",\n+            "key.usr" : "s:10Commandant6OptionV3key12defaultValue5usageACyxGSS_xSStcfc"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Option&lt;T&gt;<\\/Declaration>",\n+        "key.bodylength" : 58,\n+        "key.bodyoffset" : 2845,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Option<T>",\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"56\\" column=\\"15\\"><Name>Option<\\/Name><USR>s:10Commandant6OptionV<\\/USR><Declaration>public struct Option&lt;T&gt;<\\/Declaration><CommentParts><Abstract><Para>Describes an option that can be provided on the command line.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 56,\n+        "key.doc.name" : "Option",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 2820\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Option<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant6OptionV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;<\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 102,\n+        "key.name" : "Option",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 2812,\n+        "key.offset" : 2802,\n+        "key.parsed_declaration" : "extension Option: CustomStringConvertible",\n+        "key.parsed_scope.end" : 84,\n+        "key.parsed_scope.start" : 80,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 2847\n+              }\n+            ],\n+            "key.bodylength" : 22,\n+            "key.bodyoffset" : 2879,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 48,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 2858,\n+            "key.offset" : 2854,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 83,\n+            "key.parsed_scope.start" : 81,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          }\n+        ],\n+        "key.typename" : "Option<T>.Type",\n+        "key.typeusr" : "$s10Commandant6OptionVyxGmD",\n+        "key.usr" : "s:10Commandant6OptionV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 2909\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4404\n+          }\n+        ],\n+        "key.bodylength" : 22,\n+        "key.bodyoffset" : 4545,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"122\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: (T) -&gt; U, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 122,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 211,\n+        "key.docoffset" : 4193,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 157,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 84,\n+        "key.nameoffset" : 4416,\n+        "key.offset" : 4411,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: (T) -> U, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 124,\n+        "key.parsed_scope.start" : 122,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4421,\n+            "key.offset" : 4421,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4424,\n+            "key.offset" : 4424,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4427,\n+            "key.offset" : 4427,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 122,\n+            "key.parsed_scope.start" : 122,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> ((T) -> U, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGq_xXE_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;((<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>), <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;, value: <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 4797\n+          }\n+        ],\n+        "key.bodylength" : 346,\n+        "key.bodyoffset" : 4978,\n+        "key.doc.column" : 13,\n+        "key.doc.comment" : "Applies the function in `f` to the value in the given result.\\n\\nIn the context of command-line option parsing, this is used to chain\\ntogether the parsing of multiple arguments. See OptionsProtocol for an example.",\n+        "key.doc.declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+        "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"130\\" column=\\"13\\"><Name>&lt;*&gt;(_:_:)<\\/Name><USR>s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF<\\/USR><Declaration>public func &lt;*&gt; &lt;T, U, ClientError&gt;(f: Result&lt;((T) -&gt; U), CommandantError&lt;ClientError&gt;&gt;, value: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Applies the function in <codeVoice>f<\\/codeVoice> to the value in the given result.<\\/Para><\\/Abstract><Discussion><Para>In the context of command-line option parsing, this is used to chain together the parsing of multiple arguments. See OptionsProtocol for an example.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+        "key.doc.line" : 130,\n+        "key.doc.name" : "<*>(_:_:)",\n+        "key.doc.type" : "Function",\n+        "key.doclength" : 227,\n+        "key.docoffset" : 4570,\n+        "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+        "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;*&gt; <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\"><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>f<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<tuple>(<tuple.element><tuple.element.type>(<decl.var.parameter><decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param><\\/decl.function.returntype><\\/tuple.element.type><\\/tuple.element>)<\\/tuple>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>value<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp\\">U<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+        "key.kind" : "source.lang.swift.decl.function.free",\n+        "key.length" : 521,\n+        "key.name" : "<*>(_:_:)",\n+        "key.namelength" : 124,\n+        "key.nameoffset" : 4809,\n+        "key.offset" : 4804,\n+        "key.parsed_declaration" : "public func <*> <T, U, ClientError>(f: Result<((T) -> U), CommandantError<ClientError>>, value: Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.parsed_scope.end" : 145,\n+        "key.parsed_scope.start" : 130,\n+        "key.related_decls" : [\n+          {\n+            "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGq_xXE_ADyxAGGtr1_lF\\">&lt;*&gt; &lt;T, U, ClientError&gt;(_: (T) -&gt; U, _: Result&lt;T, CommandantError&lt;ClientError&gt;&gt;) -&gt; Result&lt;U, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+          }\n+        ],\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4814,\n+            "key.offset" : 4814,\n+            "key.parsed_declaration" : "public func <*> <T",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1TL_xmfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>U<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>U<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 1,\n+            "key.name" : "U",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 4817,\n+            "key.offset" : 4817,\n+            "key.parsed_declaration" : "public func <*> <T, U",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "U.Type",\n+            "key.typeusr" : "$sq_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF1UL_q_mfp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "ClientError",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 4820,\n+            "key.offset" : 4820,\n+            "key.parsed_declaration" : "public func <*> <T, U, ClientError",\n+            "key.parsed_scope.end" : 130,\n+            "key.parsed_scope.start" : 130,\n+            "key.typename" : "ClientError.Type",\n+            "key.typeusr" : "$sq0_mD",\n+            "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF06ClientD0L_q0_mfp"\n+          }\n+        ],\n+        "key.typename" : "<T, U, ClientError> (Result<((T) -> U), CommandantError<ClientError>>, Result<T, CommandantError<ClientError>>) -> Result<U, CommandantError<ClientError>>",\n+        "key.typeusr" : "$sys6ResultOyq_10Commandant0B5ErrorOyq0_GGAByq_xcAFG_AByxAFGtcr1_luD",\n+        "key.usr" : "s:10Commandant3lmgoiys6ResultOyq_AA0A5ErrorOyq0_GGADyq_xcAGG_ADyxAGGtr1_lF"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 4309,\n+        "key.bodyoffset" : 5350,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 4333,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 5337,\n+        "key.offset" : 5327,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 273,\n+        "key.parsed_scope.start" : 147,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 5538\n+              }\n+            ],\n+            "key.bodylength" : 230,\n+            "key.bodyoffset" : 5677,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"152\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 152,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 5352,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 363,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 75,\n+            "key.nameoffset" : 5557,\n+            "key.offset" : 5545,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 157,\n+            "key.parsed_scope.start" : 152,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 5564\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 5561,\n+                "key.offset" : 5561,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 5582,\n+                "key.offset" : 5582,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 152,\n+                "key.parsed_scope.start" : 152,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;T?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;T?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 97,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 5684,\n+                "key.offset" : 5680,\n+                "key.parsed_declaration" : "let wrapped = Option<T?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 153,\n+                "key.parsed_scope.start" : 153,\n+                "key.typename" : "Option<T?>",\n+                "key.typeusr" : "$s10Commandant6OptionVyxSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_ALyxSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T>) -> Result<T, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyx10Commandant0B5ErrorOyq_GGAC11CommandModeO_AC6OptionVyxGtcAC16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 6075\n+              }\n+            ],\n+            "key.bodylength" : 852,\n+            "key.bodyoffset" : 6216,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"163\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 163,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 5911,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 987,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 76,\n+            "key.nameoffset" : 6094,\n+            "key.offset" : 6082,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 196,\n+            "key.parsed_scope.start" : 163,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 6101\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 6098,\n+                "key.offset" : 6098,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 6119,\n+                "key.offset" : 6119,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 163,\n+                "key.parsed_scope.start" : 163,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 6223,\n+                "key.offset" : 6219,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 164,\n+                "key.parsed_scope.start" : 164,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<T?>) -> Result<T?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOyxSg10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>], <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7258\n+              }\n+            ],\n+            "key.bodylength" : 232,\n+            "key.bodyoffset" : 7401,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"202\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 202,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 185,\n+            "key.docoffset" : 7072,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>], <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 369,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 77,\n+            "key.nameoffset" : 7277,\n+            "key.offset" : 7265,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 207,\n+            "key.parsed_scope.start" : 202,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7284\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7281,\n+                "key.offset" : 7281,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7302,\n+                "key.offset" : 7302,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 202,\n+                "key.parsed_scope.start" : 202,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let wrapped: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[T]?&gt;<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>wrapped<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[T]?&gt;<\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 99,\n+                "key.name" : "wrapped",\n+                "key.namelength" : 7,\n+                "key.nameoffset" : 7408,\n+                "key.offset" : 7404,\n+                "key.parsed_declaration" : "let wrapped = Option<[T]?>(key: option.key, defaultValue: option.defaultValue, usage: option.usage)",\n+                "key.parsed_scope.end" : 203,\n+                "key.parsed_scope.start" : 203,\n+                "key.typename" : "Option<[T]?>",\n+                "key.typeusr" : "$s10Commandant6OptionVySayxGSgGD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ7wrappedL_AMyAGSgGvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]>) -> Result<[T], CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxG10Commandant0B5ErrorOyq_GGAD11CommandModeO_AD6OptionVyACGtcAD16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;[<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/Type>]?, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/Type>&gt;&gt; where T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 7801\n+              }\n+            ],\n+            "key.bodylength" : 1117,\n+            "key.bodyoffset" : 7946,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, `nil` is used.",\n+            "key.doc.declaration" : "public static func <| <T, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>> where T : Commandant.ArgumentProtocol",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, `nil` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"213\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ<\\/USR><Declaration>public static func &lt;| &lt;T, ClientError&gt;(mode: CommandMode, option: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : Commandant.ArgumentProtocol<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, <codeVoice>nil<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 213,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 163,\n+            "key.docoffset" : 7637,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;[<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp\\">T<\\/ref.generic_type_param>]?, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 1256,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 78,\n+            "key.nameoffset" : 7820,\n+            "key.offset" : 7808,\n+            "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError>(mode: CommandMode, option: Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 254,\n+            "key.parsed_scope.start" : 213,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 16,\n+                    "key.offset" : 7827\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:10Commandant16ArgumentProtocolP\\">ArgumentProtocol<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "ArgumentProtocol"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 19,\n+                "key.name" : "T",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 7824,\n+                "key.offset" : 7824,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "T.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ1TL_xmfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 7845,\n+                "key.offset" : 7845,\n+                "key.parsed_declaration" : "public static func <| <T: ArgumentProtocol, ClientError",\n+                "key.parsed_scope.end" : 213,\n+                "key.parsed_scope.start" : 213,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sq_mD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ06ClientF0L_q_mfp"\n+              },\n+              {\n+                "key.annotated_decl" : "<Declaration>let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+                "key.kind" : "source.lang.swift.decl.var.local",\n+                "key.length" : 20,\n+                "key.name" : "key",\n+                "key.namelength" : 3,\n+                "key.nameoffset" : 7953,\n+                "key.offset" : 7949,\n+                "key.parsed_declaration" : "let key = option.key",\n+                "key.parsed_scope.end" : 214,\n+                "key.parsed_scope.start" : 214,\n+                "key.typename" : "String",\n+                "key.typeusr" : "$sSSD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ3keyL_SSvp"\n+              }\n+            ],\n+            "key.typename" : "<T, ClientError where T : ArgumentProtocol> (CommandMode.Type) -> (CommandMode, Option<[T]?>) -> Result<[T]?, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySayxGSg10Commandant0B5ErrorOyq_GGAE11CommandModeO_AE6OptionVyADGtcAE16ArgumentProtocolRzr0_luD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6OptionV\\">Option<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>&gt;) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 9261\n+              }\n+            ],\n+            "key.bodylength" : 272,\n+            "key.bodyoffset" : 9385,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean option in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Option.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Option.swift\\" line=\\"260\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean option in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 260,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 9067,\n+            "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6OptionV\\">Option<\\/ref.struct>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>&gt;<\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 390,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 57,\n+            "key.nameoffset" : 9280,\n+            "key.offset" : 9268,\n+            "key.parsed_declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 272,\n+            "key.parsed_scope.start" : 260,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Option.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 9284,\n+                "key.offset" : 9284,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 260,\n+                "key.parsed_scope.start" : 260,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Option<Bool>) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6OptionVySbGtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/OrderedSet.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 800,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 30\n+          }\n+        ],\n+        "key.bodylength" : 348,\n+        "key.bodyoffset" : 82,\n+        "key.doc.column" : 17,\n+        "key.doc.comment" : "A poor man\'s ordered set.",\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 30,\n+        "key.docoffset" : 0,\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 9,\n+            "key.offset" : 71\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Equatable"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 392,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 46,\n+        "key.offset" : 39,\n+        "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable>: Equatable",\n+        "key.parsed_scope.end" : 19,\n+        "key.parsed_scope.start" : 2,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+            "key.elements" : [\n+              {\n+                "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                "key.length" : 8,\n+                "key.offset" : 60\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>T<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+            "key.inheritedtypes" : [\n+              {\n+                "key.name" : "Hashable"\n+              }\n+            ],\n+            "key.kind" : "source.lang.swift.decl.generic_type_param",\n+            "key.length" : 11,\n+            "key.name" : "T",\n+            "key.namelength" : 1,\n+            "key.nameoffset" : 57,\n+            "key.offset" : 57,\n+            "key.parsed_declaration" : "internal struct OrderedSet<T: Hashable",\n+            "key.parsed_scope.end" : 2,\n+            "key.parsed_scope.start" : 2,\n+            "key.typename" : "T.Type",\n+            "key.typeusr" : "$sxmD",\n+            "key.usr" : "s:10Commandant10OrderedSetV1Txmfp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.annotated_decl" : "<Declaration>fileprivate var values: [<Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>]<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.fileprivate",\n+                "key.length" : 11,\n+                "key.offset" : 84\n+              }\n+            ],\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>fileprivate<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>values<\\/decl.name>: <decl.var.type>[<ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>]<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "values",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 100,\n+            "key.offset" : 96,\n+            "key.parsed_declaration" : "fileprivate var values: [T] = []",\n+            "key.parsed_scope.end" : 3,\n+            "key.parsed_scope.start" : 3,\n+            "key.setter_accessibility" : "source.lang.swift.accessibility.fileprivate",\n+            "key.typename" : "[T]",\n+            "key.typeusr" : "$sSayxGD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6values33_E700A43BE27995F7283A44882E2B4A42LLSayxGvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>init&lt;S&gt;(_ sequence: <Type usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/Type>) where T == S.Element, S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 74,\n+            "key.bodyoffset" : 174,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>init<\\/syntaxtype.keyword>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\"><decl.generic_type_param.name>S<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>sequence<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp\\">S<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T == S.Element<\\/decl.generic_type_requirement>, <decl.generic_type_requirement>S : <ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 130,\n+            "key.name" : "init(_:)",\n+            "key.namelength" : 32,\n+            "key.nameoffset" : 119,\n+            "key.offset" : 119,\n+            "key.parsed_declaration" : "init<S: Sequence>(_ sequence: S) where S.Element == T",\n+            "key.parsed_scope.end" : 9,\n+            "key.parsed_scope.start" : 5,\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>S : <Type usr=\\"s:ST\\">Sequence<\\/Type><\\/Declaration>",\n+                "key.elements" : [\n+                  {\n+                    "key.kind" : "source.lang.swift.structure.elem.typeref",\n+                    "key.length" : 8,\n+                    "key.offset" : 127\n+                  }\n+                ],\n+                "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>S<\\/decl.generic_type_param.name> : <decl.generic_type_param.constraint><ref.protocol usr=\\"s:ST\\">Sequence<\\/ref.protocol><\\/decl.generic_type_param.constraint><\\/decl.generic_type_param>",\n+                "key.inheritedtypes" : [\n+                  {\n+                    "key.name" : "Sequence"\n+                  }\n+                ],\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "S",\n+                "key.namelength" : 1,\n+                "key.nameoffset" : 124,\n+                "key.offset" : 124,\n+                "key.parsed_declaration" : "init<S: Sequence",\n+                "key.parsed_scope.end" : 5,\n+                "key.parsed_scope.start" : 5,\n+                "key.typename" : "S.Type",\n+                "key.typeusr" : "$sqd__mD",\n+                "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc1SL_qd__mfp"\n+              }\n+            ],\n+            "key.typename" : "<T, S where T : Hashable, T == S.Element, S : Sequence> (OrderedSet<T>.Type) -> (S) -> OrderedSet<T>",\n+            "key.typeusr" : "$sy10Commandant10OrderedSetVyxGqd__c7ElementQyd__RszSTRd__luD",\n+            "key.usr" : "s:10Commandant10OrderedSetVyACyxGqd__c7ElementQyd__RszSTRd__lufc"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>@discardableResult mutating func remove(_ member: <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.mutating",\n+                "key.length" : 8,\n+                "key.offset" : 272\n+              },\n+              {\n+                "key.attribute" : "source.decl.attribute.discardableResult",\n+                "key.length" : 18,\n+                "key.offset" : 252\n+              }\n+            ],\n+            "key.bodylength" : 115,\n+            "key.bodyoffset" : 313,\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@discardableResult<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>mutating<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>remove<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>member<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param>?<\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 148,\n+            "key.name" : "remove(_:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 286,\n+            "key.offset" : 281,\n+            "key.parsed_declaration" : "mutating func remove(_ member: T) -> T?",\n+            "key.parsed_scope.end" : 18,\n+            "key.parsed_scope.start" : 12,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (inout OrderedSet<T>) -> (T) -> T?",\n+            "key.typeusr" : "$syxSgxcD",\n+            "key.usr" : "s:10Commandant10OrderedSetV6removeyxSgxF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>internal struct OrderedSet&lt;T&gt; : <Type usr=\\"s:SQ\\">Equatable<\\/Type> where T : <Type usr=\\"s:SH\\">Hashable<\\/Type><\\/Declaration>",\n+        "key.bodylength" : 331,\n+        "key.bodyoffset" : 467,\n+        "key.doc.column" : 17,\n+        "key.doc.declaration" : "internal struct OrderedSet<T> : Equatable where T : Hashable",\n+        "key.doc.file" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/OrderedSet.swift\\" line=\\"2\\" column=\\"17\\"><Name>OrderedSet<\\/Name><USR>s:10Commandant10OrderedSetV<\\/USR><Declaration>internal struct OrderedSet&lt;T&gt; : Equatable where T : Hashable<\\/Declaration><CommentParts><Abstract><Para>A poor man’s ordered set.<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "OrderedSet",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 10,\n+            "key.offset" : 455\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>internal<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>OrderedSet<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\"><decl.generic_type_param.name>T<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; : <ref.protocol usr=\\"s:SQ\\">Equatable<\\/ref.protocol> <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>T : <ref.protocol usr=\\"s:SH\\">Hashable<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "Collection"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 366,\n+        "key.name" : "OrderedSet",\n+        "key.namelength" : 10,\n+        "key.nameoffset" : 443,\n+        "key.offset" : 433,\n+        "key.parsed_declaration" : "extension OrderedSet: Collection",\n+        "key.parsed_scope.end" : 45,\n+        "key.parsed_scope.start" : 21,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>subscript(position: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 28,\n+            "key.bodyoffset" : 500,\n+            "key.doc.declaration" : "subscript(position: Self.Index) -> Self.Element { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The following example accesses an element of an array through its subscript to print its value:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>subscript(_:)<\\/Name><USR>s:Sly7ElementQz5IndexQzcip<\\/USR><Declaration>subscript(position: Self.Index) -&gt; Self.Element { get }<\\/Declaration><CommentParts><Abstract><Para>Accesses the element at the specified position.<\\/Para><\\/Abstract><Parameters><Parameter><Name>position<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>The position of the element to access. <codeVoice>position<\\/codeVoice> must be a valid index of the collection that is not equal to the <codeVoice>endIndex<\\/codeVoice> property.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><Discussion><Para>The following example accesses an element of an array through its subscript to print its value:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[var streets = [\\"Adams\\", \\"Bryant\\", \\"Channing\\", \\"Douglas\\", \\"Evarts\\"]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(streets[1])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Bryant\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>You can subscript a collection with any valid index other than the collection’s end index. The end index refers to the position one past the last element of a collection, so it doesn’t correspond with an element.<\\/Para><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "subscript(_:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "The position of the element to access. `position` must be a valid index of the collection that is not equal to the `endIndex` property."\n+                  }\n+                ],\n+                "name" : "position"\n+              }\n+            ],\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.subscript><syntaxtype.keyword>subscript<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.name>position<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.generic_type_param usr=\\"s:10Commandant10OrderedSetV1Txmfp\\">T<\\/ref.generic_type_param><\\/decl.function.returntype> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.function.subscript>",\n+            "key.kind" : "source.lang.swift.decl.function.subscript",\n+            "key.length" : 60,\n+            "key.name" : "subscript(_:)",\n+            "key.namelength" : 24,\n+            "key.nameoffset" : 469,\n+            "key.offset" : 469,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+              }\n+            ],\n+            "key.parsed_declaration" : "subscript(position: Int) -> T",\n+            "key.parsed_scope.end" : 24,\n+            "key.parsed_scope.start" : 22,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (Int) -> T",\n+            "key.typeusr" : "$syxSicD",\n+            "key.usr" : "s:Sly7ElementQz5IndexQzcip"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var count: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 24,\n+            "key.bodyoffset" : 548,\n+            "key.doc.declaration" : "var count: Int { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "To check whether a collection is empty, use its `isEmpty` property instead of comparing `count` to zero. Unless the collection guarantees random-access performance, calculating `count` can be an O() operation."\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>count<\\/Name><USR>s:Sl5countSivp<\\/USR><Declaration>var count: Int { get }<\\/Declaration><CommentParts><Abstract><Para>The number of elements in the collection.<\\/Para><\\/Abstract><Discussion><Para>To check whether a collection is empty, use its <codeVoice>isEmpty<\\/codeVoice> property instead of comparing <codeVoice>count<\\/codeVoice> to zero. Unless the collection guarantees random-access performance, calculating <codeVoice>count<\\/codeVoice> can be an O(<emphasis>n<\\/emphasis>) operation.<\\/Para><Complexity><Para>O(1) if the collection conforms to <codeVoice>RandomAccessCollection<\\/codeVoice>; otherwise, O(<emphasis>n<\\/emphasis>), where <emphasis>n<\\/emphasis> is the length of the collection.<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "count",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>count<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 41,\n+            "key.name" : "count",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 536,\n+            "key.offset" : 532,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5countSivp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var count: Int",\n+            "key.parsed_scope.end" : 28,\n+            "key.parsed_scope.start" : 26,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl5countSivp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var isEmpty: <Type usr=\\"s:Sb\\">Bool<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 26,\n+            "key.bodyoffset" : 595,\n+            "key.doc.declaration" : "var isEmpty: Bool { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need to check whether your collection is empty, use the `isEmpty` property instead of checking that the `count` property is equal to zero. For collections that don’t conform to `RandomAccessCollection`, accessing the `count` property iterates through the elements of the collection."\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Complexity" : ""\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>isEmpty<\\/Name><USR>s:Sl7isEmptySbvp<\\/USR><Declaration>var isEmpty: Bool { get }<\\/Declaration><CommentParts><Abstract><Para>A Boolean value indicating whether the collection is empty.<\\/Para><\\/Abstract><Discussion><Para>When you need to check whether your collection is empty, use the <codeVoice>isEmpty<\\/codeVoice> property instead of checking that the <codeVoice>count<\\/codeVoice> property is equal to zero. For collections that don’t conform to <codeVoice>RandomAccessCollection<\\/codeVoice>, accessing the <codeVoice>count<\\/codeVoice> property iterates through the elements of the collection.<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let horseName = \\"Silver\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if horseName.isEmpty {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"My horse has no name.\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[} else {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(\\"Hi ho, \\\\(horseName)!\\")]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"Hi ho, Silver!\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Complexity><Para>O(1)<\\/Para><\\/Complexity><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "isEmpty",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>isEmpty<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 46,\n+            "key.name" : "isEmpty",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 580,\n+            "key.offset" : 576,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl7isEmptySbvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var isEmpty: Bool",\n+            "key.parsed_scope.end" : 32,\n+            "key.parsed_scope.start" : 30,\n+            "key.typename" : "Bool",\n+            "key.typeusr" : "$sSbD",\n+            "key.usr" : "s:Sl7isEmptySbvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var startIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 29,\n+            "key.bodyoffset" : 646,\n+            "key.doc.declaration" : "var startIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If the collection is empty, `startIndex` is equal to `endIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>startIndex<\\/Name><USR>s:Sl10startIndex0B0Qzvp<\\/USR><Declaration>var startIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The position of the first element in a nonempty collection.<\\/Para><\\/Abstract><Discussion><Para>If the collection is empty, <codeVoice>startIndex<\\/codeVoice> is equal to <codeVoice>endIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "startIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>startIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 51,\n+            "key.name" : "startIndex",\n+            "key.namelength" : 10,\n+            "key.nameoffset" : 629,\n+            "key.offset" : 625,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var startIndex: Int",\n+            "key.parsed_scope.end" : 36,\n+            "key.parsed_scope.start" : 34,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl10startIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var endIndex: <Type usr=\\"s:Si\\">Int<\\/Type> { get }<\\/Declaration>",\n+            "key.bodylength" : 27,\n+            "key.bodyoffset" : 698,\n+            "key.doc.declaration" : "var endIndex: Self.Index { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "When you need a range that includes the last element of a collection, use the half-open range operator (`..<`) with `endIndex`. The `..<` operator creates a range that doesn’t include the upper bound, so it’s always safe to use with `endIndex`. For example:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "If the collection is empty, `endIndex` is equal to `startIndex`."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>endIndex<\\/Name><USR>s:Sl8endIndex0B0Qzvp<\\/USR><Declaration>var endIndex: Self.Index { get }<\\/Declaration><CommentParts><Abstract><Para>The collection’s “past the end” position—that is, the position one greater than the last valid subscript argument.<\\/Para><\\/Abstract><Discussion><Para>When you need a range that includes the last element of a collection, use the half-open range operator (<codeVoice>..&lt;<\\/codeVoice>) with <codeVoice>endIndex<\\/codeVoice>. The <codeVoice>..&lt;<\\/codeVoice> operator creates a range that doesn’t include the upper bound, so it’s always safe to use with <codeVoice>endIndex<\\/codeVoice>. For example:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[let numbers = [10, 20, 30, 40, 50]]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[if let index = numbers.firstIndex(of: 30) {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    print(numbers[index ..< numbers.endIndex])]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"[30, 40, 50]\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>If the collection is empty, <codeVoice>endIndex<\\/codeVoice> is equal to <codeVoice>startIndex<\\/codeVoice>.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "endIndex",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>endIndex<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 47,\n+            "key.name" : "endIndex",\n+            "key.namelength" : 8,\n+            "key.nameoffset" : 683,\n+            "key.offset" : 679,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "var endIndex: Int",\n+            "key.parsed_scope.end" : 40,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "Int",\n+            "key.typeusr" : "$sSiD",\n+            "key.usr" : "s:Sl8endIndex0B0Qzvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>func index(after i: <Type usr=\\"s:Si\\">Int<\\/Type>) -&gt; <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.bodylength" : 34,\n+            "key.bodyoffset" : 762,\n+            "key.doc.declaration" : "func index(after i: Self.Index) -> Self.Index",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "The successor of an index must be well defined. For an index `i` into a collection `c`, calling `c.index(after: i)` returns the same index every time."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Function><Name>index(after:)<\\/Name><USR>s:Sl5index5after5IndexQzAD_tF<\\/USR><Declaration>func index(after i: Self.Index) -&gt; Self.Index<\\/Declaration><CommentParts><Abstract><Para>Returns the position immediately after the given index.<\\/Para><\\/Abstract><Parameters><Parameter><Name>i<\\/Name><Direction isExplicit=\\"0\\">in<\\/Direction><Discussion><Para>A valid index of the collection. <codeVoice>i<\\/codeVoice> must be less than <codeVoice>endIndex<\\/codeVoice>.<\\/Para><\\/Discussion><\\/Parameter><\\/Parameters><ResultDiscussion><Para>The index value immediately after <codeVoice>i<\\/codeVoice>.<\\/Para><\\/ResultDiscussion><Discussion><Para>The successor of an index must be well defined. For an index <codeVoice>i<\\/codeVoice> into a collection <codeVoice>c<\\/codeVoice>, calling <codeVoice>c.index(after: i)<\\/codeVoice> returns the same index every time.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>Collection<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.name" : "index(after:)",\n+            "key.doc.parameters" : [\n+              {\n+                "discussion" : [\n+                  {\n+                    "Para" : "A valid index of the collection. `i` must be less than `endIndex`."\n+                  }\n+                ],\n+                "name" : "i"\n+              }\n+            ],\n+            "key.doc.result_discussion" : [\n+              {\n+                "Para" : "The index value immediately after `i`."\n+              }\n+            ],\n+            "key.doc.type" : "Function",\n+            "key.filepath" : "Sources\\/Commandant\\/OrderedSet.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>index<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>after<\\/decl.var.parameter.argument_label> <decl.var.parameter.name>i<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.function.returntype><\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 68,\n+            "key.name" : "index(after:)",\n+            "key.namelength" : 19,\n+            "key.nameoffset" : 734,\n+            "key.offset" : 729,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+              }\n+            ],\n+            "key.parsed_declaration" : "func index(after i: Int) -> Int",\n+            "key.parsed_scope.end" : 44,\n+            "key.parsed_scope.start" : 42,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "<T where T : Hashable> (OrderedSet<T>) -> (Int) -> Int",\n+            "key.typeusr" : "$s5afterS2i_tcD",\n+            "key.usr" : "s:Sl5index5after5IndexQzAD_tF"\n+          }\n+        ],\n+        "key.typename" : "OrderedSet<T>.Type",\n+        "key.typeusr" : "$s10Commandant10OrderedSetVyxGmD",\n+        "key.usr" : "s:10Commandant10OrderedSetV"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Result+Additions.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 421,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : <Type usr=\\"s:s5ErrorP\\">Error<\\/Type><\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.internal",\n+            "key.length" : 8,\n+            "key.offset" : 148\n+          }\n+        ],\n+        "key.bodylength" : 244,\n+        "key.bodyoffset" : 175,\n+        "key.doc.declaration" : "@frozen enum Result<Success, Failure> where Failure : Error",\n+        "key.doc.full_as_xml" : "<Other><Name>Result<\\/Name><USR>s:s6ResultO<\\/USR><Declaration>@frozen enum Result&lt;Success, Failure&gt; where Failure : Error<\\/Declaration><CommentParts><Abstract><Para>A value that represents either a success or a failure, including an associated value in each case.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.name" : "Result",\n+        "key.doc.type" : "Other",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.attribute.builtin><syntaxtype.attribute.name>@frozen<\\/syntaxtype.attribute.name><\\/syntaxtype.attribute.builtin> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>Result<\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:s6ResultO7Successxmfp\\"><decl.generic_type_param.name>Success<\\/decl.generic_type_param.name><\\/decl.generic_type_param>, <decl.generic_type_param usr=\\"s:s6ResultO7Failureq_mfp\\"><decl.generic_type_param.name>Failure<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt; <syntaxtype.keyword>where<\\/syntaxtype.keyword> <decl.generic_type_requirement>Failure : <ref.protocol usr=\\"s:s5ErrorP\\">Error<\\/ref.protocol><\\/decl.generic_type_requirement><\\/decl.enum>",\n+        "key.groupname" : "Result",\n+        "key.is_system" : true,\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 263,\n+        "key.modulename" : "Swift",\n+        "key.name" : "Result",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 167,\n+        "key.offset" : 157,\n+        "key.parsed_declaration" : "internal extension Result",\n+        "key.parsed_scope.end" : 27,\n+        "key.parsed_scope.start" : 9,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var value: <Type usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 198,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>value<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Successxmfp\\">Success<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "value",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 181,\n+            "key.offset" : 177,\n+            "key.parsed_declaration" : "var value: Success?",\n+            "key.parsed_scope.end" : 17,\n+            "key.parsed_scope.start" : 10,\n+            "key.typename" : "Success?",\n+            "key.typeusr" : "$sxSgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5valuexSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>var error: <Type usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/Type>? { get }<\\/Declaration>",\n+            "key.bodylength" : 97,\n+            "key.bodyoffset" : 320,\n+            "key.filepath" : "Sources\\/Commandant\\/Result+Additions.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>error<\\/decl.name>: <decl.var.type><ref.generic_type_param usr=\\"s:s6ResultO10CommandantE7Failureq_mfp\\">Failure<\\/ref.generic_type_param>?<\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.groupname" : "Result",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 119,\n+            "key.name" : "error",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 303,\n+            "key.offset" : 299,\n+            "key.parsed_declaration" : "var error: Failure?",\n+            "key.parsed_scope.end" : 26,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "Failure?",\n+            "key.typeusr" : "$sq_SgD",\n+            "key.usr" : "s:s6ResultO10CommandantE5errorq_Sgvp"\n+          }\n+        ],\n+        "key.typename" : "Result<Success, Failure>.Type",\n+        "key.typeusr" : "$ss6ResultOyxq_GmD",\n+        "key.usr" : "s:s6ResultO"\n+      }\n+    ]\n+  }\n+}, {\n+  "Sources\\/Commandant\\/Switch.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 2007,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.public",\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.attributes" : [\n+          {\n+            "key.attribute" : "source.decl.attribute.public",\n+            "key.length" : 6,\n+            "key.offset" : 375\n+          }\n+        ],\n+        "key.bodylength" : 724,\n+        "key.bodyoffset" : 397,\n+        "key.doc.column" : 15,\n+        "key.doc.comment" : "Describes a parameterless command line flag that defaults to false and can only\\nbe switched on. Canonical examples include `--force` and `--recurse`.\\n\\nFor a boolean toggle that can be enabled and disabled use `Option<Bool>`.",\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 240,\n+        "key.docoffset" : 135,\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.struct",\n+        "key.length" : 740,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 389,\n+        "key.offset" : 382,\n+        "key.parsed_declaration" : "public struct Switch",\n+        "key.parsed_scope.end" : 34,\n+        "key.parsed_scope.start" : 13,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let key: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 515\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "The key that enables this switch. For example, a key of `verbose` would be\\nused for a `--verbose` option.",\n+            "key.doc.declaration" : "public let key: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"16\\" column=\\"13\\"><Name>key<\\/Name><USR>s:10Commandant6SwitchV3keySSvp<\\/USR><Declaration>public let key: String<\\/Declaration><CommentParts><Abstract><Para>The key that enables this switch. For example, a key of <codeVoice>verbose<\\/codeVoice> would be used for a <codeVoice>--verbose<\\/codeVoice> option.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 16,\n+            "key.doc.name" : "key",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 115,\n+            "key.docoffset" : 399,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>key<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 15,\n+            "key.name" : "key",\n+            "key.namelength" : 3,\n+            "key.nameoffset" : 526,\n+            "key.offset" : 522,\n+            "key.parsed_declaration" : "public let key: String",\n+            "key.parsed_scope.end" : 16,\n+            "key.parsed_scope.start" : 16,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV3keySSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let flag: <Type usr=\\"s:SJ\\">Character<\\/Type>?<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 828\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "Optional single letter flag that enables this switch. For example, `-v` would\\nbe used as a shorthand for `--verbose`.\\n\\nMultiple flags can be grouped together as a single argument and will split\\nwhen parsing (e.g. `rm -rf` treats \'r\' and \'f\' as inidividual flags).",\n+            "key.doc.declaration" : "public let flag: Character?",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Multiple flags can be grouped together as a single argument and will split when parsing (e.g. `rm -rf` treats ‘r’ and ‘f’ as inidividual flags)."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"23\\" column=\\"13\\"><Name>flag<\\/Name><USR>s:10Commandant6SwitchV4flagSJSgvp<\\/USR><Declaration>public let flag: Character?<\\/Declaration><CommentParts><Abstract><Para>Optional single letter flag that enables this switch. For example, <codeVoice>-v<\\/codeVoice> would be used as a shorthand for <codeVoice>--verbose<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>Multiple flags can be grouped together as a single argument and will split when parsing (e.g. <codeVoice>rm -rf<\\/codeVoice> treats ‘r’ and ‘f’ as inidividual flags).<\\/Para><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 23,\n+            "key.doc.name" : "flag",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 287,\n+            "key.docoffset" : 540,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>flag<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 20,\n+            "key.name" : "flag",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 839,\n+            "key.offset" : 835,\n+            "key.parsed_declaration" : "public let flag: Character?",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 23,\n+            "key.typename" : "Character?",\n+            "key.typeusr" : "$sSJSgD",\n+            "key.usr" : "s:10Commandant6SwitchV4flagSJSgvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public let usage: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 968\n+              }\n+            ],\n+            "key.doc.column" : 13,\n+            "key.doc.comment" : "A human-readable string describing the purpose of this option. This will\\nbe shown in help messages.",\n+            "key.doc.declaration" : "public let usage: String",\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"27\\" column=\\"13\\"><Name>usage<\\/Name><USR>s:10Commandant6SwitchV5usageSSvp<\\/USR><Declaration>public let usage: String<\\/Declaration><CommentParts><Abstract><Para>A human-readable string describing the purpose of this option. This will be shown in help messages.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 27,\n+            "key.doc.name" : "usage",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 109,\n+            "key.docoffset" : 858,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>let<\\/syntaxtype.keyword> <decl.name>usage<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 17,\n+            "key.name" : "usage",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 979,\n+            "key.offset" : 975,\n+            "key.parsed_declaration" : "public let usage: String",\n+            "key.parsed_scope.end" : 27,\n+            "key.parsed_scope.start" : 27,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV5usageSSvp"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public init(flag: <Type usr=\\"s:SJ\\">Character<\\/Type>? = nil, key: <Type usr=\\"s:SS\\">String<\\/Type>, usage: <Type usr=\\"s:SS\\">String<\\/Type>)<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 995\n+              }\n+            ],\n+            "key.bodylength" : 59,\n+            "key.bodyoffset" : 1060,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.constructor><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>init<\\/syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>flag<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SJ\\">Character<\\/ref.struct>?<\\/decl.var.parameter.type> = nil<\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>key<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>usage<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.constructor>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 118,\n+            "key.name" : "init(flag:key:usage:)",\n+            "key.namelength" : 56,\n+            "key.nameoffset" : 1002,\n+            "key.offset" : 1002,\n+            "key.parsed_declaration" : "public init(flag: Character? = nil, key: String, usage: String)",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 29,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Switch.Type) -> (Character?, String, String) -> Switch",\n+            "key.typeusr" : "$s4flag3key5usage10Commandant6SwitchVSJSg_S2StcD",\n+            "key.usr" : "s:10Commandant6SwitchV4flag3key5usageACSJSg_S2Stcfc"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public struct Switch<\\/Declaration>",\n+        "key.bodylength" : 140,\n+        "key.bodyoffset" : 1167,\n+        "key.doc.column" : 15,\n+        "key.doc.declaration" : "public struct Switch",\n+        "key.doc.discussion" : [\n+          {\n+            "Para" : "For a boolean toggle that can be enabled and disabled use `Option<Bool>`."\n+          }\n+        ],\n+        "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"13\\" column=\\"15\\"><Name>Switch<\\/Name><USR>s:10Commandant6SwitchV<\\/USR><Declaration>public struct Switch<\\/Declaration><CommentParts><Abstract><Para>Describes a parameterless command line flag that defaults to false and can only be switched on. Canonical examples include <codeVoice>--force<\\/codeVoice> and <codeVoice>--recurse<\\/codeVoice>.<\\/Para><\\/Abstract><Discussion><Para>For a boolean toggle that can be enabled and disabled use <codeVoice>Option&lt;Bool&gt;<\\/codeVoice>.<\\/Para><\\/Discussion><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 13,\n+        "key.doc.name" : "Switch",\n+        "key.doc.type" : "Class",\n+        "key.elements" : [\n+          {\n+            "key.kind" : "source.lang.swift.structure.elem.typeref",\n+            "key.length" : 23,\n+            "key.offset" : 1142\n+          }\n+        ],\n+        "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>struct<\\/syntaxtype.keyword> <decl.name>Switch<\\/decl.name><\\/decl.struct>",\n+        "key.inheritedtypes" : [\n+          {\n+            "key.name" : "CustomStringConvertible"\n+          }\n+        ],\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 184,\n+        "key.name" : "Switch",\n+        "key.namelength" : 6,\n+        "key.nameoffset" : 1134,\n+        "key.offset" : 1124,\n+        "key.parsed_declaration" : "extension Switch: CustomStringConvertible",\n+        "key.parsed_scope.end" : 44,\n+        "key.parsed_scope.start" : 36,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public var description: <Type usr=\\"s:SS\\">String<\\/Type> { get }<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1169\n+              }\n+            ],\n+            "key.bodylength" : 104,\n+            "key.bodyoffset" : 1201,\n+            "key.doc.declaration" : "var description: String { get }",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the `String(describing:)` initializer. This initializer works with any type, and uses the custom `description` property for types that conform to `CustomStringConvertible`:"\n+              },\n+              {\n+                "CodeListing" : ""\n+              },\n+              {\n+                "Para" : "The conversion of `p` to a string in the assignment to `s` uses the `Point` type’s `description` property."\n+              },\n+              {\n+                "Note" : ""\n+              }\n+            ],\n+            "key.doc.full_as_xml" : "<Other><Name>description<\\/Name><USR>s:s23CustomStringConvertibleP11descriptionSSvp<\\/USR><Declaration>var description: String { get }<\\/Declaration><CommentParts><Abstract><Para>A textual representation of this instance.<\\/Para><\\/Abstract><Discussion><Para>Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the <codeVoice>String(describing:)<\\/codeVoice> initializer. This initializer works with any type, and uses the custom <codeVoice>description<\\/codeVoice> property for types that conform to <codeVoice>CustomStringConvertible<\\/codeVoice>:<\\/Para><CodeListing language=\\"swift\\"><zCodeLineNumbered><![CDATA[struct Point: CustomStringConvertible {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    let x: Int, y: Int]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    var description: String {]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[        return \\"(\\\\(x), \\\\(y))\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[    }]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[}]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let p = Point(x: 21, y: 30)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[let s = String(describing: p)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[print(s)]]><\\/zCodeLineNumbered><zCodeLineNumbered><![CDATA[\\/\\/ Prints \\"(21, 30)\\"]]><\\/zCodeLineNumbered><zCodeLineNumbered><\\/zCodeLineNumbered><\\/CodeListing><Para>The conversion of <codeVoice>p<\\/codeVoice> to a string in the assignment to <codeVoice>s<\\/codeVoice> uses the <codeVoice>Point<\\/codeVoice> type’s <codeVoice>description<\\/codeVoice> property.<\\/Para><Note><Para>This documentation comment was inherited from <codeVoice>CustomStringConvertible<\\/codeVoice>.<\\/Para><\\/Note><\\/Discussion><\\/CommentParts><\\/Other>",\n+            "key.doc.name" : "description",\n+            "key.doc.type" : "Other",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.instance><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>description<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type> { <syntaxtype.keyword>get<\\/syntaxtype.keyword> }<\\/decl.var.instance>",\n+            "key.kind" : "source.lang.swift.decl.var.instance",\n+            "key.length" : 130,\n+            "key.name" : "description",\n+            "key.namelength" : 11,\n+            "key.nameoffset" : 1180,\n+            "key.offset" : 1176,\n+            "key.overrides" : [\n+              {\n+                "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+              }\n+            ],\n+            "key.parsed_declaration" : "public var description: String",\n+            "key.parsed_scope.end" : 43,\n+            "key.parsed_scope.start" : 37,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:s23CustomStringConvertibleP11descriptionSSvp"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>var options: <Type usr=\\"s:SS\\">String<\\/Type><\\/Declaration>",\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.var.local><syntaxtype.keyword>var<\\/syntaxtype.keyword> <decl.name>options<\\/decl.name>: <decl.var.type><ref.struct usr=\\"s:SS\\">String<\\/ref.struct><\\/decl.var.type><\\/decl.var.local>",\n+            "key.kind" : "source.lang.swift.decl.var.local",\n+            "key.length" : 24,\n+            "key.name" : "options",\n+            "key.namelength" : 7,\n+            "key.nameoffset" : 1208,\n+            "key.offset" : 1204,\n+            "key.parsed_declaration" : "var options = \\"--\\\\(key)\\"",\n+            "key.parsed_scope.end" : 38,\n+            "key.parsed_scope.start" : 38,\n+            "key.typename" : "String",\n+            "key.typeusr" : "$sSSD",\n+            "key.usr" : "s:10Commandant6SwitchV11descriptionSSvg7optionsL_SSvp"\n+          }\n+        ],\n+        "key.typename" : "Switch.Type",\n+        "key.typeusr" : "$s10Commandant6SwitchVmD",\n+        "key.usr" : "s:10Commandant6SwitchV"\n+      },\n+      {\n+        "key.kind" : "source.lang.swift.syntaxtype.comment.mark",\n+        "key.length" : 17,\n+        "key.name" : "MARK: - Operators",\n+        "key.namelength" : 0,\n+        "key.nameoffset" : 0,\n+        "key.offset" : 1313\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>public enum CommandMode<\\/Declaration>",\n+        "key.bodylength" : 650,\n+        "key.bodyoffset" : 1355,\n+        "key.doc.column" : 13,\n+        "key.doc.declaration" : "public enum CommandMode",\n+        "key.doc.file" : "Sources\\/Commandant\\/Command.swift",\n+        "key.doc.full_as_xml" : "<Other file=\\"Sources\\/Commandant\\/Command.swift\\" line=\\"68\\" column=\\"13\\"><Name>CommandMode<\\/Name><USR>s:10Commandant11CommandModeO<\\/USR><Declaration>public enum CommandMode<\\/Declaration><CommentParts><Abstract><Para>Describes the “mode” in which a command should run.<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+        "key.doc.line" : 68,\n+        "key.doc.name" : "CommandMode",\n+        "key.doc.type" : "Other",\n+        "key.filepath" : "Sources\\/Commandant\\/Command.swift",\n+        "key.fully_annotated_decl" : "<decl.enum><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>enum<\\/syntaxtype.keyword> <decl.name>CommandMode<\\/decl.name><\\/decl.enum>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 674,\n+        "key.name" : "CommandMode",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 1342,\n+        "key.offset" : 1332,\n+        "key.parsed_declaration" : "extension CommandMode",\n+        "key.parsed_scope.end" : 67,\n+        "key.parsed_scope.start" : 48,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.public",\n+            "key.annotated_decl" : "<Declaration>public static func &lt;| &lt;ClientError&gt;(mode: <Type usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/Type>, option: <Type usr=\\"s:10Commandant6SwitchV\\">Switch<\\/Type>) -&gt; <Type usr=\\"s:s6ResultO\\">Result<\\/Type>&lt;<Type usr=\\"s:Sb\\">Bool<\\/Type>, <Type usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/Type>&lt;<Type usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/Type>&gt;&gt;<\\/Declaration>",\n+            "key.attributes" : [\n+              {\n+                "key.attribute" : "source.decl.attribute.public",\n+                "key.length" : 6,\n+                "key.offset" : 1551\n+              }\n+            ],\n+            "key.bodylength" : 333,\n+            "key.bodyoffset" : 1670,\n+            "key.doc.column" : 21,\n+            "key.doc.comment" : "Evaluates the given boolean switch in the given mode.\\n\\nIf parsing command line arguments, and no value was specified on the command\\nline, the option\'s `defaultValue` is used.",\n+            "key.doc.declaration" : "public static func <| <ClientError>(mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.doc.discussion" : [\n+              {\n+                "Para" : "If parsing command line arguments, and no value was specified on the command line, the option’s `defaultValue` is used."\n+              }\n+            ],\n+            "key.doc.file" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Sources\\/Commandant\\/Switch.swift\\" line=\\"53\\" column=\\"21\\"><Name>&lt;|(_:_:)<\\/Name><USR>s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ<\\/USR><Declaration>public static func &lt;| &lt;ClientError&gt;(mode: CommandMode, option: Switch) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/Declaration><CommentParts><Abstract><Para>Evaluates the given boolean switch in the given mode.<\\/Para><\\/Abstract><Discussion><Para>If parsing command line arguments, and no value was specified on the command line, the option’s <codeVoice>defaultValue<\\/codeVoice> is used.<\\/Para><\\/Discussion><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 53,\n+            "key.doc.name" : "<|(_:_:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 193,\n+            "key.docoffset" : 1357,\n+            "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+            "key.fully_annotated_decl" : "<decl.function.operator.infix><syntaxtype.keyword>public<\\/syntaxtype.keyword> <syntaxtype.keyword>static<\\/syntaxtype.keyword> <syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>&lt;| <\\/decl.name>&lt;<decl.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\"><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>&gt;(<decl.var.parameter><decl.var.parameter.name>mode<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.enum usr=\\"s:10Commandant11CommandModeO\\">CommandMode<\\/ref.enum><\\/decl.var.parameter.type><\\/decl.var.parameter>, <decl.var.parameter><decl.var.parameter.name>option<\\/decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\\"s:10Commandant6SwitchV\\">Switch<\\/ref.struct><\\/decl.var.parameter.type><\\/decl.var.parameter>) -&gt; <decl.function.returntype><ref.enum usr=\\"s:s6ResultO\\">Result<\\/ref.enum>&lt;<ref.struct usr=\\"s:Sb\\">Bool<\\/ref.struct>, <ref.enum usr=\\"s:10Commandant0A5ErrorO\\">CommandantError<\\/ref.enum>&lt;<ref.generic_type_param usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp\\">ClientError<\\/ref.generic_type_param>&gt;&gt;<\\/decl.function.returntype><\\/decl.function.operator.infix>",\n+            "key.kind" : "source.lang.swift.decl.function.method.static",\n+            "key.length" : 446,\n+            "key.name" : "<|(_:_:)",\n+            "key.namelength" : 52,\n+            "key.nameoffset" : 1570,\n+            "key.offset" : 1558,\n+            "key.parsed_declaration" : "public static func <| <ClientError> (mode: CommandMode, option: Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.parsed_scope.end" : 66,\n+            "key.parsed_scope.start" : 53,\n+            "key.related_decls" : [\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA8ArgumentVyxGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA8ArgumentVyAGGtAA0G8ProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Argument&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxAA0A5ErrorOyq_GGAC_AA6OptionVyxGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T&gt;) -&gt; Result&lt;T, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOyxSgAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;T?&gt;) -&gt; Result&lt;T?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGAA0A5ErrorOyq_GGAC_AA6OptionVyAGGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]&gt;) -&gt; Result&lt;[T], CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySayxGSgAA0A5ErrorOyq_GGAC_AA6OptionVyAHGtAA16ArgumentProtocolRzr0_lFZ\\">&lt;| &lt;T, ClientError&gt;(_: CommandMode, _: Option&lt;[T]?&gt;) -&gt; Result&lt;[T]?, CommandantError&lt;ClientError&gt;&gt; where T : ArgumentProtocol<\\/RelatedName>"\n+              },\n+              {\n+                "key.annotated_decl" : "<RelatedName usr=\\"s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6OptionVySbGtlFZ\\">&lt;| &lt;ClientError&gt;(_: CommandMode, _: Option&lt;Bool&gt;) -&gt; Result&lt;Bool, CommandantError&lt;ClientError&gt;&gt;<\\/RelatedName>"\n+              }\n+            ],\n+            "key.substructure" : [\n+              {\n+                "key.annotated_decl" : "<Declaration>ClientError<\\/Declaration>",\n+                "key.filepath" : "Sources\\/Commandant\\/Switch.swift",\n+                "key.fully_annotated_decl" : "<decl.generic_type_param><decl.generic_type_param.name>ClientError<\\/decl.generic_type_param.name><\\/decl.generic_type_param>",\n+                "key.kind" : "source.lang.swift.decl.generic_type_param",\n+                "key.length" : 11,\n+                "key.name" : "ClientError",\n+                "key.namelength" : 11,\n+                "key.nameoffset" : 1574,\n+                "key.offset" : 1574,\n+                "key.parsed_declaration" : "public static func <| <ClientError",\n+                "key.parsed_scope.end" : 53,\n+                "key.parsed_scope.start" : 53,\n+                "key.typename" : "ClientError.Type",\n+                "key.typeusr" : "$sxmD",\n+                "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ06ClientF0L_xmfp"\n+              }\n+            ],\n+            "key.typename" : "<ClientError> (CommandMode.Type) -> (CommandMode, Switch) -> Result<Bool, CommandantError<ClientError>>",\n+            "key.typeusr" : "$sys6ResultOySb10Commandant0B5ErrorOyxGGAC11CommandModeO_AC6SwitchVtcluD",\n+            "key.usr" : "s:10Commandant11CommandModeO2looiys6ResultOySbAA0A5ErrorOyxGGAC_AA6SwitchVtlFZ"\n+          }\n+        ],\n+        "key.typename" : "CommandMode.Type",\n+        "key.typeusr" : "$s10Commandant11CommandModeOmD",\n+        "key.usr" : "s:10Commandant11CommandModeO"\n+      }\n+    ]\n+  }\n+}]\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/LinuxExtension@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxExtension@swift-5.3.json\nnew file mode 100644\nindex 0000000..86cc1bb\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxExtension@swift-5.3.json\n@@ -0,0 +1,306 @@\n+{\n+  "Extension.swift" : {\n+    "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",\n+    "key.length" : 504,\n+    "key.offset" : 0,\n+    "key.substructure" : [\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>class Base<\\/Declaration>",\n+        "key.bodylength" : 166,\n+        "key.bodyoffset" : 29,\n+        "key.doc.column" : 7,\n+        "key.doc.comment" : "Doc for Base",\n+        "key.doc.declaration" : "class Base",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"2\\" column=\\"7\\"><Name>Base<\\/Name><USR>s:9Extension4BaseC<\\/USR><Declaration>class Base<\\/Declaration><CommentParts><Abstract><Para>Doc for Base<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "Base",\n+        "key.doc.type" : "Class",\n+        "key.doclength" : 17,\n+        "key.docoffset" : 0,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Base<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 179,\n+        "key.name" : "Base",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 23,\n+        "key.offset" : 17,\n+        "key.parsed_declaration" : "class Base",\n+        "key.parsed_scope.end" : 14,\n+        "key.parsed_scope.start" : 2,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>typealias <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Index = <Type usr=\\"s:Si\\">Int<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Doc for Base.Index",\n+            "key.doc.declaration" : "typealias Extension.Base.Index = Int",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Extension.swift\\" line=\\"5\\" column=\\"15\\"><Name>Index<\\/Name><USR>s:9Extension4BaseC5Indexa<\\/USR><Declaration>typealias Extension.Base.Index = Int<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Index<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 5,\n+            "key.doc.name" : "Index",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 23,\n+            "key.docoffset" : 35,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Index<\\/decl.name> = <ref.struct usr=\\"s:Si\\">Int<\\/ref.struct><\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 21,\n+            "key.name" : "Index",\n+            "key.namelength" : 5,\n+            "key.nameoffset" : 72,\n+            "key.offset" : 62,\n+            "key.parsed_declaration" : "typealias Index = Int",\n+            "key.parsed_scope.end" : 5,\n+            "key.parsed_scope.start" : 5,\n+            "key.typename" : "Int.Type",\n+            "key.typeusr" : "$sSimD",\n+            "key.usr" : "s:9Extension4BaseC5Indexa"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>func f(index: <Type usr=\\"s:9Extension4BaseC5Indexa\\">Index<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 134,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Doc for Base.f",\n+            "key.doc.declaration" : "func f(index: Index)",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Extension.swift\\" line=\\"8\\" column=\\"10\\"><Name>f(index:)<\\/Name><USR>s:9Extension4BaseC1f5indexySi_tF<\\/USR><Declaration>func f(index: Index)<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.f<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 8,\n+            "key.doc.name" : "f(index:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 19,\n+            "key.docoffset" : 89,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>f<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>index<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.typealias usr=\\"s:9Extension4BaseC5Indexa\\">Index<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 28,\n+            "key.name" : "f(index:)",\n+            "key.namelength" : 15,\n+            "key.nameoffset" : 117,\n+            "key.offset" : 112,\n+            "key.parsed_declaration" : "func f(index: Index)",\n+            "key.parsed_scope.end" : 9,\n+            "key.parsed_scope.start" : 8,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Base) -> (Int) -> ()",\n+            "key.typeusr" : "$s5indexySi_tcD",\n+            "key.usr" : "s:9Extension4BaseC1f5indexySi_tF"\n+          },\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>class <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Nested<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 188,\n+            "key.doc.column" : 11,\n+            "key.doc.comment" : "Doc for Base.Nested",\n+            "key.doc.declaration" : "class Extension.Base.Nested",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"12\\" column=\\"11\\"><Name>Nested<\\/Name><USR>s:9Extension4BaseC6NestedC<\\/USR><Declaration>class Extension.Base.Nested<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Nested<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+            "key.doc.line" : 12,\n+            "key.doc.name" : "Nested",\n+            "key.doc.type" : "Class",\n+            "key.doclength" : 24,\n+            "key.docoffset" : 146,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Nested<\\/decl.name><\\/decl.class>",\n+            "key.kind" : "source.lang.swift.decl.class",\n+            "key.length" : 20,\n+            "key.name" : "Nested",\n+            "key.namelength" : 6,\n+            "key.nameoffset" : 180,\n+            "key.offset" : 174,\n+            "key.parsed_declaration" : "class Nested",\n+            "key.parsed_scope.end" : 13,\n+            "key.parsed_scope.start" : 12,\n+            "key.typename" : "Base.Nested.Type",\n+            "key.typeusr" : "$s9Extension4BaseC6NestedCmD",\n+            "key.usr" : "s:9Extension4BaseC6NestedC"\n+          }\n+        ],\n+        "key.typename" : "Base.Type",\n+        "key.typeusr" : "$s9Extension4BaseCmD",\n+        "key.usr" : "s:9Extension4BaseC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>class Base<\\/Declaration>",\n+        "key.bodylength" : 155,\n+        "key.bodyoffset" : 214,\n+        "key.doc.column" : 7,\n+        "key.doc.declaration" : "class Base",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"2\\" column=\\"7\\"><Name>Base<\\/Name><USR>s:9Extension4BaseC<\\/USR><Declaration>class Base<\\/Declaration><CommentParts><Abstract><Para>Doc for Base<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 2,\n+        "key.doc.name" : "Base",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>Base<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 172,\n+        "key.name" : "Base",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 208,\n+        "key.offset" : 198,\n+        "key.parsed_declaration" : "extension Base",\n+        "key.parsed_scope.end" : 24,\n+        "key.parsed_scope.start" : 16,\n+        "key.substructure" : [\n+          {\n+            "key.annotated_decl" : "<Declaration>typealias ExtendedIndex = <Type usr=\\"s:Sd\\">Double<\\/Type><\\/Declaration>",\n+            "key.doc.column" : 15,\n+            "key.doc.comment" : "Doc for Base.ExtendedIndex",\n+            "key.doc.declaration" : "typealias ExtendedIndex = Double",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Other file=\\"Extension.swift\\" line=\\"19\\" column=\\"15\\"><Name>ExtendedIndex<\\/Name><USR>s:9Extension4BaseC13ExtendedIndexa<\\/USR><Declaration>typealias ExtendedIndex = Double<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.ExtendedIndex<\\/Para><\\/Abstract><\\/CommentParts><\\/Other>",\n+            "key.doc.line" : 19,\n+            "key.doc.name" : "ExtendedIndex",\n+            "key.doc.type" : "Other",\n+            "key.doclength" : 31,\n+            "key.docoffset" : 220,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.typealias><syntaxtype.keyword>typealias<\\/syntaxtype.keyword> <decl.name>ExtendedIndex<\\/decl.name> = <ref.struct usr=\\"s:Sd\\">Double<\\/ref.struct><\\/decl.typealias>",\n+            "key.kind" : "source.lang.swift.decl.typealias",\n+            "key.length" : 32,\n+            "key.name" : "ExtendedIndex",\n+            "key.namelength" : 13,\n+            "key.nameoffset" : 265,\n+            "key.offset" : 255,\n+            "key.parsed_declaration" : "typealias ExtendedIndex = Double",\n+            "key.parsed_scope.end" : 19,\n+            "key.parsed_scope.start" : 19,\n+            "key.typename" : "Double.Type",\n+            "key.typeusr" : "$sSdmD",\n+            "key.usr" : "s:9Extension4BaseC13ExtendedIndexa"\n+          },\n+          {\n+            "key.annotated_decl" : "<Declaration>func extendedF(index: <Type usr=\\"s:9Extension4BaseC13ExtendedIndexa\\">ExtendedIndex<\\/Type>)<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 362,\n+            "key.doc.column" : 10,\n+            "key.doc.comment" : "Doc for Base.extendedF",\n+            "key.doc.declaration" : "func extendedF(index: ExtendedIndex)",\n+            "key.doc.file" : "Extension.swift",\n+            "key.doc.full_as_xml" : "<Function file=\\"Extension.swift\\" line=\\"22\\" column=\\"10\\"><Name>extendedF(index:)<\\/Name><USR>s:9Extension4BaseC9extendedF5indexySd_tF<\\/USR><Declaration>func extendedF(index: ExtendedIndex)<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.extendedF<\\/Para><\\/Abstract><\\/CommentParts><\\/Function>",\n+            "key.doc.line" : 22,\n+            "key.doc.name" : "extendedF(index:)",\n+            "key.doc.type" : "Function",\n+            "key.doclength" : 27,\n+            "key.docoffset" : 293,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.function.method.instance><syntaxtype.keyword>func<\\/syntaxtype.keyword> <decl.name>extendedF<\\/decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>index<\\/decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.typealias usr=\\"s:9Extension4BaseC13ExtendedIndexa\\">ExtendedIndex<\\/ref.typealias><\\/decl.var.parameter.type><\\/decl.var.parameter>)<\\/decl.function.method.instance>",\n+            "key.kind" : "source.lang.swift.decl.function.method.instance",\n+            "key.length" : 44,\n+            "key.name" : "extendedF(index:)",\n+            "key.namelength" : 31,\n+            "key.nameoffset" : 329,\n+            "key.offset" : 324,\n+            "key.parsed_declaration" : "func extendedF(index: ExtendedIndex)",\n+            "key.parsed_scope.end" : 23,\n+            "key.parsed_scope.start" : 22,\n+            "key.substructure" : [\n+\n+            ],\n+            "key.typename" : "(Base) -> (Double) -> ()",\n+            "key.typeusr" : "$s5indexySd_tcD",\n+            "key.usr" : "s:9Extension4BaseC9extendedF5indexySd_tF"\n+          }\n+        ],\n+        "key.typename" : "Base.Type",\n+        "key.typeusr" : "$s9Extension4BaseCmD",\n+        "key.usr" : "s:9Extension4BaseC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>class <Type usr=\\"s:9Extension4BaseC\\">Base<\\/Type>.Nested<\\/Declaration>",\n+        "key.bodylength" : 1,\n+        "key.bodyoffset" : 436,\n+        "key.doc.column" : 11,\n+        "key.doc.declaration" : "class Extension.Base.Nested",\n+        "key.doc.file" : "Extension.swift",\n+        "key.doc.full_as_xml" : "<Class file=\\"Extension.swift\\" line=\\"12\\" column=\\"11\\"><Name>Nested<\\/Name><USR>s:9Extension4BaseC6NestedC<\\/USR><Declaration>class Extension.Base.Nested<\\/Declaration><CommentParts><Abstract><Para>Doc for Base.Nested<\\/Para><\\/Abstract><\\/CommentParts><\\/Class>",\n+        "key.doc.line" : 12,\n+        "key.doc.name" : "Nested",\n+        "key.doc.type" : "Class",\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension4BaseC\\">Base<\\/ref.class>.<decl.name>Nested<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 25,\n+        "key.name" : "Base.Nested",\n+        "key.namelength" : 11,\n+        "key.nameoffset" : 423,\n+        "key.offset" : 413,\n+        "key.parsed_declaration" : "extension Base.Nested",\n+        "key.parsed_scope.end" : 29,\n+        "key.parsed_scope.start" : 28,\n+        "key.typename" : "Base.Nested.Type",\n+        "key.typeusr" : "$s9Extension4BaseC6NestedCmD",\n+        "key.usr" : "s:9Extension4BaseC6NestedC"\n+      },\n+      {\n+        "key.accessibility" : "source.lang.swift.accessibility.internal",\n+        "key.annotated_decl" : "<Declaration>class 🐽<\\/Declaration>",\n+        "key.bodylength" : 25,\n+        "key.bodyoffset" : 452,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.class><syntaxtype.keyword>class<\\/syntaxtype.keyword> <decl.name>🐽<\\/decl.name><\\/decl.class>",\n+        "key.kind" : "source.lang.swift.decl.class",\n+        "key.length" : 38,\n+        "key.name" : "🐽",\n+        "key.namelength" : 4,\n+        "key.nameoffset" : 446,\n+        "key.offset" : 440,\n+        "key.parsed_declaration" : "class 🐽",\n+        "key.parsed_scope.end" : 34,\n+        "key.parsed_scope.start" : 31,\n+        "key.substructure" : [\n+          {\n+            "key.accessibility" : "source.lang.swift.accessibility.internal",\n+            "key.annotated_decl" : "<Declaration>struct <Type usr=\\"s:9Extension004ipIhC\\">🐽<\\/Type>.🐧<\\/Declaration>",\n+            "key.bodylength" : 5,\n+            "key.bodyoffset" : 470,\n+            "key.filepath" : "Extension.swift",\n+            "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>struct<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension004ipIhC\\">🐽<\\/ref.class>.<decl.name>🐧<\\/decl.name><\\/decl.struct>",\n+            "key.kind" : "source.lang.swift.decl.struct",\n+            "key.length" : 19,\n+            "key.name" : "🐧",\n+            "key.namelength" : 4,\n+            "key.nameoffset" : 464,\n+            "key.offset" : 457,\n+            "key.parsed_declaration" : "struct 🐧",\n+            "key.parsed_scope.end" : 33,\n+            "key.parsed_scope.start" : 32,\n+            "key.typename" : "🐽.🐧.Type",\n+            "key.typeusr" : "$s9Extension004ipIhC004voIhVmD",\n+            "key.usr" : "s:9Extension004ipIhC004voIhV"\n+          }\n+        ],\n+        "key.typename" : "🐽.Type",\n+        "key.typeusr" : "$s9Extension004ipIhCmD",\n+        "key.usr" : "s:9Extension004ipIhC"\n+      },\n+      {\n+        "key.annotated_decl" : "<Declaration>struct <Type usr=\\"s:9Extension004ipIhC\\">🐽<\\/Type>.🐧<\\/Declaration>",\n+        "key.bodylength" : 1,\n+        "key.bodyoffset" : 501,\n+        "key.filepath" : "Extension.swift",\n+        "key.fully_annotated_decl" : "<decl.struct><syntaxtype.keyword>struct<\\/syntaxtype.keyword> <ref.class usr=\\"s:9Extension004ipIhC\\">🐽<\\/ref.class>.<decl.name>🐧<\\/decl.name><\\/decl.struct>",\n+        "key.kind" : "source.lang.swift.decl.extension",\n+        "key.length" : 23,\n+        "key.name" : "🐽.🐧",\n+        "key.namelength" : 9,\n+        "key.nameoffset" : 490,\n+        "key.offset" : 480,\n+        "key.parsed_declaration" : "extension 🐽.🐧",\n+        "key.parsed_scope.end" : 37,\n+        "key.parsed_scope.start" : 36,\n+        "key.typename" : "🐽.🐧.Type",\n+        "key.typeusr" : "$s9Extension004ipIhC004voIhVmD",\n+        "key.usr" : "s:9Extension004ipIhC004voIhV"\n+      }\n+    ]\n+  }\n+}\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/LinuxSimpleCodeCompletion@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxSimpleCodeCompletion@swift-5.3.json\nnew file mode 100644\nindex 0000000..cd92184\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/LinuxSimpleCodeCompletion@swift-5.3.json\n@@ -0,0 +1,317 @@\n+[{\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "self",\n+  "kind" : "source.lang.swift.keyword",\n+  "name" : "self",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "self",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si24dividedReportingOverflow2bySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP24dividedReportingOverflow2byx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "dividedReportingOverflow(by: Int)",\n+  "docBrief" : "Returns the quotient obtained by dividing this value by the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "dividedReportingOverflow(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "dividedReportingOverflow(by: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si26remainderReportingOverflow10dividingBySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP26remainderReportingOverflow10dividingByx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "remainderReportingOverflow(dividingBy: Int)",\n+  "docBrief" : "Returns the remainder after dividing this value by the given value, along with a Boolean value indicating whether overflow occurred during division.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "remainderReportingOverflow(dividingBy:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "remainderReportingOverflow(dividingBy: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si23addingReportingOverflowySi12partialValue_Sb8overflowtSiF s:s17FixedWidthIntegerP23addingReportingOverflowyx12partialValue_Sb8overflowtxF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "addingReportingOverflow(other: Int)",\n+  "docBrief" : "Returns the sum of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "addingReportingOverflow(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "addingReportingOverflow(<#T##other: Int##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si28subtractingReportingOverflowySi12partialValue_Sb8overflowtSiF s:s17FixedWidthIntegerP28subtractingReportingOverflowyx12partialValue_Sb8overflowtxF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "subtractingReportingOverflow(other: Int)",\n+  "docBrief" : "Returns the difference obtained by subtracting the given value from this value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "subtractingReportingOverflow(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "subtractingReportingOverflow(<#T##other: Int##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si27multipliedReportingOverflow2bySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP27multipliedReportingOverflow2byx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "multipliedReportingOverflow(by: Int)",\n+  "docBrief" : "Returns the product of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "multipliedReportingOverflow(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "multipliedReportingOverflow(by: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si19leadingZeroBitCountSivp s:s17FixedWidthIntegerP19leadingZeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "leadingZeroBitCount",\n+  "docBrief" : "The number of leading zeros in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "leadingZeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "leadingZeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si20trailingZeroBitCountSivp s:Sz20trailingZeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "trailingZeroBitCount",\n+  "docBrief" : "The number of trailing zeros in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "trailingZeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "trailingZeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si15nonzeroBitCountSivp s:s17FixedWidthIntegerP15nonzeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "nonzeroBitCount",\n+  "docBrief" : "The number of bits equal to 1 in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "nonzeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "nonzeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si5wordsSi5WordsVvp s:Sz5words5WordsQzvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "words",\n+  "docBrief" : "A collection containing the words of this value’s binary representation, in order from the least significant to most significant.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "words",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "words",\n+  "typeName" : "Int.Words"\n+}, {\n+  "associatedUSRs" : "s:Si9magnitudeSuvp s:Sj9magnitude9MagnitudeQzvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "magnitude",\n+  "docBrief" : "The magnitude of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "magnitude",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "magnitude",\n+  "typeName" : "UInt"\n+}, {\n+  "associatedUSRs" : "s:Si19multipliedFullWidth2bySi4high_Su3lowtSi_tF s:s17FixedWidthIntegerP014multipliedFullB02byx4high_9MagnitudeQz3lowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "multipliedFullWidth(by: Int)",\n+  "docBrief" : "Returns a tuple containing the high and low parts of the result of multiplying this value by the given value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "multipliedFullWidth(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "multipliedFullWidth(by: <#T##Int#>)",\n+  "typeName" : "(high: Int, low: Int.Magnitude)"\n+}, {\n+  "associatedUSRs" : "s:Si17dividingFullWidthySi8quotient_Si9remaindertSi4high_Su3lowt_tF s:s17FixedWidthIntegerP012dividingFullB0yx8quotient_x9remaindertx4high_9MagnitudeQz3lowt_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "dividingFullWidth(dividend: (high: Int, low: Int.Magnitude))",\n+  "docBrief" : "Returns a tuple containing the quotient and remainder of dividing the given value by this value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "dividingFullWidth(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "dividingFullWidth(<#T##dividend: (high: Int, low: Int.Magnitude)##(high: Int, low: Int.Magnitude)#>)",\n+  "typeName" : "(quotient: Int, remainder: Int)"\n+}, {\n+  "associatedUSRs" : "s:Si11byteSwappedSivp s:s17FixedWidthIntegerP11byteSwappedxvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "byteSwapped",\n+  "docBrief" : "A representation of this integer with the byte order swapped.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "byteSwapped",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "byteSwapped",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si6signumSiyF s:Sz6signumxyF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "signum()",\n+  "docBrief" : "Returns -1 if this value is negative and 1 if it’s positive; otherwise, 0.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "signum()",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "signum()",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si6encode2toys7Encoder_p_tKF s:SE6encode2toys7Encoder_p_tKF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "encode(to: Encoder) throws",\n+  "docBrief" : "Encodes this value into the given encoder.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "encode(to:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "encode(to: <#T##Encoder#>)",\n+  "typeName" : "Void"\n+}, {\n+  "associatedUSRs" : "s:Si12customMirrors0B0Vvp s:s17CustomReflectableP12customMirrors0D0Vvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "customMirror",\n+  "docBrief" : "A mirror that reflects the Int instance.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "customMirror",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "customMirror",\n+  "typeName" : "Mirror"\n+}, {\n+  "associatedUSRs" : "s:Si25customPlaygroundQuickLooks01_bcD0Ovp s:s30_CustomPlaygroundQuickLookableP06custombC4Looks01_bcF0Ovp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "customPlaygroundQuickLook",\n+  "docBrief" : "A custom playground Quick Look for the Int instance.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "customPlaygroundQuickLook",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "customPlaygroundQuickLook",\n+  "typeName" : "_PlaygroundQuickLook"\n+}, {\n+  "associatedUSRs" : "s:Si4hash4intoys6HasherVz_tF s:SH4hash4intoys6HasherVz_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "hash(into: &Hasher)",\n+  "docBrief" : "Hashes the essential components of this value by feeding them into the given hasher.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "hash(into:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "hash(into: &<#T##Hasher#>)",\n+  "typeName" : "Void"\n+}, {\n+  "associatedUSRs" : "s:Si9hashValueSivp s:SH9hashValueSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "hashValue",\n+  "docBrief" : "The hash value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "hashValue",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "hashValue",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si8distance2toS2i_tF s:Sx8distance2to6StrideQzx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "distance(to: Int)",\n+  "docBrief" : "Returns the distance from this value to the given value, expressed as a stride.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "distance(to:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "distance(to: <#T##Int#>)",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si8advanced2byS2i_tF s:Sx8advanced2byx6StrideQz_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "advanced(by: Int)",\n+  "docBrief" : "Returns a value that is offset the specified distance from this value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "advanced(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "advanced(by: <#T##Int#>)",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE03bitB0Sivp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "bitWidth",\n+  "docBrief" : "The number of bits in the binary representation of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "bitWidth",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "bitWidth",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE12littleEndianxvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "littleEndian",\n+  "docBrief" : "The little-endian representation of this integer.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "littleEndian",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "littleEndian",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE9bigEndianxvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "bigEndian",\n+  "docBrief" : "The big-endian representation of this integer.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "bigEndian",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "bigEndian",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:SZss17FixedWidthIntegerRzrlE10isMultiple2ofSbx_tF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "isMultiple(of: Int)",\n+  "docBrief" : "Returns true if this value is a multiple of the given value, and false otherwise.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "isMultiple(of:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "isMultiple(of: <#T##Int#>)",\n+  "typeName" : "Bool"\n+}, {\n+  "associatedUSRs" : "s:SzsE20quotientAndRemainder10dividingByx0A0_x9remaindertx_tF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "quotientAndRemainder(dividingBy: Int)",\n+  "docBrief" : "Returns the quotient and remainder of this value divided by the given value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "quotientAndRemainder(dividingBy:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "quotientAndRemainder(dividingBy: <#T##Int#>)",\n+  "typeName" : "(quotient: Int, remainder: Int)"\n+}, {\n+  "associatedUSRs" : "s:SzsE11descriptionSSvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "description",\n+  "docBrief" : "A textual representation of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "description",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "description",\n+  "typeName" : "String"\n+}, {\n+  "associatedUSRs" : "s:s13SignedNumericPsE6negateyyF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "negate()",\n+  "docBrief" : "Replaces this value with its additive inverse.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "negate()",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "negate()",\n+  "typeName" : "Void"\n+}]\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/Fixtures/SimpleCodeCompletion@swift-5.3.json b/Tests/SourceKittenFrameworkTests/Fixtures/SimpleCodeCompletion@swift-5.3.json\nnew file mode 100644\nindex 0000000..b694c3d\n--- /dev/null\n+++ b/Tests/SourceKittenFrameworkTests/Fixtures/SimpleCodeCompletion@swift-5.3.json\n@@ -0,0 +1,317 @@\n+[{\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "self",\n+  "kind" : "source.lang.swift.keyword",\n+  "name" : "self",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "self",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si24dividedReportingOverflow2bySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP24dividedReportingOverflow2byx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "dividedReportingOverflow(by: Int)",\n+  "docBrief" : "Returns the quotient obtained by dividing this value by the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "dividedReportingOverflow(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "dividedReportingOverflow(by: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si26remainderReportingOverflow10dividingBySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP26remainderReportingOverflow10dividingByx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "remainderReportingOverflow(dividingBy: Int)",\n+  "docBrief" : "Returns the remainder after dividing this value by the given value, along with a Boolean value indicating whether overflow occurred during division.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "remainderReportingOverflow(dividingBy:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "remainderReportingOverflow(dividingBy: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si23addingReportingOverflowySi12partialValue_Sb8overflowtSiF s:s17FixedWidthIntegerP23addingReportingOverflowyx12partialValue_Sb8overflowtxF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "addingReportingOverflow(other: Int)",\n+  "docBrief" : "Returns the sum of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "addingReportingOverflow(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "addingReportingOverflow(<#T##other: Int##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si28subtractingReportingOverflowySi12partialValue_Sb8overflowtSiF s:s17FixedWidthIntegerP28subtractingReportingOverflowyx12partialValue_Sb8overflowtxF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "subtractingReportingOverflow(other: Int)",\n+  "docBrief" : "Returns the difference obtained by subtracting the given value from this value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "subtractingReportingOverflow(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "subtractingReportingOverflow(<#T##other: Int##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si27multipliedReportingOverflow2bySi12partialValue_Sb8overflowtSi_tF s:s17FixedWidthIntegerP27multipliedReportingOverflow2byx12partialValue_Sb8overflowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "multipliedReportingOverflow(by: Int)",\n+  "docBrief" : "Returns the product of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "multipliedReportingOverflow(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "multipliedReportingOverflow(by: <#T##Int#>)",\n+  "typeName" : "(partialValue: Int, overflow: Bool)"\n+}, {\n+  "associatedUSRs" : "s:Si19leadingZeroBitCountSivp s:s17FixedWidthIntegerP19leadingZeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "leadingZeroBitCount",\n+  "docBrief" : "The number of leading zeros in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "leadingZeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "leadingZeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si20trailingZeroBitCountSivp s:Sz20trailingZeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "trailingZeroBitCount",\n+  "docBrief" : "The number of trailing zeros in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "trailingZeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "trailingZeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si15nonzeroBitCountSivp s:s17FixedWidthIntegerP15nonzeroBitCountSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "nonzeroBitCount",\n+  "docBrief" : "The number of bits equal to 1 in this value’s binary representation.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "nonzeroBitCount",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "nonzeroBitCount",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si5wordsSi5WordsVvp s:Sz5words5WordsQzvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "words",\n+  "docBrief" : "A collection containing the words of this value’s binary representation, in order from the least significant to most significant.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "words",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "words",\n+  "typeName" : "Int.Words"\n+}, {\n+  "associatedUSRs" : "s:Si9magnitudeSuvp s:Sj9magnitude9MagnitudeQzvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "magnitude",\n+  "docBrief" : "The magnitude of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "magnitude",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "magnitude",\n+  "typeName" : "UInt"\n+}, {\n+  "associatedUSRs" : "s:Si19multipliedFullWidth2bySi4high_Su3lowtSi_tF s:s17FixedWidthIntegerP014multipliedFullB02byx4high_9MagnitudeQz3lowtx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "multipliedFullWidth(by: Int)",\n+  "docBrief" : "Returns a tuple containing the high and low parts of the result of multiplying this value by the given value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "multipliedFullWidth(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "multipliedFullWidth(by: <#T##Int#>)",\n+  "typeName" : "(high: Int, low: Int.Magnitude)"\n+}, {\n+  "associatedUSRs" : "s:Si17dividingFullWidthySi8quotient_Si9remaindertSi4high_Su3lowt_tF s:s17FixedWidthIntegerP012dividingFullB0yx8quotient_x9remaindertx4high_9MagnitudeQz3lowt_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "dividingFullWidth(dividend: (high: Int, low: Int.Magnitude))",\n+  "docBrief" : "Returns a tuple containing the quotient and remainder of dividing the given value by this value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "dividingFullWidth(:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "dividingFullWidth(<#T##dividend: (high: Int, low: Int.Magnitude)##(high: Int, low: Int.Magnitude)#>)",\n+  "typeName" : "(quotient: Int, remainder: Int)"\n+}, {\n+  "associatedUSRs" : "s:Si11byteSwappedSivp s:s17FixedWidthIntegerP11byteSwappedxvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "byteSwapped",\n+  "docBrief" : "A representation of this integer with the byte order swapped.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "byteSwapped",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "byteSwapped",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si6signumSiyF s:Sz6signumxyF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "signum()",\n+  "docBrief" : "Returns -1 if this value is negative and 1 if it’s positive; otherwise, 0.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "signum()",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "signum()",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si6encode2toys7Encoder_p_tKF s:SE6encode2toys7Encoder_p_tKF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "encode(to: Encoder) throws",\n+  "docBrief" : "Encodes this value into the given encoder.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "encode(to:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "encode(to: <#T##Encoder#>)",\n+  "typeName" : "Void"\n+}, {\n+  "associatedUSRs" : "s:Si4hash4intoys6HasherVz_tF s:SH4hash4intoys6HasherVz_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "hash(into: &Hasher)",\n+  "docBrief" : "Hashes the essential components of this value by feeding them into the given hasher.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "hash(into:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "hash(into: &<#T##Hasher#>)",\n+  "typeName" : "Void"\n+}, {\n+  "associatedUSRs" : "s:Si9hashValueSivp s:SH9hashValueSivp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "hashValue",\n+  "docBrief" : "The hash value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "hashValue",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "hashValue",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si8distance2toS2i_tF s:Sx8distance2to6StrideQzx_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "distance(to: Int)",\n+  "docBrief" : "Returns the distance from this value to the given value, expressed as a stride.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "distance(to:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "distance(to: <#T##Int#>)",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si8advanced2byS2i_tF s:Sx8advanced2byx6StrideQz_tF",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "advanced(by: Int)",\n+  "docBrief" : "Returns a value that is offset the specified distance from this value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "advanced(by:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "advanced(by: <#T##Int#>)",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:Si12customMirrors0B0Vvp s:s17CustomReflectableP12customMirrors0D0Vvp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "customMirror",\n+  "docBrief" : "A mirror that reflects the Int instance.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "customMirror",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "customMirror",\n+  "typeName" : "Mirror"\n+}, {\n+  "associatedUSRs" : "s:Si25customPlaygroundQuickLooks01_bcD0Ovp s:s30_CustomPlaygroundQuickLookableP06custombC4Looks01_bcF0Ovp",\n+  "context" : "source.codecompletion.context.thisclass",\n+  "descriptionKey" : "customPlaygroundQuickLook",\n+  "docBrief" : "A custom playground Quick Look for the Int instance.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "customPlaygroundQuickLook",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "customPlaygroundQuickLook",\n+  "typeName" : "_PlaygroundQuickLook"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE03bitB0Sivp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "bitWidth",\n+  "docBrief" : "The number of bits in the binary representation of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "bitWidth",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "bitWidth",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE12littleEndianxvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "littleEndian",\n+  "docBrief" : "The little-endian representation of this integer.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "littleEndian",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "littleEndian",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:s17FixedWidthIntegerPsE9bigEndianxvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "bigEndian",\n+  "docBrief" : "The big-endian representation of this integer.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "bigEndian",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "bigEndian",\n+  "typeName" : "Int"\n+}, {\n+  "associatedUSRs" : "s:SZss17FixedWidthIntegerRzrlE10isMultiple2ofSbx_tF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "isMultiple(of: Int)",\n+  "docBrief" : "Returns true if this value is a multiple of the given value, and false otherwise.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "isMultiple(of:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "isMultiple(of: <#T##Int#>)",\n+  "typeName" : "Bool"\n+}, {\n+  "associatedUSRs" : "s:SzsE20quotientAndRemainder10dividingByx0A0_x9remaindertx_tF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "quotientAndRemainder(dividingBy: Int)",\n+  "docBrief" : "Returns the quotient and remainder of this value divided by the given value.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "quotientAndRemainder(dividingBy:)",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "quotientAndRemainder(dividingBy: <#T##Int#>)",\n+  "typeName" : "(quotient: Int, remainder: Int)"\n+}, {\n+  "associatedUSRs" : "s:SzsE11descriptionSSvp",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "description",\n+  "docBrief" : "A textual representation of this value.",\n+  "kind" : "source.lang.swift.decl.var.instance",\n+  "moduleName" : "Swift",\n+  "name" : "description",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "description",\n+  "typeName" : "String"\n+}, {\n+  "associatedUSRs" : "s:s13SignedNumericPsE6negateyyF",\n+  "context" : "source.codecompletion.context.superclass",\n+  "descriptionKey" : "negate()",\n+  "docBrief" : "Replaces this value with its additive inverse.",\n+  "kind" : "source.lang.swift.decl.function.method.instance",\n+  "moduleName" : "Swift",\n+  "name" : "negate()",\n+  "numBytesToErase" : 0,\n+  "sourcetext" : "negate()",\n+  "typeName" : "Void"\n+}]\n\\ No newline at end of file\ndiff --git a/Tests/SourceKittenFrameworkTests/StructureTests.swift b/Tests/SourceKittenFrameworkTests/StructureTests.swift\nindex 08ae048..afd7ae9 100644\n--- a/Tests/SourceKittenFrameworkTests/StructureTests.swift\n+++ b/Tests/SourceKittenFrameworkTests/StructureTests.swift\n@@ -75,6 +75,36 @@ class StructureTests: XCTestCase {\n \n     func testInheritedType() throws {\n         let structure = try Structure(file: File(contents: "class Foo: Bar {}"))\n+#if compiler(>=5.3)\n+        let expected: NSDictionary = [\n+            "key.substructure": [\n+                [\n+                    "key.kind": "source.lang.swift.decl.class",\n+                    "key.accessibility": "source.lang.swift.accessibility.internal",\n+                    "key.offset": 0,\n+                    "key.nameoffset": 6,\n+                    "key.namelength": 3,\n+                    "key.bodyoffset": 16,\n+                    "key.bodylength": 0,\n+                    "key.length": 17,\n+                    "key.name": "Foo",\n+                    "key.elements": [\n+                        [\n+                            "key.kind": "source.lang.swift.structure.elem.typeref",\n+                            "key.offset": 11,\n+                            "key.length": 3\n+                        ]\n+                    ],\n+                    "key.inheritedtypes": [\n+                        ["key.name": "Bar"]\n+                    ]\n+                ]\n+            ],\n+            "key.offset": 0,\n+            "key.diagnostic_stage": "source.diagnostic.stage.swift.parse",\n+            "key.length": 17\n+        ]\n+#else\n         let expected: NSDictionary = [\n             "key.substructure": [\n                 [\n@@ -104,6 +134,7 @@ class StructureTests: XCTestCase {\n             "key.diagnostic_stage": "source.diagnostic.stage.swift.parse",\n             "key.length": 17\n         ]\n+#endif\n         XCTAssertEqual(toNSDictionary(structure.dictionary), expected, "should generate expected structure")\n     }\n \ndiff --git a/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift b/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift\nindex 8d25bc0..7e9c5e3 100644\n--- a/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift\n+++ b/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift\n@@ -67,7 +67,9 @@ private func compareDocs(withFixtureNamed name: String, file: StaticString = #fi\n }\n \n private func versionedExpectedFilename(for name: String) -> String {\n-#if compiler(>=5.2)\n+#if compiler(>=5.3)\n+    let versions = ["swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]\n+#elseif compiler(>=5.2)\n     let versions = ["swift-5.2", "swift-5.1", "swift-5.0"]\n #elseif compiler(>=5.1)\n     let versions = ["swift-5.1", "swift-5.0"]\ndiff --git a/azure-pipelines.yml b/azure-pipelines.yml\nindex f8dc4a9..1c07251 100644\n--- a/azure-pipelines.yml\n+++ b/azure-pipelines.yml\n@@ -1,5 +1,5 @@\n # Available Xcode versions can be found here:\n-# https://github.com/Microsoft/azure-pipelines-image-generation/blob/master/images/macos/macos-10.14-Readme.md#xcode\n+# https://github.com/Microsoft/azure-pipelines-image-generation/blob/master/images/macos/macos-10.15-Readme.md#xcode\n \n trigger:\n - master\n@@ -15,6 +15,8 @@ jobs:\n         containerImage: swift:5.1\n       swift52:\n         containerImage: swift:5.2\n+      swift53:\n+        containerImage: swift:5.3\n   container: $[ variables[\'containerImage\'] ]\n   steps:\n     - script: swift test --parallel\n@@ -42,6 +44,8 @@ jobs:\n         DEVELOPER_DIR: /Applications/Xcode_11.5.app\n       xcode116:\n         DEVELOPER_DIR: /Applications/Xcode_11.6.app\n+      xcode12:\n+        DEVELOPER_DIR: /Applications/Xcode_12.app\n   steps:\n     - script: git submodule update --init --recursive\n       displayName: Update git submodules\n@@ -69,7 +73,7 @@ jobs:\n   pool:\n     vmImage: \'macOS-10.15\'\n   variables:\n-    DEVELOPER_DIR: /Applications/Xcode_11.6.app\n+    DEVELOPER_DIR: /Applications/Xcode_12.app\n   steps:\n     - script: bundle install --path vendor/bundle\n       displayName: bundle install\n@@ -82,7 +86,7 @@ jobs:\n   pool:\n     vmImage: \'macOS-10.15\'\n   variables:\n-    DEVELOPER_DIR: /Applications/Xcode_11.6.app\n+    DEVELOPER_DIR: /Applications/Xcode_12.app\n   steps:\n     - script: swift build\n       displayName: swift build\n', 'commit_subject': 'Merge pull request #671 from jpsim/run-ci-tests-on-xcode-12--swift-5.3', 'repo_name': 'jpsim/SourceKitten', 'committer': {'name': 'GitHub', 'email': '1505422b2465e9a84f6fdfaa161078890c593f06@github.com', 'time_sec': '1600872653', 'tz_offset': '-420', 'date': {'seconds': '1600872653'}}, 'commit_tree': '50e256018f78ff57d6e02e7f14b1db064fb8a12c', 'commit_message': 'Merge pull request #671 from jpsim/run-ci-tests-on-xcode-12--swift-5.3\n\nRun CI tests on Xcode 12 & Swift 5.3', 'language_name': 'C++', 'license': 'mit', 'hunks': '@@ -67,7 +67,9 @@ private func compareDocs(withFixtureNamed name: String, file: StaticString = #fi\n }\n \n private func versionedExpectedFilename(for name: String) -> String {\n-#if compiler(>=5.2)\n+#if compiler(>=5.3)\n+    let versions = ["swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]\n+#elseif compiler(>=5.2)\n     let versions = ["swift-5.2", "swift-5.1", "swift-5.0"]\n #elseif compiler(>=5.1)\n     let versions = ["swift-5.1", "swift-5.0"]\n', 'addition_count': 3, 'deletion_count': 1, 'src_file': 'a/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift', 'tgt_file': 'b/Tests/SourceKittenFrameworkTests/SwiftDocsTests.swift', 'file_extension': '.swift', 'before_file': 'import Foundation\n@testable import SourceKittenFramework\nimport XCTest\n\nfunc compareJSONString(withFixtureNamed name: String,\n                       jsonString: CustomStringConvertible,\n                       rootDirectory: String = fixturesDirectory,\n                       file: StaticString = #file,\n                       line: UInt = #line) {\n    // Strip out fixtures directory since it\'s dependent on the test machine\'s setup\n    let escapedFixturesDirectory = rootDirectory.replacingOccurrences(of: "/", with: "\\\\/")\n    let jsonString = String(describing: jsonString).replacingOccurrences(of: escapedFixturesDirectory, with: "")\n\n    // Strip out any other absolute paths after that, since it\'s also dependent on the test machine\'s setup\n    let absolutePathRegex = try! NSRegularExpression(pattern: "\\"key\\\\.filepath\\" : \\"\\\\\\\\/[^\\\\\\n]+", options: [])\n    let actualContent = absolutePathRegex.stringByReplacingMatches(in: jsonString, options: [],\n                                                                   range: NSRange(location: 0, length: jsonString.bridge().length),\n                                                                   withTemplate: "\\"key\\\\.filepath\\" : \\"\\",")\n    let expectedFile = File(path: versionedExpectedFilename(for: name))!\n\n    // Use if changes are introduced by changes in SourceKitten.\n    let overwrite = ProcessInfo.processInfo.environment["OVERWRITE_FIXTURES"] != nil ? true : false\n    if overwrite && actualContent != expectedFile.contents {\n        _ = try? actualContent.data(using: .utf8)?.write(to: URL(fileURLWithPath: expectedFile.path!), options: [])\n        return\n    }\n\n    // Use if changes are introduced by the new Swift version.\n    let appendFixturesForNewSwiftVersion = ProcessInfo.processInfo.environment["APPEND_FIXTURES"] != nil ? true : false\n    if appendFixturesForNewSwiftVersion && actualContent != expectedFile.contents,\n        var path = expectedFile.path, let index = path.firstIndex(of: "@"),\n        !path.hasSuffix("@\\(buildingSwiftVersion).json") {\n        path.replaceSubrange(index..<path.endIndex, with: "@\\(buildingSwiftVersion).json")\n        _ = try? actualContent.data(using: .utf8)?.write(to: URL(fileURLWithPath: path), options: [])\n        return\n    }\n\n    func jsonValue(_ jsonString: String) -> NSObject {\n        let data = jsonString.data(using: .utf8)!\n        let result = try! JSONSerialization.jsonObject(with: data, options: [])\n        if let dict = (result as? [String: Any])?.bridge() {\n            return dict\n        } else if let array = (result as? [Any])?.bridge() {\n            return array\n        }\n        fatalError()\n    }\n\n    if jsonValue(actualContent) != jsonValue(expectedFile.contents) {\n        XCTFail("output should match expected fixture", file: file, line: line)\n        print(diff(original: expectedFile.contents, modified: actualContent))\n    }\n}\n\nprivate func compareDocs(withFixtureNamed name: String, file: StaticString = #file, line: UInt = #line) {\n    let swiftFilePath = fixturesDirectory + name + ".swift"\n    let docs = SwiftDocs(file: File(path: swiftFilePath)!, arguments: ["-j4", "-sdk", sdkPath(), swiftFilePath])!\n    compareJSONString(withFixtureNamed: name, jsonString: docs, file: file, line: line)\n}\n\nprivate func versionedExpectedFilename(for name: String) -> String {\n#if compiler(>=5.6)\n    let versions = ["swift-5.6", "swift-5.5.2", "swift-5.5", "swift-5.4", "swift-5.3.1", "swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]\n#elseif compiler(>=5.5.2)\n    let versions = ["swift-5.5.2", "swift-5.5", "swift-5.4", "swift-5.3.1", "swift-5.3", "swift-5.2", "swift-5.1", "swift-5.0"]\n#elseif compiler(>=5.5.0)\n}\n\nprivate func versionedExpectedFilename(for name: String) -> String {\n#if compiler(>=5.2)\n    let versions = ["swift-5.2", "swift-5.1", "swift-5.0"]\n#elseif compiler(>=5.1)\n    let versions = ["swift-5.1", "swift-5.0"]\n#endif\n#if os(Linux)\n    let platforms = ["Linux", ""]\n#else\n    let platforms = [""]\n#endif\n    for platform in platforms {\n        for version in versions {\n            let versionedFilename = "\\(fixturesDirectory)\\(platform)\\(name)@\\(version).json"\n            if FileManager.default.fileExists(atPath: versionedFilename) {\n                return versionedFilename\n            }\n        }\n    }\n    return "\\(fixturesDirectory)\\(name).json"\n}\n\nprivate func diff(original: String, modified: String) -> String {\n    do {\n        let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("SwiftDocsTests-diff-\\(NSUUID())")\n        try FileManager.default.createDirectory(at: url, withIntermediateDirectories: true)\n\n        try original.data(using: .utf8)?.write(to: url.appendingPathComponent("original.json"))\n        try modified.data(using: .utf8)?.write(to: url.appendingPathComponent("modified.json"))\n\n        return Exec.run("/usr/bin/env", "git", "diff", "original.json", "modified.json",\n                        currentDirectory: url.path).string ?? ""\n    } catch {\n        return "\\(error)"\n    }\n}\n\nprivate let buildingSwiftVersion: String = {\n#if compiler(>=5.6)\n    return "swift-5.6"\n#elseif compiler(>=5.5.0)\n    return "swift-5.5"\n#elseif compiler(>=5.4.0)\n    return "swift-5.4"\n#elseif compiler(>=5.3.1)\n    return "swift-5.3.1"\n#elseif compiler(>=5.3)\n    return "swift-5.3"\n#else\n    return "swift-5.2"\n#endif\n}()\n\nclass SwiftDocsTests: XCTestCase {\n\n    func testSubscript() {\n        compareDocs(withFixtureNamed: "Subscript")\n    }\n\n    func testBicycle() {\n        compareDocs(withFixtureNamed: "Bicycle")\n    }\n\n    func testExtension() {\n        compareDocs(withFixtureNamed: "Extension")\n    }\n\n    func testParseFullXMLDocs() {\n        // swiftlint:disable:next line_length\n        let xmlDocsStringPreSwift32 = "<Type file=\\"file\\" line=\\"1\\" column=\\"2\\"><Name>name</Name><USR>usr</USR><Declaration>declaration</Declaration><Abstract><Para>discussion</Para></Abstract><Parameters><Parameter><Name>param1</Name><Direction isExplicit=\\"0\\">in</Direction><Discussion><Para>param1_discussion</Para></Discussion></Parameter></Parameters><ResultDiscussion><Para>result_discussion</Para></ResultDiscussion></Type>"\n        // swiftlint:disable:next line_length\n        let xmlDocsStringSwift32 = "<Type file=\\"file\\" line=\\"1\\" column=\\"2\\"><Name>name</Name><USR>usr</USR><Declaration>declaration</Declaration><CommentParts><Abstract><Para>discussion</Para></Abstract><Parameters><Parameter><Name>param1</Name><Direction isExplicit=\\"0\\">in</Direction><Discussion><Para>param1_discussion</Para></Discussion></Parameter></Parameters><ResultDiscussion><Para>result_discussion</Para></ResultDiscussion></CommentParts></Type>"\n        let parsedPreSwift32 = parseFullXMLDocs(xmlDocsStringPreSwift32)!\n        let parsedSwift32 = parseFullXMLDocs(xmlDocsStringSwift32)!\n        let expected: NSDictionary = [\n            "key.doc.type": "Type",\n            "key.doc.file": "file",\n            "key.doc.line": 1,\n            "key.doc.column": 2,\n            "key.doc.name": "name",\n            "key.usr": "usr",\n            "key.doc.declaration": "declaration",\n            "key.doc.parameters": [[\n                "name": "param1",\n                "discussion": [["Para": "param1_discussion"]]\n            ]],\n            "key.doc.result_discussion": [["Para": "result_discussion"]]\n        ]\n        XCTAssertEqual(toNSDictionary(parsedPreSwift32), expected)\n        XCTAssertEqual(toNSDictionary(parsedSwift32), expected)\n    }\n\n    // #606 - create docs without crashing\n    func testParseExternalReference() {\n        let firstPath = fixturesDirectory + "ExternalRef1.swift"\n        let secondPath = fixturesDirectory + "ExternalRef2.swift"\n        let docs = SwiftDocs(file: File(path: firstPath)!, arguments: ["-sdk", sdkPath(), firstPath, secondPath])!\n        XCTAssertFalse(docs.docsDictionary.isEmpty)\n    }\n}\n', 'message': 'Merge pull request #671 from jpsim/run-ci-tests-on-xcode-12--swift-5.3\n\nRun CI tests on Xcode 12 & Swift 5.3', 'author_name': 'GitHub', 'lang': 'swift'}