feat(emacs): handle eval
This commit is contained in:
@@ -46,9 +46,17 @@
|
|||||||
(and (get-buffer-window-list buffer)
|
(and (get-buffer-window-list buffer)
|
||||||
buffer)))
|
buffer)))
|
||||||
|
|
||||||
|
(defun syd-elisp-eval-region (beg end)
|
||||||
|
(eval-region beg end t))
|
||||||
|
|
||||||
|
(defun syd-elisp-load-buffer ()
|
||||||
|
(eval-buffer))
|
||||||
|
|
||||||
(syd-handle '(emacs-lisp-mode lisp-interaction-mode)
|
(syd-handle '(emacs-lisp-mode lisp-interaction-mode)
|
||||||
:docs #'syd-elisp-handle-docs
|
:docs #'syd-elisp-handle-docs
|
||||||
:repl #'syd-elisp-open-repl)
|
:repl #'syd-elisp-open-repl
|
||||||
|
:eval-region #'syd-elisp-eval-region
|
||||||
|
:load-buffer #'syd-elisp-load-buffer)
|
||||||
|
|
||||||
(syd-add-hook '(emacs-lisp-mode-hook lisp-interaction-mode-hook)
|
(syd-add-hook '(emacs-lisp-mode-hook lisp-interaction-mode-hook)
|
||||||
#'syd-lisp-mode)
|
#'syd-lisp-mode)
|
||||||
|
|||||||
@@ -102,6 +102,28 @@
|
|||||||
(evil-append-line 1)))
|
(evil-append-line 1)))
|
||||||
(error "Couldn't open a REPL for %S" major-mode)))
|
(error "Couldn't open a REPL for %S" major-mode)))
|
||||||
|
|
||||||
|
|
||||||
|
;;; Eval handler
|
||||||
|
|
||||||
|
(syd-define-handler-type eval-region (beg end)
|
||||||
|
"Eval region.")
|
||||||
|
|
||||||
|
(evil-define-operator syd-eval-operator (beg end)
|
||||||
|
"Evaluate selection."
|
||||||
|
:move-point nil
|
||||||
|
(interactive "<r>")
|
||||||
|
(syd-handle-eval-region beg end))
|
||||||
|
|
||||||
|
|
||||||
|
;;; Load buffer handler
|
||||||
|
|
||||||
|
(syd-define-handler-type load-buffer ()
|
||||||
|
"Load buffer/file")
|
||||||
|
|
||||||
|
(defun syd-handle-load-buffer* ()
|
||||||
|
(interactive)
|
||||||
|
(syd-handle-load-buffer))
|
||||||
|
|
||||||
|
|
||||||
;;; Keybinds
|
;;; Keybinds
|
||||||
|
|
||||||
@@ -109,6 +131,14 @@
|
|||||||
:states '(motion normal)
|
:states '(motion normal)
|
||||||
"K" #'syd-handle-docs*)
|
"K" #'syd-handle-docs*)
|
||||||
|
|
||||||
|
(general-def
|
||||||
|
:states '(normal visual)
|
||||||
|
"gr" #'syd-eval-operator)
|
||||||
|
|
||||||
|
(general-def
|
||||||
|
:states 'normal
|
||||||
|
"gR" #'syd-handle-load-buffer*)
|
||||||
|
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-open-map
|
:prefix-map 'syd-leader-open-map
|
||||||
"r" #'syd-handle-repl*)
|
"r" #'syd-handle-repl*)
|
||||||
|
|||||||
Reference in New Issue
Block a user