{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/rust/cargo-manifest/_shared/latest--cargo-lints-rustdoc.json",
  "title": "Rustdoc Lints",
  "description": "Lint settings for rustdoc individual lints and the `all` lint.",
  "x-lintel": {
    "source": "https://www.schemastore.org/cargo-lints-rustdoc.json",
    "sourceSha256": "afbdec4e0c762fc72a0100923ed0f7a6bcc618acba15b7bbcbe600be55a9d31d"
  },
  "type": "object",
  "properties": {
    "bare_urls": {
      "$ref": "#/$defs/Lint",
      "title": "Bare URLs",
      "description": "detects URLs that are not hyperlinks.",
      "default": "warn"
    },
    "broken_intra_doc_links": {
      "$ref": "#/$defs/Lint",
      "title": "Broken Intra Doc Links",
      "description": "failures in resolving intra-doc link targets.",
      "default": "warn"
    },
    "invalid_codeblock_attributes": {
      "$ref": "#/$defs/Lint",
      "title": "Invalid Codeblock Attributes",
      "description": "codeblock attribute looks a lot like a known one.",
      "default": "warn"
    },
    "invalid_html_tags": {
      "$ref": "#/$defs/Lint",
      "title": "Invalid HTML Tags",
      "description": "detects invalid HTML tags in doc comments.",
      "default": "warn"
    },
    "invalid_rust_codeblocks": {
      "$ref": "#/$defs/Lint",
      "title": "Invalid Rust Codeblocks",
      "description": "codeblock could not be parsed as valid Rust or is empty.",
      "default": "warn"
    },
    "missing_crate_level_docs": {
      "$ref": "#/$defs/Lint",
      "title": "Missing Crate Level Docs",
      "description": "detects crates with no crate-level documentation.",
      "default": "allow"
    },
    "missing_doc_code_examples": {
      "$ref": "#/$defs/Lint",
      "title": "Missing Doc Code Examples",
      "description": "detects publicly-exported items without code samples in their documentation.",
      "default": "allow"
    },
    "private_doc_tests": {
      "$ref": "#/$defs/Lint",
      "title": "Private Doc Tests",
      "description": "detects code samples in docs of private items not documented by rustdoc.",
      "default": "allow"
    },
    "private_intra_doc_links": {
      "$ref": "#/$defs/Lint",
      "title": "Private Intra Doc Links",
      "description": "linking from a public item to a private one.",
      "default": "warn"
    },
    "redundant_explicit_links": {
      "$ref": "#/$defs/Lint",
      "title": "Redundant Explicit Links",
      "description": "detects redundant explicit links in doc comments.",
      "default": "warn"
    },
    "unescaped_backticks": {
      "$ref": "#/$defs/Lint",
      "title": "Unescaped Backticks",
      "description": "detects unescaped backticks in doc comments.",
      "default": "allow"
    },
    "all": {
      "$ref": "#/$defs/Lint",
      "title": "All",
      "description": "The group of all rustdoc lints (`#![allow(rustdoc::all)]`)."
    }
  },
  "$defs": {
    "DetailedLint": {
      "title": "Detailed Lint",
      "type": "object",
      "properties": {
        "level": {
          "$ref": "#/$defs/LintLevel"
        },
        "priority": {
          "description": "The priority that controls which lints or [lint groups](https://doc.rust-lang.org/rustc/lints/groups.html) override other lint groups. Lower (particularly negative) numbers have lower priority, being overridden by higher numbers, and show up first on the command-line to tools like rustc.",
          "type": "integer"
        }
      },
      "x-tombi-table-keys-order": "schema"
    },
    "Lint": {
      "title": "Lint",
      "anyOf": [
        {
          "$ref": "#/$defs/LintLevel"
        },
        {
          "$ref": "#/$defs/DetailedLint"
        }
      ]
    },
    "LintLevel": {
      "title": "Lint Level",
      "description": "Specify the [lint level](https://doc.rust-lang.org/rustc/lints/levels.html) for a lint or lint group.",
      "type": "string",
      "enum": [
        "forbid",
        "deny",
        "warn",
        "allow"
      ]
    }
  },
  "additionalProperties": {
    "$ref": "#/$defs/Lint"
  },
  "x-tombi-additional-key-label": "lint_name",
  "x-tombi-table-keys-order": "version-sort"
}
