bracket-parser 0.1.0

A Rust library that detects if positions in text are inside or outside brackets
Documentation
{
  "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
  "name": "bracket_parser",
  "rules": {
    "source_file": {
      "type": "REPEAT",
      "content": {
        "type": "SYMBOL",
        "name": "_item"
      }
    },
    "_item": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "bracketed_expression"
        },
        {
          "type": "SYMBOL",
          "name": "text"
        }
      ]
    },
    "bracketed_expression": {
      "type": "CHOICE",
      "members": [
        {
          "type": "SYMBOL",
          "name": "paren_expression"
        },
        {
          "type": "SYMBOL",
          "name": "square_expression"
        },
        {
          "type": "SYMBOL",
          "name": "curly_expression"
        }
      ]
    },
    "paren_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "("
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_item"
          }
        },
        {
          "type": "STRING",
          "value": ")"
        }
      ]
    },
    "square_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "["
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_item"
          }
        },
        {
          "type": "STRING",
          "value": "]"
        }
      ]
    },
    "curly_expression": {
      "type": "SEQ",
      "members": [
        {
          "type": "STRING",
          "value": "{"
        },
        {
          "type": "REPEAT",
          "content": {
            "type": "SYMBOL",
            "name": "_item"
          }
        },
        {
          "type": "STRING",
          "value": "}"
        }
      ]
    },
    "text": {
      "type": "PATTERN",
      "value": "[^()\\[\\]{}]+"
    }
  },
  "extras": [
    {
      "type": "PATTERN",
      "value": "\\s"
    }
  ],
  "conflicts": [],
  "precedences": [],
  "externals": [],
  "inline": [],
  "supertypes": [],
  "reserved": {}
}