Function: flymake--eol-overlay-summary

flymake--eol-overlay-summary is a byte-compiled function defined in flymake.el.gz.

Signature

(flymake--eol-overlay-summary EOL-OV &optional (STYLE (flymake--eol-default-style)))

Documentation

Helper function for flymake--update-eol-overlays-1.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/flymake.el.gz
(cl-defun flymake--eol-overlay-summary
    (eol-ov &optional (style (flymake--eol-default-style)))
  "Helper function for `flymake--update-eol-overlays-1'."
  (cl-labels ((summarize (d)
                (flymake--format-diagnostic
                 d
                 (cl-case style
                   (short :inline-short)
                   (eol   :inline-eol)
                   (fancy :inline-fancy)
                   (default :inline-eol))
                 'eol-face)))
    (let* ((src-ovs (overlay-get eol-ov 'flymake-eol-source-overlays))
           (diags
            (cl-sort
             (mapcar (lambda (o) (overlay-get o 'flymake-diagnostic)) src-ovs)
             #'>
             :key (lambda (d) (flymake--severity (flymake-diagnostic-type d)))))
           (summary
            (and diags
                 (cl-case style
                   (short
                    (concat
                     (summarize (car diags))
                     (and (cdr diags)
                          (concat
                           " "
                           (propertize (format "(%s more)"
                                               (1- (length diags)))
                                       'face 'flymake-eol-information-face)))))
                   (fancy
                    (flymake--eol-draw-fancy diags #'summarize))
                   (eol
                    (mapconcat #'summarize diags " "))))))
      (when summary
        (setq summary (concat "  " summary "\n"))
        (put-text-property 0 1 'cursor t summary)
        summary))))