tools/eval: associate plist with repl handlers
Also consolidates all REPLs (opened through the :tools eval module) under one popup rule, which inhibits ESC from prematurely closing them (#1944), and cleans up after their buffers *only* if their handlers weren't specified to :persist, e.g. (set-repl-handler! 'some-mode #'some-repl-handler :persist t) Also standardized ESS's REPL commands.
This commit is contained in:
parent
e6094f262f
commit
0b67251159
9 changed files with 71 additions and 47 deletions
|
@ -8,6 +8,19 @@
|
|||
;;
|
||||
;; Packages
|
||||
|
||||
(set-popup-rule!
|
||||
(lambda (bufname _)
|
||||
(when (boundp '+eval-repl-mode)
|
||||
(buffer-local-value '+eval-repl-mode (get-buffer bufname))))
|
||||
:ttl (lambda (buf)
|
||||
(unless (plist-get +eval-repl-plist :persist)
|
||||
(when-let (process (get-buffer-process buf))
|
||||
(set-process-query-on-exit-flag process nil)
|
||||
(kill-process process)
|
||||
(kill-buffer buf))))
|
||||
:size 0.25 :quit nil)
|
||||
|
||||
|
||||
(after! quickrun
|
||||
(setq quickrun-focus-p nil)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue