{
  "files": [
    {
      "in_package": true,
      "path": "helpers.goose",
      "raw_url": "source/df089c08a9254f2685e97b06.goose",
      "sha256": "100cbfe55de5bd97d228294ce85151afd279a1ccfc7f4662f3bc114950cbe274",
      "url": "src/df089c08a9254f2685e97b06.html"
    },
    {
      "in_package": true,
      "path": "main.goose",
      "raw_url": "source/911b701d688b1119f9e7fa89.goose",
      "sha256": "1c070c8e60fe8025fdb0849763b6a1eff8eb12b09af18dc96d7c9f6d09c81e94",
      "url": "src/911b701d688b1119f9e7fa89.html"
    }
  ],
  "imports": [
    {
      "from": "main.goose",
      "line": 2,
      "to": "helpers.goose"
    }
  ],
  "items": [
    {
      "children": [],
      "doc_links": [],
      "documentation": "Executes representative generic, imported, default and overloaded paths.",
      "id": "rich::main#function@main.goose:635eb842b652ef1a",
      "json_url": "items/f27bfcb45aa4be2f9c681203.json",
      "kind": "function",
      "limitations": [
        "No explicit result annotation; results are unspecified, not asserted to be void."
      ],
      "markdown_url": "items/f27bfcb45aa4be2f9c681203.md",
      "metadata": {
        "explicitResults": false,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [],
        "results": []
      },
      "name": "main",
      "namespace": "",
      "package_qualified_name": "rich::main",
      "parent_id": null,
      "qualified_name": "main",
      "signature": "fn main()",
      "source": {
        "column": 1,
        "end_column": 2,
        "end_line": 85,
        "line": 76,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L76"
      },
      "type_links": [],
      "url": "items/f27bfcb45aa4be2f9c681203.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "A local alias for an imported type. Source spelling remains available.",
      "id": "rich::demo::Token#alias@main.goose",
      "json_url": "items/65bd64dd64b5069ebb575295.json",
      "kind": "alias",
      "limitations": [],
      "markdown_url": "items/65bd64dd64b5069ebb575295.md",
      "metadata": {
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [
            "helpers::Token"
          ],
          "text": "helpers::Token"
        }
      },
      "name": "Token",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Token",
      "parent_id": null,
      "qualified_name": "demo::Token",
      "signature": "type demo::Token = helpers::Token",
      "source": {
        "column": 1,
        "end_column": 29,
        "end_line": 6,
        "line": 6,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L6"
      },
      "type_links": [
        {
          "qualified_name": "helpers::Token",
          "target_id": "rich::helpers::Token#struct@helpers.goose"
        }
      ],
      "url": "items/65bd64dd64b5069ebb575295.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "An inferred global type, as reported by the compiler.",
      "id": "rich::demo::answer#constant@main.goose",
      "json_url": "items/d2f9bab3ecb82f8e0a2b69d5.json",
      "kind": "constant",
      "limitations": [],
      "markdown_url": "items/d2f9bab3ecb82f8e0a2b69d5.md",
      "metadata": {
        "inferredType": true,
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [],
          "text": "i64"
        }
      },
      "name": "answer",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::answer",
      "parent_id": null,
      "qualified_name": "demo::answer",
      "signature": "let demo::answer: i64",
      "source": {
        "column": 1,
        "end_column": 16,
        "end_line": 70,
        "line": 70,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L70"
      },
      "type_links": [],
      "url": "items/d2f9bab3ecb82f8e0a2b69d5.html"
    },
    {
      "children": [
        "rich::demo::Outcome.Empty#variant@main.goose",
        "rich::demo::Outcome.Value#variant@main.goose"
      ],
      "doc_links": [],
      "documentation": "A result with optional payload, expressed as a Goose enum.",
      "id": "rich::demo::Outcome#enum@main.goose",
      "json_url": "items/ebef19c12abbca6ac3ded36e.json",
      "kind": "enum",
      "limitations": [],
      "markdown_url": "items/ebef19c12abbca6ac3ded36e.md",
      "metadata": {
        "generics": [
          {
            "bound": null,
            "name": "T"
          }
        ]
      },
      "name": "Outcome",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Outcome",
      "parent_id": null,
      "qualified_name": "demo::Outcome",
      "signature": "enum demo::Outcome<T>",
      "source": {
        "column": 1,
        "end_column": 2,
        "end_line": 31,
        "line": 21,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L21"
      },
      "type_links": [],
      "url": "items/ebef19c12abbca6ac3ded36e.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Provenance supplied by the caller.",
      "id": "rich::demo::Envelope.token#field@main.goose",
      "json_url": "items/5a12775d7c64fa1925912207.json",
      "kind": "field",
      "limitations": [],
      "markdown_url": "items/5a12775d7c64fa1925912207.md",
      "metadata": {
        "hasDefault": false,
        "readOnlyAfterConstruction": false,
        "type": {
          "aliasExpanded": true,
          "nominalTargets": [
            "helpers::Token"
          ],
          "text": "helpers::Token"
        }
      },
      "name": "token",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Envelope.token",
      "parent_id": "rich::demo::Envelope#struct@main.goose",
      "qualified_name": "demo::Envelope.token",
      "signature": "token: helpers::Token",
      "source": {
        "column": 5,
        "end_column": null,
        "end_line": null,
        "line": 17,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L17"
      },
      "type_links": [
        {
          "qualified_name": "helpers::Token",
          "target_id": "rich::helpers::Token#struct@helpers.goose"
        }
      ],
      "url": "items/5a12775d7c64fa1925912207.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "The wrapped value.",
      "id": "rich::demo::Envelope.value#field@main.goose",
      "json_url": "items/33bdefb71d38286c676fa026.json",
      "kind": "field",
      "limitations": [],
      "markdown_url": "items/33bdefb71d38286c676fa026.md",
      "metadata": {
        "hasDefault": false,
        "readOnlyAfterConstruction": false,
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [],
          "text": "T"
        }
      },
      "name": "value",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Envelope.value",
      "parent_id": "rich::demo::Envelope#struct@main.goose",
      "qualified_name": "demo::Envelope.value",
      "signature": "value: T",
      "source": {
        "column": 5,
        "end_column": null,
        "end_line": null,
        "line": 15,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L15"
      },
      "type_links": [],
      "url": "items/33bdefb71d38286c676fa026.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "The result value.",
      "id": "rich::demo::Outcome.Value.data#field@main.goose",
      "json_url": "items/1e7c50d0315efc9e1014c9ba.json",
      "kind": "field",
      "limitations": [],
      "markdown_url": "items/1e7c50d0315efc9e1014c9ba.md",
      "metadata": {
        "hasDefault": false,
        "readOnlyAfterConstruction": false,
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [],
          "text": "T"
        }
      },
      "name": "data",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Outcome.Value.data",
      "parent_id": "rich::demo::Outcome.Value#variant@main.goose",
      "qualified_name": "demo::Outcome.Value.data",
      "signature": "data: T",
      "source": {
        "column": 9,
        "end_column": null,
        "end_line": null,
        "line": 27,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L27"
      },
      "type_links": [],
      "url": "items/1e7c50d0315efc9e1014c9ba.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Identifies its origin.",
      "id": "rich::demo::Outcome.Value.token#field@main.goose",
      "json_url": "items/0fd79ef93b6de7b1d7dd58f6.json",
      "kind": "field",
      "limitations": [],
      "markdown_url": "items/0fd79ef93b6de7b1d7dd58f6.md",
      "metadata": {
        "hasDefault": false,
        "readOnlyAfterConstruction": false,
        "type": {
          "aliasExpanded": true,
          "nominalTargets": [
            "helpers::Token"
          ],
          "text": "helpers::Token"
        }
      },
      "name": "token",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Outcome.Value.token",
      "parent_id": "rich::demo::Outcome.Value#variant@main.goose",
      "qualified_name": "demo::Outcome.Value.token",
      "signature": "token: helpers::Token",
      "source": {
        "column": 9,
        "end_column": null,
        "end_line": null,
        "line": 29,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L29"
      },
      "type_links": [
        {
          "qualified_name": "helpers::Token",
          "target_id": "rich::helpers::Token#struct@helpers.goose"
        }
      ],
      "url": "items/0fd79ef93b6de7b1d7dd58f6.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "A declared documentation bound, retained without inventing extra constraints.",
      "id": "rich::demo::apply#function@main.goose:0405349aa62873db",
      "json_url": "items/5d97670bf6eed07ba15338c0.json",
      "kind": "function",
      "limitations": [
        "No explicit result annotation; results are unspecified, not asserted to be void."
      ],
      "markdown_url": "items/5d97670bf6eed07ba15338c0.md",
      "metadata": {
        "explicitResults": false,
        "generic": true,
        "generics": [
          {
            "bound": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "fn(i64)"
            },
            "name": "F"
          }
        ],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          }
        ],
        "results": []
      },
      "name": "apply",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::apply",
      "parent_id": null,
      "qualified_name": "demo::apply",
      "signature": "fn demo::apply<F: fn(i64)>(value: i64)",
      "source": {
        "column": 1,
        "end_column": 47,
        "end_line": 64,
        "line": 64,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L64"
      },
      "type_links": [],
      "url": "items/5d97670bf6eed07ba15338c0.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "An untyped generic parameter and an unspecified source result annotation.",
      "id": "rich::demo::echo#function@main.goose:ded94a63ff9409e9",
      "json_url": "items/8a78981ddc79fac8c367e022.json",
      "kind": "function",
      "limitations": [
        "No explicit result annotation; results are unspecified, not asserted to be void.",
        "Untyped generic parameter types are not synthesized."
      ],
      "markdown_url": "items/8a78981ddc79fac8c367e022.md",
      "metadata": {
        "explicitResults": false,
        "generic": true,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": null
          }
        ],
        "results": []
      },
      "name": "echo",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::echo",
      "parent_id": null,
      "qualified_name": "demo::echo",
      "signature": "fn demo::echo(value)",
      "source": {
        "column": 1,
        "end_column": 25,
        "end_line": 61,
        "line": 61,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L61"
      },
      "type_links": [],
      "url": "items/8a78981ddc79fac8c367e022.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Native export metadata is distinct from package visibility.",
      "id": "rich::demo::exported_plus#function@main.goose:54455652f0ca9cbb",
      "json_url": "items/0929531d46ddf63478279abd.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/0929531d46ddf63478279abd.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": true,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "i64"
          }
        ]
      },
      "name": "exported_plus",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::exported_plus",
      "parent_id": null,
      "qualified_name": "demo::exported_plus",
      "signature": "export fn demo::exported_plus(value: i64) -> i64",
      "source": {
        "column": 1,
        "end_column": 57,
        "end_line": 67,
        "line": 67,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L67"
      },
      "type_links": [],
      "url": "items/0929531d46ddf63478279abd.html"
    },
    {
      "children": [],
      "doc_links": [
        {
          "label": "Envelope",
          "target": "item:demo::Envelope",
          "target_id": "rich::demo::Envelope#struct@main.goose"
        }
      ],
      "documentation": "Return a value unchanged. Works with [Envelope](item:demo::Envelope).\n\n**Example** with a real imported declaration:\n```goose,run\nimport .helpers;\nfn identity<T>(value: T) -> T { value }\nfn main() {\n    let token = identity(helpers::Token { code: 7 });\n    assert(token.code == 7);\n}\n```\n\nRaw HTML stays text: <script>window.injected = true</script>.",
      "id": "rich::demo::identity#function@main.goose:38ac1630ee8f3e39",
      "json_url": "items/34ebe3c8d5d1243b03e0fabc.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/34ebe3c8d5d1243b03e0fabc.md",
      "metadata": {
        "explicitResults": true,
        "generic": true,
        "generics": [
          {
            "bound": null,
            "name": "T"
          }
        ],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "T"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "T"
          }
        ]
      },
      "name": "identity",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::identity",
      "parent_id": null,
      "qualified_name": "demo::identity",
      "signature": "fn demo::identity<T>(value: T) -> T",
      "source": {
        "column": 1,
        "end_column": 40,
        "end_line": 46,
        "line": 46,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L46"
      },
      "type_links": [],
      "url": "items/34ebe3c8d5d1243b03e0fabc.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Accept and return the imported token through a local alias.",
      "id": "rich::demo::pass_token#function@main.goose:2b5b21a507bee0ae",
      "json_url": "items/2d3153298c17666899a6cf3a.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/2d3153298c17666899a6cf3a.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "token",
            "type": {
              "aliasExpanded": true,
              "nominalTargets": [
                "helpers::Token"
              ],
              "text": "helpers::Token"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": true,
            "nominalTargets": [
              "helpers::Token"
            ],
            "text": "helpers::Token"
          }
        ]
      },
      "name": "pass_token",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::pass_token",
      "parent_id": null,
      "qualified_name": "demo::pass_token",
      "signature": "fn demo::pass_token(token: helpers::Token) -> helpers::Token",
      "source": {
        "column": 1,
        "end_column": 47,
        "end_line": 49,
        "line": 49,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L49"
      },
      "type_links": [
        {
          "qualified_name": "helpers::Token",
          "target_id": "rich::helpers::Token#struct@helpers.goose"
        }
      ],
      "url": "items/2d3153298c17666899a6cf3a.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Floating overload. Adds one half.",
      "id": "rich::demo::score#function@main.goose:ce2e557ec3f5444f",
      "json_url": "items/49f673b56fe10226ae66e497.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/49f673b56fe10226ae66e497.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "f64"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "f64"
          }
        ]
      },
      "name": "score",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::score",
      "parent_id": null,
      "qualified_name": "demo::score",
      "signature": "fn demo::score(value: f64) -> f64",
      "source": {
        "column": 1,
        "end_column": 44,
        "end_line": 55,
        "line": 55,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L55"
      },
      "type_links": [],
      "url": "items/49f673b56fe10226ae66e497.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Integer overload. Adds one.",
      "id": "rich::demo::score#function@main.goose:e8c7e5beaa1f6952",
      "json_url": "items/665165047c9bd81a5f8415a3.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/665165047c9bd81a5f8415a3.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "i64"
          }
        ]
      },
      "name": "score",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::score",
      "parent_id": null,
      "qualified_name": "demo::score",
      "signature": "fn demo::score(value: i64) -> i64",
      "source": {
        "column": 1,
        "end_column": 42,
        "end_line": 52,
        "line": 52,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L52"
      },
      "type_links": [],
      "url": "items/665165047c9bd81a5f8415a3.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "A defaulted argument; the LSP deliberately renders its value as `...`.",
      "id": "rich::demo::with_default#function@main.goose:9c5538c31ce63ddd",
      "json_url": "items/cd5b0a8eab434d9e23e34890.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/cd5b0a8eab434d9e23e34890.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          },
          {
            "hasDefault": true,
            "mutableBinding": false,
            "name": "extra",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "i64"
          }
        ]
      },
      "name": "with_default",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::with_default",
      "parent_id": null,
      "qualified_name": "demo::with_default",
      "signature": "fn demo::with_default(value: i64, extra: i64 = ...) -> i64",
      "source": {
        "column": 1,
        "end_column": 69,
        "end_line": 58,
        "line": 58,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L58"
      },
      "type_links": [],
      "url": "items/cd5b0a8eab434d9e23e34890.html"
    },
    {
      "children": [
        "rich::demo::Envelope.value#field@main.goose",
        "rich::demo::Envelope.token#field@main.goose"
      ],
      "doc_links": [
        {
          "label": "Token",
          "target": "item:helpers::Token",
          "target_id": "rich::helpers::Token#struct@helpers.goose"
        }
      ],
      "documentation": "A generic envelope with an imported token.\n\n## Fields\n- `value` keeps its generic type parameter.\n- `token` uses [Token](item:helpers::Token) from another module.",
      "id": "rich::demo::Envelope#struct@main.goose",
      "json_url": "items/b0b284c3d11475829410cc7f.json",
      "kind": "struct",
      "limitations": [],
      "markdown_url": "items/b0b284c3d11475829410cc7f.md",
      "metadata": {
        "generics": [
          {
            "bound": null,
            "name": "T"
          }
        ],
        "root": false
      },
      "name": "Envelope",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Envelope",
      "parent_id": null,
      "qualified_name": "demo::Envelope",
      "signature": "struct demo::Envelope<T>",
      "source": {
        "column": 1,
        "end_column": 2,
        "end_line": 18,
        "line": 13,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L13"
      },
      "type_links": [],
      "url": "items/b0b284c3d11475829410cc7f.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "A mutable global binding.",
      "id": "rich::demo::counter#variable@main.goose",
      "json_url": "items/30908a5aa27c9b97230937c2.json",
      "kind": "variable",
      "limitations": [],
      "markdown_url": "items/30908a5aa27c9b97230937c2.md",
      "metadata": {
        "inferredType": false,
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [],
          "text": "i64"
        }
      },
      "name": "counter",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::counter",
      "parent_id": null,
      "qualified_name": "demo::counter",
      "signature": "var demo::counter: i64",
      "source": {
        "column": 1,
        "end_column": 21,
        "end_line": 73,
        "line": 73,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L73"
      },
      "type_links": [],
      "url": "items/30908a5aa27c9b97230937c2.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Nothing was produced.",
      "id": "rich::demo::Outcome.Empty#variant@main.goose",
      "json_url": "items/7ccbb614aff8232497879d39.json",
      "kind": "variant",
      "limitations": [],
      "markdown_url": "items/7ccbb614aff8232497879d39.md",
      "metadata": {
        "hasPayload": false
      },
      "name": "Empty",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Outcome.Empty",
      "parent_id": "rich::demo::Outcome#enum@main.goose",
      "qualified_name": "demo::Outcome.Empty",
      "signature": "demo::Outcome.Empty",
      "source": {
        "column": 5,
        "end_column": null,
        "end_line": null,
        "line": 23,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L23"
      },
      "type_links": [],
      "url": "items/7ccbb614aff8232497879d39.html"
    },
    {
      "children": [
        "rich::demo::Outcome.Value.data#field@main.goose",
        "rich::demo::Outcome.Value.token#field@main.goose"
      ],
      "doc_links": [],
      "documentation": "The successful payload.",
      "id": "rich::demo::Outcome.Value#variant@main.goose",
      "json_url": "items/01118ce064e97936e9bff7d0.json",
      "kind": "variant",
      "limitations": [],
      "markdown_url": "items/01118ce064e97936e9bff7d0.md",
      "metadata": {
        "hasPayload": true
      },
      "name": "Value",
      "namespace": "demo",
      "package_qualified_name": "rich::demo::Outcome.Value",
      "parent_id": "rich::demo::Outcome#enum@main.goose",
      "qualified_name": "demo::Outcome.Value",
      "signature": "demo::Outcome.Value { data: T, token: helpers::Token }",
      "source": {
        "column": 5,
        "end_column": null,
        "end_line": null,
        "line": 25,
        "path": "main.goose",
        "url": "src/911b701d688b1119f9e7fa89.html#L25"
      },
      "type_links": [],
      "url": "items/01118ce064e97936e9bff7d0.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "The numeric token code.",
      "id": "rich::helpers::Token.code#field@helpers.goose",
      "json_url": "items/bb3f34454949860452f63f1a.json",
      "kind": "field",
      "limitations": [],
      "markdown_url": "items/bb3f34454949860452f63f1a.md",
      "metadata": {
        "hasDefault": false,
        "readOnlyAfterConstruction": false,
        "type": {
          "aliasExpanded": false,
          "nominalTargets": [],
          "text": "u32"
        }
      },
      "name": "code",
      "namespace": "helpers",
      "package_qualified_name": "rich::helpers::Token.code",
      "parent_id": "rich::helpers::Token#struct@helpers.goose",
      "qualified_name": "helpers::Token.code",
      "signature": "code: u32",
      "source": {
        "column": 5,
        "end_column": null,
        "end_line": null,
        "line": 7,
        "path": "helpers.goose",
        "url": "src/df089c08a9254f2685e97b06.html#L7"
      },
      "type_links": [],
      "url": "items/bb3f34454949860452f63f1a.html"
    },
    {
      "children": [],
      "doc_links": [],
      "documentation": "Twice the input, from a separately imported source file.",
      "id": "rich::helpers::twice#function@helpers.goose:d3d54e0084a1af0c",
      "json_url": "items/1f2b84bcfdf65beaeb55db90.json",
      "kind": "function",
      "limitations": [],
      "markdown_url": "items/1f2b84bcfdf65beaeb55db90.md",
      "metadata": {
        "explicitResults": true,
        "generic": false,
        "generics": [],
        "nativeExport": false,
        "nativeExtern": false,
        "parameters": [
          {
            "hasDefault": false,
            "mutableBinding": false,
            "name": "value",
            "type": {
              "aliasExpanded": false,
              "nominalTargets": [],
              "text": "i64"
            }
          }
        ],
        "results": [
          {
            "aliasExpanded": false,
            "nominalTargets": [],
            "text": "i64"
          }
        ]
      },
      "name": "twice",
      "namespace": "helpers",
      "package_qualified_name": "rich::helpers::twice",
      "parent_id": null,
      "qualified_name": "helpers::twice",
      "signature": "fn helpers::twice(value: i64) -> i64",
      "source": {
        "column": 1,
        "end_column": 42,
        "end_line": 11,
        "line": 11,
        "path": "helpers.goose",
        "url": "src/df089c08a9254f2685e97b06.html#L11"
      },
      "type_links": [],
      "url": "items/1f2b84bcfdf65beaeb55db90.html"
    },
    {
      "children": [
        "rich::helpers::Token.code#field@helpers.goose"
      ],
      "doc_links": [],
      "documentation": "An imported token. Unicode text: café, λ.",
      "id": "rich::helpers::Token#struct@helpers.goose",
      "json_url": "items/db1685496f540812d841471d.json",
      "kind": "struct",
      "limitations": [],
      "markdown_url": "items/db1685496f540812d841471d.md",
      "metadata": {
        "generics": [],
        "root": false
      },
      "name": "Token",
      "namespace": "helpers",
      "package_qualified_name": "rich::helpers::Token",
      "parent_id": null,
      "qualified_name": "helpers::Token",
      "signature": "struct helpers::Token",
      "source": {
        "column": 1,
        "end_column": 2,
        "end_line": 8,
        "line": 5,
        "path": "helpers.goose",
        "url": "src/df089c08a9254f2685e97b06.html#L5"
      },
      "type_links": [],
      "url": "items/db1685496f540812d841471d.html"
    }
  ],
  "limitations": [
    "Only top-level functions, structs, enums, aliases, globals and named fields/variants are indexed. Nested functions, padding and compiler builtins are omitted.",
    "Namespaces are grouping metadata; namespace documentation and import aliases are not declaration items.",
    "Signatures use the LSP type renderer: resolved alias uses may expand and parameter/field defaults render as '= ...'. Linked source retains original spelling.",
    "Missing result annotations remain unspecified, untyped parameters have null types. No inferred lifetimes, visibility or constraints are invented.",
    "Markdown renders paragraphs, headings, fenced code, unordered lists, emphasis, inline code and explicit links. Raw HTML, tables and automatic reference links are not rendered.",
    "Search is lexical substring matching with AND filters, not fuzzy matching, type unification, signature solving or semantic search."
  ],
  "namespaces": [
    "",
    "demo",
    "helpers"
  ],
  "package": {
    "entry": "main.goose",
    "name": "rich",
    "source_revision": null
  },
  "provenance": {
    "compiler": {
      "sha256": "c4ccb868362d803b0009791a8bf575206bfc59ba26479ed0493fea461f76aea5",
      "source": {
        "content_sha256": "2c4daf338f61c24d47f486e4be16496aac2d88ed1ab33d7b97dbdba9a5044a6d",
        "extractor_sha256": "2815320b8a93eacfa2c326d6bca910da34c75050c8a066b4f2948f70f434ab3d",
        "modified_files": [
          "CMakeLists.txt",
          "docs/design/documentation_metadata.md",
          "src/lsp.h",
          "src/lsp_documentation.h",
          "src/main.cpp",
          "test/lsp_documentation.py"
        ],
        "repository": "https://github.com/aardappel/goose",
        "revision": "2ed1a63dde2ddff777fbb7f4790412b4f00cd47d"
      },
      "version": "goose v2026.3-252-g2ed1a63d-dirty (runtime 05adb1799811)"
    },
    "generator": {
      "name": "goose-doc",
      "sha256": "7e26e00841aff86298a66e54ad4a02684fcc114ce2d07dc31df6553d3deaf58e",
      "version": "0.1.0"
    },
    "inputs_sha256": "6f839fcbdf87d6373146af67821b30edc88a49dcb60c6e19263e994678ca11fe",
    "metadata_protocol_version": 1
  },
  "schema_version": "1.0.0"
}
