I have an Emacs Lisp file with custom macros I want fontified and indented differently. The code looks like:
(defmacro* when-let ((var value) &rest body)
For identing your when-let macro, you could use the indent declaration:
(defmacro* when-let ((var value) &rest body)
(declare (indent 1))
`(let ((,var ,value))
(when ,var ,@body)))
look at the info node (elisp)Indenting Macros
for more information about this.
I don't know about a similar things for fontification.