Schema: Move list types into a separate config file
This commit is contained in:
parent
8ef0c1734d
commit
df4413ae66
2 changed files with 56 additions and 67 deletions
|
@ -12,6 +12,7 @@
|
|||
[wml_schema]
|
||||
# TODO: Or should we just include {./types}?
|
||||
{./types/basic.cfg}
|
||||
{./types/lists.cfg}
|
||||
{./types/formula.cfg}
|
||||
{./types/subst.cfg}
|
||||
{./types/pango.cfg}
|
||||
|
@ -19,10 +20,6 @@
|
|||
name=int_percent
|
||||
value="-?\d+%?"
|
||||
[/type]
|
||||
[type]
|
||||
name=prog_int
|
||||
value=".*"
|
||||
[/type]
|
||||
[type]
|
||||
name="version"
|
||||
value="\d+(\.\d+(\.\d+)?)"
|
||||
|
@ -75,37 +72,18 @@
|
|||
[/type]
|
||||
[/union]
|
||||
[/type]
|
||||
[type]
|
||||
name=range_list
|
||||
[list]
|
||||
[element]
|
||||
[list]
|
||||
split="-"
|
||||
min=1
|
||||
max=2
|
||||
[element]
|
||||
link=unsigned
|
||||
[/element]
|
||||
[/list]
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
[type]
|
||||
name=int_list
|
||||
[list]
|
||||
[element]
|
||||
link=unsigned
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
[type]
|
||||
name=prog_string
|
||||
value=".*"
|
||||
[/type]
|
||||
[type]
|
||||
name=string_list
|
||||
value=".*"
|
||||
[/type]
|
||||
{LIST_TYPE_COMPLEX range (
|
||||
[element]
|
||||
[list]
|
||||
split="-"
|
||||
min=1
|
||||
max=2
|
||||
[element]
|
||||
link=unsigned
|
||||
[/element]
|
||||
[/list]
|
||||
[/element]
|
||||
)}
|
||||
[type]
|
||||
name=alignment
|
||||
value="lawful|neutral|chaotic|liminal"
|
||||
|
@ -161,30 +139,22 @@
|
|||
value="\d+ [A-Z][A-Z]"
|
||||
[/type]
|
||||
[type]
|
||||
name=prog_real
|
||||
name=prog_string
|
||||
value=".*"
|
||||
[/type]
|
||||
[type]
|
||||
name="real_list"
|
||||
[list]
|
||||
[element]
|
||||
link="real"
|
||||
[/element]
|
||||
[/list]
|
||||
name=prog_int
|
||||
value=".*"
|
||||
[/type]
|
||||
[type]
|
||||
name=prog_real
|
||||
value=".*"
|
||||
[/type]
|
||||
[type]
|
||||
name="dir"
|
||||
value="-?([ns][ew]?)(:cc?w)?"
|
||||
[/type]
|
||||
[type]
|
||||
name="dir_list"
|
||||
# value="-?([ns][ew]?)(:cc?w)?(,-?([ns][ew]?)(:cc?w)?)*"
|
||||
[list]
|
||||
[element]
|
||||
link="dir"
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
{LIST_TYPE dir}
|
||||
[type]
|
||||
name="anim_hits"
|
||||
[union]
|
||||
|
@ -196,22 +166,7 @@
|
|||
[/type]
|
||||
[/union]
|
||||
[/type]
|
||||
[type]
|
||||
name="anim_hits_list"
|
||||
[list]
|
||||
[element]
|
||||
link="anim_hits"
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
[type]
|
||||
name="anim_hits"
|
||||
[list]
|
||||
[element]
|
||||
value="hit|no|miss|kill|yes"
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
{LIST_TYPE anim_hits}
|
||||
[type]
|
||||
name="color"
|
||||
value="\d+,\d+,\d+"
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
|
||||
# Note that basic.cfg must also be included for these to work!
|
||||
|
||||
#define LIST_TYPE_OF TYPE ELEM
|
||||
[type]
|
||||
name={TYPE}_list
|
||||
[list]
|
||||
[element]
|
||||
link="{ELEM}"
|
||||
[/element]
|
||||
[/list]
|
||||
[/type]
|
||||
#enddef
|
||||
|
||||
#define LIST_TYPE_COMPLEX TYPE ELEM
|
||||
[type]
|
||||
name={TYPE}_list
|
||||
[list]
|
||||
{ELEM}
|
||||
[/list]
|
||||
[/type]
|
||||
#enddef
|
||||
|
||||
#define LIST_TYPE TYPE
|
||||
{LIST_TYPE_OF {TYPE} {TYPE}}
|
||||
#enddef
|
||||
|
||||
{LIST_TYPE_OF int unsigned}
|
||||
{LIST_TYPE real}
|
||||
|
||||
[type]
|
||||
name=string_list
|
||||
value=".*"
|
||||
[/type]
|
Loading…
Add table
Reference in a new issue