Function: treemacs-set-annotation-face--inliner

treemacs-set-annotation-face--inliner is a function defined in treemacs-annotations.el.

Signature

(treemacs-set-annotation-face--inliner INLINE--FORM PATH FACE SOURCE)

Source Code

;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-annotations.el
;; Closure converted to defun by helpful.
(defun treemacs-set-annotation-face--inliner
    (inline--form path face source)
  (ignore inline--form)
  (catch 'inline--just-use
    (let*
	((exp source)
	 (source
	  (if
	      (macroexp-copyable-p exp)
	      exp
	    (make-symbol "source")))
	 (body
	  (let*
	      ((exp path)
	       (path
		(if
		    (macroexp-copyable-p exp)
		    exp
		  (make-symbol "path")))
	       (body
		(let*
		    ((exp face)
		     (face
		      (if
			  (macroexp-copyable-p exp)
			  exp
			(make-symbol "face")))
		     (body
		      (list '-if-let*
			    (list
			     (list 'ann
				   (list 'treemacs-get-annotation path)))
			    (list 'let*
				  (list
				   (list 'face-list
					 (list 'treemacs-annotation->face 'ann))
				   (list 'old-face
					 (list '--first
					       (list 'string= source
						     (list 'car 'it))
					       'face-list)))
				  (list 'if 'old-face
					(list 'setcdr 'old-face face)
					(list 'setf
					      (list 'treemacs-annotation->face 'ann)
					      (list '--sort
						    (list 'string<
							  (list 'car 'it)
							  (list 'car 'other))
						    (list 'cons
							  (list 'cons source face)
							  'face-list))))
				  (list 'setf
					(list 'treemacs-annotation->face-value 'ann)
					(list 'append
					      (list 'mapcar
						    (list 'function 'cdr)
						    (list 'treemacs-annotation->face 'ann))
					      (list 'treemacs-annotation->git-face 'ann))))
			    (list 'ht-set! 'treemacs--annotation-store path
				  (list 'treemacs-annotation->create! :face
					(list 'list
					      (list 'cons source face))
					:face-value
					(list 'list face))))))
		  (if
		      (eq face exp)
		      body
		    (macroexp-let*
		     (list
		      (list face exp))
		     body)))))
	    (if
		(eq path exp)
		body
	      (macroexp-let*
	       (list
		(list path exp))
	       body)))))
      (if
	  (eq source exp)
	  body
	(macroexp-let*
	 (list
	  (list source exp))
	 body)))))