If you are using VSCode we suggest installing the YAML Extension. This extension enable suggestions and autocomplete for a custom yaml schema. PRISM provides a json file which contains the schema for the PRISM input syntax.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "PRISM Syntax",
  "type": "object",
  "properties": {
    "bibliography": {
      "type": "string",
      "default": ""
    },
    "data-delimiter": {
      "type": "string",
      "default": ""
    },
    "data-path": {
      "type": "string",
      "default": ""
    },
    "constant-species": {
      "anyOf": [
        {
          "type": "string",
          "default": ""
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        }
      ]
    },
    "custom-species": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          },
          "mass": {
            "anyOf": [
              {
                "type": "number",
                "default": 0
              },
              {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "default": []
              }
            ]
          }
        },
        "required": [
          "name",
          "mass"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "mass": {
                    "type": "number"
                  }
                }
              },
              {
                "properties": {
                  "name": {
                    "type": "array"
                  },
                  "mass": {
                    "type": "array"
                  },
                  "minItems": {
                    "$data": "1/mass/minItems"
                  },
                  "maxItems": {
                    "$data": "1/mass/maxItems"
                  }
                }
              }
            ]
          }
        ]
      },
      "default": [
        {
          "name": "",
          "mass": 0
        }
      ]
    },
    "lumped-species": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "lumped": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          },
          "actual": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          }
        },
        "required": [
          "lumped",
          "actual"
        ]
      },
      "default": [
        {
          "lumped": "",
          "actual": ""
        }
      ]
    },
    "latex-overrides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "species": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          },
          "latex": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          }
        },
        "required": [
          "species",
          "latex"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "properties": {
                  "species": {
                    "type": "string"
                  },
                  "latex": {
                    "type": "string"
                  }
                }
              },
              {
                "properties": {
                  "species": {
                    "type": "array"
                  },
                  "latex": {
                    "type": "array"
                  },
                  "minItems": {
                    "$data": "1/species/minItems"
                  },
                  "maxItems": {
                    "$data": "1/species/maxItems"
                  }
                }
              }
            ]
          }
        ]
      },
      "default": [
        {
          "species": "",
          "latex": ""
        }
      ]
    },
    "rate-based": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reaction": {
            "type": "string",
            "default": ""
          },
          "file": {
            "type": "string"
          },
          "params": {
            "anyOf": [
              {
                "type": "number",
                "default": 0.0
              },
              {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "default": []
              }
            ]
          },
          "delta-eps-e": {
            "type": "number"
          },
          "delta-eps-g": {
            "type": "number"
          },
          "references": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          },
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          }
        },
        "required": [
          "reaction",
          "references"
        ],
        "oneOf": [
          {
            "required": [
              "file"
            ],
            "properties": {
              "params": {
                "not": {}
              }
            }
          },
          {
            "required": [
              "params"
            ],
            "properties": {
              "file": {
                "not": {}
              }
            }
          }
        ]
      },
      "default": [
        {
          "params": [],
          "references": "",
          "notes": ""
        }
      ]
    },
    "xsec-based": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reaction": {
            "type": "string",
            "default": ""
          },
          "file": {
            "type": "string"
          },
          "params": {
            "anyOf": [
              {
                "type": "number",
                "default": 0.0
              },
              {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "default": []
              }
            ]
          },
          "delta-eps-e": {
            "type": "number"
          },
          "delta-eps-g": {
            "type": "number"
          },
          "references": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          },
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "default": ""
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "default": []
              }
            ]
          }
        },
        "required": [
          "reaction",
          "references"
        ],
        "oneOf": [
          {
            "required": [
              "file"
            ],
            "properties": {
              "params": {
                "not": {}
              }
            }
          },
          {
            "required": [
              "params"
            ],
            "properties": {
              "file": {
                "not": {}
              }
            }
          }
        ]
      },
      "default": [
        {
          "params": [],
          "references": "",
          "notes": ""
        }
      ]
    }
  },
  "oneOf": [
    {
      "required": [
        "rate-based"
      ]
    },
    {
      "required": [
        "xsec-based"
      ]
    }
  ]
}
(../scheme.json)

To enable the features of this extension you need configure your settings to allow the extension to know that this cutsom scheme exists. This is an example of how you may do this for files ending in .p.


  "yaml.schemas": {
    "scheme.json": "*.p"
  }