From e158df3fd1aad6b8b7ca6c6ea15c8dbed161a3cf Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Thu, 13 Feb 2025 05:44:08 -0800 Subject: [PATCH] Add repl for javascript --- init.el | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/init.el b/init.el index 12ca6f7..b15348a 100644 --- a/init.el +++ b/init.el @@ -1771,7 +1771,7 @@ otherwise, call `bibtex-find-text'." :hook ((java-ts-mode . trusted-files-eglot-ensure-if-safe) (java-ts-mode . my/-setup-java-ts-mode)) :bind (:map java-ts-mode-map - ("C-c C-e" . jshell-eval-expression) + ("C-x C-e" . jshell-eval-expression) ("C-M-x" . jshell-eval-defun) ("C-c C-r" . jshell-eval-region) ("C-c C-b" . jshell-eval-buffer)) @@ -1819,6 +1819,22 @@ otherwise, call `bibtex-find-text'." (use-package js :ensure nil :hook (js-ts-mode . trusted-files-eglot-ensure-if-safe)) +(use-package js-comint + :bind (:map js-ts-mode-map + ("C-x C-e" . js-send-last-sexp) + ("C-c C-b" . js-send-buffer) + ("C-c C-r" . js-send-region) + ("C-M-x" . my/js-send-defun)) + :hook (js-comint-mode . my/-setup-js-comint-mode) + :config + (defun my/-setup-js-comint-mode () + (setq-local comint-highlight-input nil)) + (defun my/js-send-defun () + "Send the defun under point to the inferior JavaScript process." + (interactive) + (if-let ((code (thing-at-point 'defun))) + (js-comint-send-string code) + (user-error "No defun under point")))) ;; TypeScript (use-package typescript-ts-mode @@ -2265,7 +2281,7 @@ current buffer is a Jupyter buffer, just use that." (keymap-set c-ts-base-mode-map "C-M-x" #'my/jupyter-eval-defun) (keymap-set c-ts-base-mode-map - "C-c C-e" #'my/c++-ts-jupyter-eval-expression) + "C-x C-e" #'my/c++-ts-jupyter-eval-expression) (keymap-set c-ts-base-mode-map "C-c C-r" #'my/c++-jupyter-eval-region) (keymap-set c-ts-base-mode-map @@ -2275,7 +2291,7 @@ current buffer is a Jupyter buffer, just use that." (keymap-set rust-ts-mode-map "C-M-x" #'my/jupyter-eval-defun) (keymap-set rust-ts-mode-map - "C-c C-e" #'my/rust-ts-jupyter-eval-expression) + "C-x C-e" #'my/rust-ts-jupyter-eval-expression) (keymap-set rust-ts-mode-map "C-c C-r" #'my/rust-jupyter-eval-region) (keymap-set rust-ts-mode-map