Add eldoc-eval + custom display fn
This commit is contained in:
parent
c789429587
commit
2eb9234e6e
3 changed files with 48 additions and 0 deletions
|
@ -65,5 +65,32 @@
|
|||
(defun doom|hide-mode-line (&rest _)
|
||||
(setq mode-line-format nil))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom/eldoc-show-in-mode-line (input)
|
||||
"Display string STR in the mode-line next to minibuffer."
|
||||
(with-current-buffer (eldoc-current-buffer)
|
||||
(let* ((max (window-width (selected-window)))
|
||||
(str (and (stringp input) (concat " " input)))
|
||||
(len (length str))
|
||||
(tmp-str str)
|
||||
(mode-line-format (or (and str `(:eval (spaceline-ml-eldoc)))
|
||||
mode-line-format))
|
||||
roll mode-line-in-non-selected-windows)
|
||||
(catch 'break
|
||||
(if (and (> len max) eldoc-mode-line-rolling-flag)
|
||||
(progn
|
||||
(while (setq roll (sit-for 0.3))
|
||||
(setq tmp-str (substring tmp-str 2)
|
||||
mode-line-format (concat tmp-str " [<]" str))
|
||||
(force-mode-line-update)
|
||||
(when (< (length tmp-str) 2) (setq tmp-str str)))
|
||||
(unless roll
|
||||
(when eldoc-mode-line-stop-rolling-on-input
|
||||
(setq eldoc-mode-line-rolling-flag nil))
|
||||
(throw 'break nil)))
|
||||
(force-mode-line-update)
|
||||
(sit-for eldoc-show-in-mode-line-delay))))
|
||||
(force-mode-line-update)))
|
||||
|
||||
(provide 'defuns-ui)
|
||||
;;; defuns-ui.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue