Function: dirvish--preview-file-maybe-truncate
dirvish--preview-file-maybe-truncate is a natively compiled function
defined in dirvish.el.
Signature
(dirvish--preview-file-maybe-truncate DV FILE SIZE)
Documentation
Return preview buffer of FILE with SIZE in DV.
Source Code
;; Defined in /nix/store/1gijwny2yx4fggrsb9l110h1ybs1gdk5-emacs-packages-deps/share/emacs/site-lisp/elpa/dirvish-20260725.1520/dirvish.el
(defun dirvish--preview-file-maybe-truncate (dv file size)
"Return preview buffer of FILE with SIZE in DV."
(when (>= (length (dv-preview-buffers dv)) dirvish-preview-buffers-max-count)
(dirvish--kill-buffer (frame-parameter nil 'dv-preview-last)))
(with-current-buffer (get-buffer-create "*preview-temp*")
(let ((text (gethash file (dv-preview-hash dv))) info jka-compr-verbose)
(with-silent-modifications
(setq buffer-read-only t)
(if text (insert text)
(insert-file-contents
file nil 0 dirvish-preview-large-file-threshold)
(when (>= size dirvish-preview-large-file-threshold)
(goto-char (point-max))
(insert "\n\nFile truncated. End of partial preview.\n")))
(setq buffer-file-name file)
(goto-char (point-min))
(rename-buffer (format "PREVIEW :: %s :: %s"
(dv-timestamp dv) (file-name-nondirectory file))))
(condition-case err
(eval `(let ,(mapcar (lambda (env) `(,(car env) ,(cdr env)))
(remove '(delay-mode-hooks . t)
dirvish-preview-environment))
(setq-local delay-mode-hooks t)
(set-auto-mode) (font-lock-mode 1)
(and (bound-and-true-p so-long-detected-p)
(error "No preview of file with long lines"))))
(error (setq info (error-message-string err))))
(if info (prog1 `(info . ,info) (dirvish--kill-buffer (current-buffer)))
(set-frame-parameter nil 'dv-preview-last (current-buffer))
(run-hooks 'dirvish-preview-setup-hook)
(unless text (puthash file (buffer-string) (dv-preview-hash dv)))
`(buffer . ,(current-buffer))))))