Function: logview--trim-for-display

logview--trim-for-display is a natively compiled function defined in logview.el.

Signature

(logview--trim-for-display MESSAGE &optional MAX-LENGTH)

Source Code

;; Defined in /nix/store/3zkn9hgpv447zb8nrg55d9x2ynmmrk40-emacs-packages-deps/share/emacs/site-lisp/elpa/logview-20260218.2013/logview.el
(defun logview--trim-for-display (message &optional max-length)
  (unless max-length
    (setf max-length 100))
  (setf message (replace-regexp-in-string (rx (1+ whitespace)) " " (string-trim message)))
  (if (<= (length message) max-length)
      message
    (with-temp-buffer
      (insert message)
      (goto-char (point-min))
      (let ((cut-after (point)))
        (while (and (search-forward-regexp (rx word eow) nil t)
                    (when (<= (1- (point)) (- max-length 3))
                      (setf cut-after (point)))))
        ;; If we'd trimming too much because of too long word, better cut it in the middle.
        (when (<= cut-after (/ max-length 2))
          (setf cut-after (- max-length 3)))
        (concat (buffer-substring (point-min) cut-after) "...")))))