feat(emacs): handle eval
This commit is contained in:
@@ -46,9 +46,17 @@
|
||||
(and (get-buffer-window-list 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)
|
||||
: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-lisp-mode)
|
||||
|
||||
@@ -102,6 +102,28 @@
|
||||
(evil-append-line 1)))
|
||||
(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
|
||||
|
||||
@@ -109,6 +131,14 @@
|
||||
:states '(motion normal)
|
||||
"K" #'syd-handle-docs*)
|
||||
|
||||
(general-def
|
||||
:states '(normal visual)
|
||||
"gr" #'syd-eval-operator)
|
||||
|
||||
(general-def
|
||||
:states 'normal
|
||||
"gR" #'syd-handle-load-buffer*)
|
||||
|
||||
(general-def
|
||||
:prefix-map 'syd-leader-open-map
|
||||
"r" #'syd-handle-repl*)
|
||||
|
||||
Reference in New Issue
Block a user