tree-sitter-jjdescription 0.0.1

Jjdescription grammar for tree-sitter
Documentation
{
  "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
  "name": "jjdescription",
  "rules": {
    "document": {
      "type": "REPEAT",
      "content": {
        "type": "CHOICE",
        "members": [
          {
            "type": "SYMBOL",
            "name": "scissors"
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "text"
              },
              {
                "type": "PATTERN",
                "value": "\\r?\\n"
              }
            ]
          },
          {
            "type": "SEQ",
            "members": [
              {
                "type": "SYMBOL",
                "name": "comment"
              },
              {
                "type": "PATTERN",
                "value": "\\r?\\n"
              }
            ]
          },
          {
            "type": "PATTERN",
            "value": "\\r?\\n"
          }
        ]
      }
    },
    "change": {
      "type": "SEQ",
      "members": [
        {
          "type": "FIELD",
          "name": "type",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "STRING",
                "value": "A"
              },
              {
                "type": "STRING",
                "value": "M"
              },
              {
                "type": "STRING",
                "value": "D"
              },
              {
                "type": "STRING",
                "value": "C"
              },
              {
                "type": "STRING",
                "value": "R"
              }
            ]
          }
        },
        {
          "type": "STRING",
          "value": " "
        },
        {
          "type": "SYMBOL",
          "name": "filepath"
        }
      ]
    },
    "filepath": {
      "type": "PATTERN",
      "value": "[^\\r\\n]+?"
    },
    "scissors": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "JJ: ignore-rest\\r?\\n"
          },
          "named": true,
          "value": "comment"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "REPEAT",
            "content": {
              "type": "SEQ",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "[^\\r\\n]+?"
                },
                {
                  "type": "PATTERN",
                  "value": "\\r?\\n"
                }
              ]
            }
          },
          "named": true,
          "value": "scissors_inner"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "CHOICE",
            "members": [
              {
                "type": "SEQ",
                "members": [
                  {
                    "type": "STRING",
                    "value": "JJ: describe "
                  },
                  {
                    "type": "PATTERN",
                    "value": "[^\\r\\n]+?"
                  },
                  {
                    "type": "PATTERN",
                    "value": "\\r?\\n"
                  }
                ]
              },
              {
                "type": "STRING",
                "value": "\u0000"
              }
            ]
          },
          "named": true,
          "value": "comment"
        }
      ]
    },
    "comment": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "JJ:"
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "_text_comment"
                },
                {
                  "type": "SYMBOL",
                  "name": "_change_comment"
                }
              ]
            },
            {
              "type": "BLANK"
            }
          ]
        }
      ]
    },
    "_change_comment": {
      "type": "SEQ",
      "members": [
        {
          "type": "PATTERN",
          "value": "[\\f\\v ]+"
        },
        {
          "type": "SYMBOL",
          "name": "change"
        }
      ]
    },
    "_text_comment": {
      "type": "SEQ",
      "members": [
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "PATTERN",
              "value": "[\\f\\v ]+"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "PATTERN",
          "value": "[^AMD ]"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^\\r\\n]+?"
          },
          "named": true,
          "value": "comment_text"
        }
      ]
    },
    "text": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SEQ",
          "members": [
            {
              "type": "PATTERN",
              "value": "[^J]"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "PATTERN",
                  "value": "[^\\r\\n]+?"
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "J"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "PATTERN",
                      "value": "[^J]"
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "PATTERN",
                          "value": "[^\\r\\n]+?"
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        },
        {
          "type": "SEQ",
          "members": [
            {
              "type": "STRING",
              "value": "JJ"
            },
            {
              "type": "CHOICE",
              "members": [
                {
                  "type": "SEQ",
                  "members": [
                    {
                      "type": "PATTERN",
                      "value": "[^:]"
                    },
                    {
                      "type": "CHOICE",
                      "members": [
                        {
                          "type": "PATTERN",
                          "value": "[^\\r\\n]+?"
                        },
                        {
                          "type": "BLANK"
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "BLANK"
                }
              ]
            }
          ]
        }
      ]
    }
  },
  "extras": [],
  "conflicts": [],
  "precedences": [],
  "externals": [],
  "inline": [],
  "supertypes": []
}