% ── Inline environments ─────────────────────────────────────────────
% TODO: ref label generation
\newcommand{\inline}[2][NONAME]{%
    \ifthenelse{\equal{NONAME}{#1}}{%
        \anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
    }{%
        \inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
    }%
}

\newcommand{\labeledInline}[3][NONAME]{%
    \edef{\tempLabel}{#3}
    \label{\tempLabel}
    \inline[#1]{#2}
}

\newcommand{\unnumberedInline}[2][NONAME]{%
    \ifthenelse{\equal{NONAME}{#1}}{%
        \anonymousInlineDescriptorTemplate{#2}{}%
    }{%
        \inlineDescriptorTemplate{#2}{}{#1}%
    }%
}

\newcommand{\short}[2][NONAME]{%
    \ifthenelse{\equal{NONAME}{#1}}{%
        \anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
    }{%
        \shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
    }%
}

\newcommand{\labeledShort}[3][NONAME]{%
    \edef{\tempLabel}{#3}
    \label{\tempLabel}
    \short[#1]{#2}
}

\newcommand{\unnumberedShort}[2][NONAME]{%
    \ifthenelse{\equal{NONAME}{#1}}{%
        \anonymousShortDescriptorTemplate{#2}{}%
    }{%
        \shortDescriptorTemplate{#2}{}{#1}%
    }%
}

\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
\newcommand{\inlinenotation}[1][NONAME]{\unnumberedInline[#1]{notation}}

\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
