I am having difficulty constructing the function \celest_separ:n that can handle colour because code level functions do not have optional arguments. Quite unfortunate. How may I get out of such problem ?
What is the advantage of using - versus \textemdash ?
\documentclass[a4paper,12pt]{article}
\usepackage{xcolor}
\ExplSyntaxOn
\definecolor{dblue}{RGB}{0,0,139}
\colorlet{celestk}{dblue}
\cs_set_eq:NN \wvAstr \textasteriskcentered
\cs_set_eq:NN \wvDash \textemdash
\cs_new_protected:Nn \celest_separ:n
{
\IfNoValueTF {#2}
{ \color[#1] }
{ \color[#1]{#2} }
\begin{center}
\wvDash \wvDash \wvDash
\ \wvAstr \, \wvAstr \, \wvAstr
\ \wvDash \wvDash \wvDash
\end{center}
}
\NewDocumentCommand \separ {O{celestk}o}
{
\IfNoValueTF {#2}
{ \celest_separ:n [#1] }
{ \celest_separ:n [#1] [#2] }
}
\ExplSyntaxOff
\begin{document}
\separ
\end{document}

-is a hyphen.\emdashis a rule which I guess originally, at least, was of length 1em. Em and en are printer's measures. In many cases,--and---are ligatures. – cfr Oct 15 '23 at 23:47