tree-sitter-ini 1.3.0

ini grammar for the tree-sitter parsing library
Documentation
{
  "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
  "name": "ini",
  "rules": {
    "document": {
      "type": "SEQ",
      "members": [
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_blank"
          }
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "REPEAT",
              "content": {
                "type": "SEQ",
                "members": [
                  {
                    "type": "SYMBOL",
                    "name": "setting"
                  }
                ]
              }
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "section"
          }
        }
      ]
    },
    "section": {
      "type": "PREC_LEFT",
      "value": 0,
      "content": {
        "type": "SEQ",
        "members": [
          {
            "type": "SYMBOL",
            "name": "section_name"
          },
          {
            "type": "REPEAT",
            "content": {
              "type": "SEQ",
              "members": [
                {
                  "type": "SYMBOL",
                  "name": "setting"
                }
              ]
            }
          }
        ]
      }
    },
    "section_name": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^\\[\\]]+"
          },
          "named": true,
          "value": "text"
        },
        {
          "type": "STRING",
          "value": "]"
        },
        {
          "type": "PATTERN",
          "value": "\\r?\\n"
        }
      ]
    },
    "setting": {
      "type": "SEQ",
      "members": [
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^;#=\\s\\[]+( *[^;#=\\s\\[])*"
          },
          "named": true,
          "value": "setting_name"
        },
        {
          "type": "STRING",
          "value": "="
        },
        {
          "type": "CHOICE",
          "members": [
            {
              "type": "ALIAS",
              "content": {
                "type": "PATTERN",
                "value": ".+"
              },
              "named": true,
              "value": "setting_value"
            },
            {
              "type": "BLANK"
            }
          ]
        },
        {
          "type": "PATTERN",
          "value": "\\r?\\n"
        }
      ]
    },
    "comment": {
      "type": "SEQ",
      "members": [
        {
          "type": "PATTERN",
          "value": "[;#]"
        },
        {
          "type": "ALIAS",
          "content": {
            "type": "PATTERN",
            "value": "[^\\r\\n]*"
          },
          "named": true,
          "value": "text"
        },
        {
          "type": "PATTERN",
          "value": "\\r?\\n"
        }
      ]
    },
    "_blank": {
      "type": "FIELD",
      "name": "blank",
      "content": {
        "type": "PATTERN",
        "value": "\\r?\\n"
      }
    }
  },
  "extras": [
    {
      "type": "SYMBOL",
      "name": "comment"
    },
    {
      "type": "SYMBOL",
      "name": "_blank"
    },
    {
      "type": "PATTERN",
      "value": "[\\t ]"
    }
  ],
  "conflicts": [],
  "precedences": [],
  "externals": [],
  "inline": [],
  "supertypes": [],
  "reserved": {}
}