<?xml version="1.0" encoding="UTF-8"?>

<?context-directive job ctxfile x-setups.ctx ?>

<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">

    <cd:command name="definemathfence" level="style" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathfence"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupmathfence" level="style" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="command">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="left">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="middle">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="right">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="mathstyle">
                    <cd:resolve name="value-mathstyle"/>
                </cd:parameter>
                <cd:parameter name="color">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="state">
                    <cd:constant type="auto"/>
                </cd:parameter>
                <cd:parameter name="method">
                    <cd:constant type="auto"/>
                </cd:parameter>
                <cd:parameter name="size">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="factor">
                    <cd:constant type="none"/>
                    <cd:constant type="auto"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="mathclass">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="fence" generated="yes" variant="example" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:sequence>
            <cd:variable value="fence"/>
        </cd:sequence>
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fenced" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="parenthesis"/>
                <cd:constant type="bracket"/>
                <cd:constant type="brace"/>
                <cd:constant type="bar"/>
                <cd:constant type="doublebar"/>
                <cd:constant type="triplebar"/>
                <cd:constant type="angle"/>
                <cd:constant type="doubleangle"/>
                <cd:constant type="solidus"/>
                <cd:constant type="ceiling"/>
                <cd:constant type="floor"/>
                <cd:constant type="moustache"/>
                <cd:constant type="uppercorner"/>
                <cd:constant type="lowercorner"/>
                <cd:constant type="group"/>
                <cd:constant type="openbracket"/>
                <!--
                    <cd:constant type="nothing"/>
                    <cd:constant type="mirrored"/>
                -->
                <cd:constant type="mirroredparenthesis"/>
                <cd:constant type="mirroredbracket"/>
                <cd:constant type="mirroredbrace"/>
                <cd:constant type="mirroredbar"/>
                <cd:constant type="mirroreddoublebar"/>
                <cd:constant type="mirroredtriplebar"/>
                <cd:constant type="mirroredangle"/>
                <cd:constant type="mirroreddoubleangle"/>
                <cd:constant type="mirroredsolidus"/>
                <cd:constant type="mirroredceiling"/>
                <cd:constant type="mirroredfloor"/>
                <cd:constant type="mirroredmoustache"/>
                <cd:constant type="mirroreduppercorner"/>
                <cd:constant type="mirroredlowercorner"/>
                <cd:constant type="mirroredgroup"/>
                <cd:constant type="mirroredopenbracket"/>
                <!--
                    <cd:constant type="mirrorednothing"/>
                -->
                <cd:constant type="cd:name"/>
            </cd:keywords>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fence" level="document" category="mathematics" file="math-fen.mkiv"/>

    <cd:command name="left" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-leftfence"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="middle" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="right" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-rightfence"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="big" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Big" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bigg" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Bigg" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bigl" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bigm" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bigr" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Bigl" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Bigm" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Bigr" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="biggl" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="biggm" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="biggr" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Biggl" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Biggm" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="Biggr" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="lfence" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-leftfence"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mfence" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="rfence" level="document" category="mathematics" file="math-fen.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-rightfence"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="checkedfences" type="environment" level="style" category="mathematics" file="math-fen.mkiv"/>

</cd:interface>
