TeXmacs has its own macro language. The equivalent of \newcommand is \assign together with \macro (yes, TeXmacs has proper first class macros, like any respectable language, e.g. Lisp). And macros arguments can be edited visually, here's an example: https://twitter.com/gnu_texmacs/status/1251554336842407938