{
"$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": {}
}