<?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="texcode" type="environment" level="system" category="catcode" file="catc-ctx.mkxl"/>

    <cd:command name="contextcode" type="environment" level="system" category="catcode" file="catc-ctx.mkiv"/>

    <cd:command name="contextdefinitioncode" type="environment" level="system" category="catcode" file="catc-ctx.mkiv"/>

    <cd:command name="protect" type="environment" begin="un" end="​" level="system" category="catcode" file="catc-def.mkiv"/><!-- end="zero width space" -->

    <cd:command name="newcatcodetable" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="catcodetable" type="environment" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="extendedcatcodetable" type="environment" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="installactivecharacter" level="system" category="catcode" file="catc-act.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="defineactivecharacter" level="system" category="catcode" file="catc-act.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
            <cd:resolve name="argument-command"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="installanddefineactivecharacter" level="system" category="catcode" file="catc-act.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
            <cd:resolve name="argument-command"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="makecharacteractive" level="system" category="catcode" file="catc-act.mkiv">
        <cd:arguments>
            <cd:resolve name="string-character"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="permitcircumflexescape" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="permitcaretescape" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="letcatcodecommand" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
            <cd:keywords delimiters="none">
                <cd:constant type="cd:character"/>
                <cd:constant type="cd:number"/>
            </cd:keywords>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="defcatcodecommand" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
            <cd:keywords delimiters="none">
                <cd:constant type="cd:character"/>
                <cd:constant type="cd:number"/>
            </cd:keywords>
            <cd:resolve name="argument-command"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="uedcatcodecommand" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
            <cd:keywords delimiters="none">
                <cd:constant type="cd:character"/>
                <cd:constant type="cd:number"/>
            </cd:keywords>
            <cd:resolve name="argument-command"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="catcodetable" type="environment" begin="push" end="pop" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="restorecatcodes" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="setcatcodetable" level="system" category="catcode" file="catc-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="tracecatcodetables" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="catcodetablename" level="system" category="catcode" file="catc-ini.mkiv"/>

    <cd:command name="rescan" level="system" category="catcode" file="catc-sym.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="rescanwithsetup" level="system" category="catcode" file="catc-sym.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="asciimode" level="document" category="catcode" file="math-ini.mkxl"/>

    <cd:command name="enableasciimode" level="document" category="catcode" file="math-ini.mkxl"/>

    <cd:command name="asciimode" type="environment" level="document" category="catcode" file="math-ini.mkxl"/>

    <cd:command name="literalmode" level="document" category="catcode" file="buff-ver.mkiv"/>

</cd:interface>
