PPROLint
Built-in rules

Required markers

Reports configured sequence markers that are missing.

PropertyValue
Idrequired-markers
CategoryProject
Default severitywarning
Scoperequired-markers (computed scope)

Options

OptionTypeDefaultDescription
markersjson[]Requirements: { "type"?, "name"?, "namePattern"?, "colorIndex"?, "minCount"? (1), "message"? }; criteria combine with AND. Empty: nothing is required.

Customize it

Turn the rule on or off in the panel's Rules settings. To change its options, severity or wording, open it with its cogwheel in the rule editor and save: your copy replaces the built-in rule until you revert it. You can also copy the file below into your rules folder as required-markers.rule.json and edit it. See Change a built-in rule.

Rule file

required-markers.rule.json
{
  "formatVersion": 1,
  "id": "required-markers",
  "name": {
    "en_US": "Required markers",
    "de_DE": "Erforderliche Marken",
    "es_ES": "Marcadores obligatorios",
    "fr_FR": "Marques requises",
    "it_IT": "Marcatori obbligatori",
    "ja_JP": "必須のマーカー",
    "ko_KR": "필수 마커",
    "pt_BR": "Marcadores obrigatórios",
    "ru_RU": "Обязательные маркеры",
    "zh_CN": "必需标记"
  },
  "description": {
    "en_US": "Reports configured sequence markers that are missing.",
    "de_DE": "Meldet fehlende konfigurierte Sequenzmarken.",
    "es_ES": "Detecta los marcadores de secuencia configurados que faltan.",
    "fr_FR": "Signale les marques de séquence configurées qui sont absentes.",
    "it_IT": "Segnala i marcatori di sequenza configurati che mancano.",
    "ja_JP": "設定されたシーケンスマーカーがない場合に報告します。",
    "ko_KR": "설정된 시퀀스 마커 중 없는 마커를 보고합니다.",
    "pt_BR": "Relata marcadores de sequência configurados que estão ausentes.",
    "ru_RU": "Сообщает об отсутствующих заданных маркерах эпизода.",
    "zh_CN": "报告缺失的已配置序列标记。"
  },
  "category": "project",
  "scope": "required-markers",
  "severity": "warning",
  "options": {
    "markers": {
      "type": "json",
      "default": [],
      "description": "Requirements: { \"type\"?, \"name\"?, \"namePattern\"?, \"colorIndex\"?, \"minCount\"? (1), \"message\"? }; criteria combine with AND. Empty: nothing is required."
    }
  },
  "checks": [
    {
      "condition": {
        "field": "requirement.found",
        "operator": "equals",
        "value": 0
      },
      "message": {
        "en_US": "Sequence has no {labels.word}{labels.named}{labels.matching}{labels.color} (at least {requirement.minCount} required).{requirement.explanation}",
        "de_DE": "Die Sequenz hat keine {labels.word}{labels.named}{labels.matching}{labels.color} (mindestens {requirement.minCount} erforderlich).{requirement.explanation}",
        "es_ES": "La secuencia no tiene {labels.word}{labels.named}{labels.matching}{labels.color} (mínimo obligatorio: {requirement.minCount}).{requirement.explanation}",
        "fr_FR": "La séquence ne comporte aucune {labels.word}{labels.named}{labels.matching}{labels.color} (minimum requis : {requirement.minCount}).{requirement.explanation}",
        "it_IT": "La sequenza non ha alcun {labels.word}{labels.named}{labels.matching}{labels.color} (almeno {requirement.minCount} richiesti).{requirement.explanation}",
        "ja_JP": "シーケンスに{labels.word}{labels.named}{labels.matching}{labels.color}がありません({requirement.minCount}個以上必要)。{requirement.explanation}",
        "ko_KR": "시퀀스에 다음이 없습니다: {labels.word}{labels.named}{labels.matching}{labels.color}(최소 {requirement.minCount}개 필요).{requirement.explanation}",
        "pt_BR": "A sequência não tem nenhum {labels.word}{labels.named}{labels.matching}{labels.color} (mínimo exigido: {requirement.minCount}).{requirement.explanation}",
        "ru_RU": "В эпизоде отсутствует {labels.word}{labels.named}{labels.matching}{labels.color} (требуется не менее {requirement.minCount}).{requirement.explanation}",
        "zh_CN": "序列中没有{labels.word}{labels.named}{labels.matching}{labels.color}(至少需要 {requirement.minCount} 个)。{requirement.explanation}"
      }
    },
    {
      "condition": {
        "field": "requirement.found",
        "operator": "greaterThan",
        "value": 0
      },
      "message": {
        "en_US": "Sequence has {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (at least {requirement.minCount} required).{requirement.explanation}",
        "de_DE": "Die Sequenz hat {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (mindestens {requirement.minCount} erforderlich).{requirement.explanation}",
        "es_ES": "La secuencia tiene {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (mínimo obligatorio: {requirement.minCount}).{requirement.explanation}",
        "fr_FR": "La séquence comporte {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (minimum requis : {requirement.minCount}).{requirement.explanation}",
        "it_IT": "La sequenza ha {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (almeno {requirement.minCount} richiesti).{requirement.explanation}",
        "ja_JP": "シーケンスの{labels.word}{labels.named}{labels.matching}{labels.color}は{requirement.found}個です({requirement.minCount}個以上必要)。{requirement.explanation}",
        "ko_KR": "시퀀스의 {labels.word}{labels.named}{labels.matching}{labels.color}: {requirement.found}개(최소 {requirement.minCount}개 필요).{requirement.explanation}",
        "pt_BR": "A sequência tem {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (mínimo exigido: {requirement.minCount}).{requirement.explanation}",
        "ru_RU": "В эпизоде только {requirement.found} {labels.word}{labels.named}{labels.matching}{labels.color} (требуется не менее {requirement.minCount}).{requirement.explanation}",
        "zh_CN": "序列中有 {requirement.found} 个{labels.word}{labels.named}{labels.matching}{labels.color}(至少需要 {requirement.minCount} 个)。{requirement.explanation}"
      }
    }
  ],
  "labels": {
    "word": {
      "field": "requirement.hasType",
      "values": {
        "true": {
          "en_US": {
            "count": "requirement.pluralCount",
            "one": "\"{requirement.type}\" marker",
            "other": "\"{requirement.type}\" markers"
          },
          "de_DE": {
            "count": "requirement.pluralCount",
            "one": "„{requirement.type}“-Marke",
            "other": "„{requirement.type}“-Marken"
          },
          "es_ES": {
            "count": "requirement.pluralCount",
            "one": "marcador de tipo \"{requirement.type}\"",
            "other": "marcadores de tipo \"{requirement.type}\""
          },
          "fr_FR": {
            "count": "requirement.pluralCount",
            "one": "marque de type « {requirement.type} »",
            "other": "marques de type « {requirement.type} »"
          },
          "it_IT": {
            "count": "requirement.pluralCount",
            "one": "marcatore \"{requirement.type}\"",
            "other": "marcatori \"{requirement.type}\""
          },
          "ja_JP": "「{requirement.type}」マーカー",
          "ko_KR": "\"{requirement.type}\" 마커",
          "pt_BR": {
            "count": "requirement.pluralCount",
            "one": "marcador \"{requirement.type}\"",
            "other": "marcadores \"{requirement.type}\""
          },
          "ru_RU": {
            "count": "requirement.pluralCount",
            "one": "маркер «{requirement.type}»",
            "few": "маркера «{requirement.type}»",
            "many": "маркеров «{requirement.type}»",
            "other": "маркера «{requirement.type}»"
          },
          "zh_CN": "“{requirement.type}”标记"
        },
        "false": {
          "en_US": {
            "count": "requirement.pluralCount",
            "one": "marker",
            "other": "markers"
          },
          "de_DE": {
            "count": "requirement.pluralCount",
            "one": "Marke",
            "other": "Marken"
          },
          "es_ES": {
            "count": "requirement.pluralCount",
            "one": "marcador",
            "other": "marcadores"
          },
          "fr_FR": {
            "count": "requirement.pluralCount",
            "one": "marque",
            "other": "marques"
          },
          "it_IT": {
            "count": "requirement.pluralCount",
            "one": "marcatore",
            "other": "marcatori"
          },
          "ja_JP": "マーカー",
          "ko_KR": "마커",
          "pt_BR": {
            "count": "requirement.pluralCount",
            "one": "marcador",
            "other": "marcadores"
          },
          "ru_RU": {
            "count": "requirement.pluralCount",
            "one": "маркер",
            "few": "маркера",
            "many": "маркеров",
            "other": "маркера"
          },
          "zh_CN": "标记"
        }
      }
    },
    "named": {
      "field": "requirement.hasName",
      "values": {
        "true": {
          "en_US": " named \"{requirement.name}\"",
          "de_DE": " namens „{requirement.name}“",
          "es_ES": " con el nombre \"{requirement.name}\"",
          "fr_FR": " avec le nom « {requirement.name} »",
          "it_IT": " con nome \"{requirement.name}\"",
          "ja_JP": " (名前「{requirement.name}」)",
          "ko_KR": " (이름: \"{requirement.name}\")",
          "pt_BR": " com o nome \"{requirement.name}\"",
          "ru_RU": " с именем «{requirement.name}»",
          "zh_CN": " 名为“{requirement.name}”的"
        },
        "false": ""
      }
    },
    "matching": {
      "field": "requirement.hasPattern",
      "values": {
        "true": {
          "en_US": " matching /{requirement.namePattern}/",
          "de_DE": " passend zu /{requirement.namePattern}/",
          "es_ES": " con el patrón /{requirement.namePattern}/",
          "fr_FR": " correspondant à /{requirement.namePattern}/",
          "it_IT": " con nome conforme a /{requirement.namePattern}/",
          "ja_JP": " (/{requirement.namePattern}/ に一致)",
          "ko_KR": " (/{requirement.namePattern}/ 일치)",
          "pt_BR": " com nome correspondente a /{requirement.namePattern}/",
          "ru_RU": " с именем по шаблону /{requirement.namePattern}/",
          "zh_CN": " 匹配 /{requirement.namePattern}/ 的"
        },
        "false": ""
      }
    },
    "color": {
      "field": "requirement.hasColor",
      "values": {
        "true": {
          "en_US": " with color index {requirement.colorIndex}",
          "de_DE": " mit Farbindex {requirement.colorIndex}",
          "es_ES": " con el índice de color {requirement.colorIndex}",
          "fr_FR": " avec l'indice de couleur {requirement.colorIndex}",
          "it_IT": " con indice colore {requirement.colorIndex}",
          "ja_JP": " (カラーインデックス {requirement.colorIndex})",
          "ko_KR": " (색상 인덱스 {requirement.colorIndex})",
          "pt_BR": " com o índice de cor {requirement.colorIndex}",
          "ru_RU": " с индексом цвета {requirement.colorIndex}",
          "zh_CN": " 颜色索引为 {requirement.colorIndex} 的"
        },
        "false": ""
      }
    }
  },
  "data": {
    "requirement": "requirement.requirement",
    "found": "requirement.found",
    "minCount": "requirement.minCount"
  }
}

On this page