<?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="definemathaccent" file="math-acc.mklx">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathaccent"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupmathaccent" file="math-acc.mklx">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathaccents"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupmathaccents" file="math-acc.mklx">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="mathstyle">
                    <cd:resolve name="value-mathstyle"/>
                </cd:parameter>
                <cd:parameter name="scale">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                    <cd:constant type="keep"/>
                </cd:parameter>
                <cd:parameter name="plugin">
                    <cd:constant type="mp"/>
                </cd:parameter>
                <cd:parameter name="mp">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="color">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="textcolor">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="symbolcolor">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="align">
                    <cd:constant type="middle"/>
                </cd:parameter>
                <cd:parameter name="stretch">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="shrink">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="snap">
                    <cd:constant type="yes"/>
                </cd:parameter>
                <cd:parameter name="alignsymbol">
                    <cd:constant type="yes" default="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="offset">
                    <cd:constant type="auto"/>
                </cd:parameter>
                <cd:parameter name="i">
                    <cd:constant type="auto"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="definemathtopaccent" file="math-acc.mklx">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:constant type="top"/>
                <cd:constant type="top:stretch"/>
                <cd:constant type="top:dot"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definemathbottomaccent" file="math-acc.mklx">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:constant type="bottom"/>
                <cd:constant type="bottom:stretch"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definemathdoubleaccent" file="math-acc.mklx">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:constant type="both"/>
                <cd:constant type="both:stretch"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-number"/>
            <cd:resolve name="keyword-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathaccent" generated="yes" variant="instance" file="math-acc.mklx">
        <cd:sequence>
            <cd:instance value="mathaccent"/>
        </cd:sequence>
        <cd:arguments>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathaccents"/>
            </cd:assignments>
            <cd:content/>
        </cd:arguments>
        <cd:instances>
            <cd:resolve name="instance-mathaccent"/>
        </cd:instances>
    </cd:command>

    <cd:command name="slashed" file="math-acc.mklx">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:resolve name="value-mathclass"/>
            </cd:keywords>
            <cd:content/>
        </cd:arguments>
    </cd:command>

</cd:interface>
