Function: majutsu-conflict--line-face

majutsu-conflict--line-face is a natively compiled function defined in majutsu-conflict.el.

Signature

(majutsu-conflict--line-face)

Documentation

Return face for current line based on state and content.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-conflict.el
(defun majutsu-conflict--line-face ()
  "Return face for current line based on state and content."
  (save-excursion
    (goto-char (match-beginning 0))
    (let ((marker (majutsu-conflict--line-marker-at-point
                   (or majutsu-conflict--marker-len
                       majutsu-conflict-min-marker-len))))
      (cond
       ;; Marker lines
       ((memq (car-safe marker) '(begin end add remove diff note))
        'majutsu-conflict-marker-face)
       ;; JJ diff style content
       (majutsu-conflict--in-diff
        (cond
         ((looking-at "^\\+") 'majutsu-conflict-added-face)
         ((looking-at "^-") 'majutsu-conflict-removed-face)
         ((looking-at "^ ") 'majutsu-conflict-context-face)
         (t nil)))
       ;; In ++++++ section
       (majutsu-conflict--in-add
        (cond
         ;; In jj-diff, ++++++ is always the base
         ((eq majutsu-conflict--style 'jj-diff)
          'majutsu-conflict-base-face)
         ;; In jj-snapshot, first ++++++ (count=1) is base
         ((= majutsu-conflict--add-count 1)
          'majutsu-conflict-base-face)
         (t
          ;; Subsequent ++++++ sections are "to" sides
          'majutsu-conflict-added-face)))
       ;; In ------ section ("from" side in snapshot style)
       (majutsu-conflict--in-remove
        'majutsu-conflict-removed-face)
       (t nil)))))