Function: majutsu-template--render-node
majutsu-template--render-node is a natively compiled function defined
in majutsu-template.el.
Signature
(majutsu-template--render-node NODE)
Documentation
Render AST NODE to jj template string.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--render-node (node)
"Render AST NODE to jj template string."
(pcase (majutsu-template-node-kind node)
(:literal
(format "\"%s\"" (majutsu-template--str-escape (majutsu-template-node-value node))))
(:raw
(majutsu-template-node-value node))
(:var
(symbol-name (majutsu-template-node-value node)))
(:lambda
(let* ((params (majutsu-template--lambda-params node))
(body (majutsu-template--lambda-body node)))
(format "|%s| %s"
(mapconcat #'symbol-name params ", ")
(majutsu-template--render-node body))))
(:call
(let* ((name (majutsu-template-node-value node))
(args (majutsu-template-node-args node))
(compiled-args (mapconcat #'majutsu-template--render-node args ", ")))
(format "%s(%s)" name compiled-args)))
(_
(user-error "majutsu-template: unknown AST node kind %S" (majutsu-template-node-kind node)))))