diff --git a/core/defuns/defuns-repl.el b/core/defuns/defuns-repl.el index 554968bfd..76eb82382 100644 --- a/core/defuns/defuns-repl.el +++ b/core/defuns/defuns-repl.el @@ -1,13 +1,17 @@ ;;; defuns-repl.el ;;;###autoload (autoload 'narf:repl "defuns-repl" nil t) -(evil-define-command narf:repl (&optional bang) +(evil-define-command narf:repl (&optional bang command) :repeat nil - (interactive "") + (interactive "") (if (and narf--repl-buffer (buffer-live-p narf--repl-buffer)) (narf/popup-buffer narf--repl-buffer) (rtog/toggle-repl (if (use-region-p) 4)) - (setq narf--repl-buffer (current-buffer)))) + (setq narf--repl-buffer (current-buffer)) + (when command + (with-current-buffer narf--repl-buffer + (insert command) + (unless bang (comint-send-input)))))) ;;;###autoload (autoload 'narf:repl-eval "defuns-repl" nil t) (evil-define-operator narf:repl-eval (&optional beg end bang) diff --git a/modules/module-js.el b/modules/module-js.el index 0de5e9413..a1ffd6b6a 100644 --- a/modules/module-js.el +++ b/modules/module-js.el @@ -4,6 +4,9 @@ :mode "\\.js$" :interpreter "node" :init + (use-package nodejs-repl :defer t :commands (nodejs-repl) + :config (evil-set-initial-state 'nodejs-repl-mode 'emacs)) + (define-repl! js2-mode nodejs-repl) (define-docset! js2-mode "js,javascript,nodejs,angularjs") :config @@ -101,7 +104,5 @@ :config (setq-default coffee-indent-like-python-mode t)) -(use-package nodejs-repl :defer t) - (provide 'module-js) ;;; module-js.el ends here diff --git a/private/my-bindings.el b/private/my-bindings.el index 7bd0076f3..cc4e8ecd2 100644 --- a/private/my-bindings.el +++ b/private/my-bindings.el @@ -32,7 +32,7 @@ "M-T" 'narf/tab-display "A-`" 'os-switch-to-term "C-`" 'narf/popup-messages - "C-~" 'rtog/toggle-repl + "C-~" 'narf:repl "M-`" 'narf/popup-toggle "M-w" 'narf/close-window-or-tab