Function: treemacs--do-apply-annotation--inliner

treemacs--do-apply-annotation--inliner is a function defined in treemacs-annotations.el.

Signature

(treemacs--do-apply-annotation--inliner INLINE--FORM BTN GIT-FACE)

Source Code

;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-annotations.el
;; Could not find source code, showing raw function object.
#[(inline--form btn git-face)
  ((ignore inline--form)
   (catch 'inline--just-use
     (let*
	 ((exp btn)
	  (btn (if (macroexp-copyable-p exp) exp (make-symbol "btn")))
	  (body
	   (let*
	       ((exp git-face)
		(git-face
		 (if (macroexp-copyable-p exp) exp
		   (make-symbol "git-face")))
		(body
		 (list 'let*
		       (list
			(list 'path
			      (list 'treemacs-button-get btn :path))
			(list 'ann
			      (list 'treemacs-get-annotation 'path))
			(list 'btn-start
			      (list 'treemacs-button-start btn))
			(list 'btn-end (list 'treemacs-button-end btn)))
		       (list 'goto-char btn)
		       (list 'goto-char
			     (list 'or
				   (list 'next-single-property-change
					 btn
					 (list 'quote
					       'treemacs-suffix-annotation)
					 (list 'current-buffer)
					 (list 'line-end-position))
				   'btn-end))
		       (list 'delete-region (list 'point)
			     (list 'line-end-position))
		       (list 'if (list 'null 'ann)
			     (list 'when git-face
				   (list 'put-text-property 'btn-start
					 'btn-end (list 'quote 'face)
					 git-face)
				   (list 'ht-set!
					 'treemacs--annotation-store
					 'path
					 (list
					  'treemacs-annotation->create!
					  :git-face git-face
					  :face-value git-face)))
			     (list 'let
				   (list
				    (list 'face-value
					  (list
					   'treemacs-annotation->face-value
					   'ann))
				    (list 'suffix-value
					  (list
					   'treemacs-annotation->suffix-value
					   'ann))
				    (list 'faces
					  (list
					   'treemacs-annotation->face
					   'ann))
				    (list 'old-git-face
					  (list
					   'treemacs-annotation->git-face
					   'ann)))
				   (list 'let
					 (list
					  (list 'new-face-value
						(list 'or
						      (list 'cond
							    (list
							     (list
							      'and
							      git-face
							      (list
							       'not
							       (list
								'equal
								git-face
								'old-git-face)))
							     (list
							      'append
							      (list
							       'mapcar
							       (list
								'function
								'cdr)
							       'faces)
							      (list
							       'list
							       git-face)))
							    (list
							     (list
							      'and
							      'old-git-face
							      (list
							       'null
							       git-face))
							     (list
							      'mapcar
							      (list
							       'function
							       'cdr)
							      'faces))
							    (list t
								  'face-value))
						      (list
						       'treemacs-button-get
						       btn
						       :default-face))))
					 (list 'setf
					       (list
						'treemacs-annotation->face-value
						'ann)
					       'new-face-value
					       (list
						'treemacs-annotation->git-face
						'ann)
					       git-face)
					 (list 'put-text-property
					       'btn-start 'btn-end
					       (list 'quote 'face)
					       'new-face-value))
				   (list 'when 'suffix-value
					 (list 'insert 'suffix-value)))))))
	     (if (eq git-face exp) body
	       (macroexp-let* (list (list git-face exp)) body)))))
       (if (eq btn exp) body
	 (macroexp-let* (list (list btn exp)) body)))))
  (t)]