doomemacs/modules/feature/eval/config.el

40 lines
1.2 KiB
EmacsLisp
Raw Normal View History

;;; feature/eval/config.el -*- lexical-binding: t; -*-
2017-02-13 16:57:08 -05:00
2017-03-04 18:28:51 -05:00
;; remove ellipsis when printing sexps in message buffer
(setq eval-expression-print-length nil
eval-expression-print-level nil)
2017-02-13 16:57:08 -05:00
;;
;; Plugin(s)
;;
2017-02-13 16:57:08 -05:00
(def-package! quickrun
:defer t
2017-02-28 12:12:09 -05:00
:init
(unless (boundp 'display-line-numbers)
(add-hook 'quickrun--mode-hook #'nlinum-mode))
2017-02-13 16:57:08 -05:00
:config
(setq quickrun-focus-p nil)
(set-popup-rule! "^\\*quickrun" '((size . 0.3)) '((transient . 0)))
2017-02-13 16:57:08 -05:00
2017-03-04 18:28:51 -05:00
(defun +eval*quickrun-auto-close (&rest _)
2017-02-28 12:12:09 -05:00
"Allows us to silently re-run quickrun from within the quickrun buffer."
(when-let* ((win (get-buffer-window quickrun--buffer-name)))
2017-03-04 18:28:51 -05:00
(let ((inhibit-message t))
(quickrun--kill-running-process)
2017-02-13 16:57:08 -05:00
(message ""))
2017-03-04 18:28:51 -05:00
(delete-window win)))
(advice-add #'quickrun :before #'+eval*quickrun-auto-close)
(advice-add #'quickrun-region :before #'+eval*quickrun-auto-close)
2017-02-13 16:57:08 -05:00
2017-03-04 18:28:51 -05:00
(defun +eval|quickrun-scroll-to-bof ()
2017-02-28 12:12:09 -05:00
"Ensures window is scrolled to BOF on invocation."
2017-03-04 18:28:51 -05:00
(with-selected-window (get-buffer-window quickrun--buffer-name)
(goto-char (point-min))
(let ((ignore-window-parameters t))
(shrink-window-if-larger-than-buffer))))
(add-hook 'quickrun-after-run-hook #'+eval|quickrun-scroll-to-bof))
2017-02-13 16:57:08 -05:00