diff --git a/modules/lang/julia/autoload.el b/modules/lang/julia/autoload.el index b999631ad..7f9285db7 100644 --- a/modules/lang/julia/autoload.el +++ b/modules/lang/julia/autoload.el @@ -1,13 +1,15 @@ ;;; lang/julia/autoload.el -*- lexical-binding: t; -*- ;;;###autoload -(defun +julia/repl () +(defun +julia/open-repl () "Run an inferior instance of `julia' inside Emacs." (interactive) - (let ((buffer (get-buffer-create "*Julia*"))) - (unless (comint-check-proc "*Julia*") - (apply #'make-comint-in-buffer "Julia" "*Julia*" julia-program julia-arguments)) - (pop-to-buffer buffer) - (with-current-buffer buffer - (inferior-julia-mode)) - buffer)) + (if (require 'julia-repl nil t) + (julia-repl) + (let ((buffer (get-buffer-create "*Julia*"))) + (unless (comint-check-proc "*Julia*") + (apply #'make-comint-in-buffer "Julia" "*Julia*" julia-program julia-arguments)) + (pop-to-buffer buffer) + (with-current-buffer buffer + (inferior-julia-mode)) + buffer))) diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index fa5944f31..8ec3e18ff 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -3,7 +3,7 @@ (use-package! julia-mode :interpreter "julia" :config - (set-repl-handler! 'julia-mode #'+julia/repl) + (set-repl-handler! 'julia-mode #'+julia/open-repl) ;; Borrow matlab.el's fontification of math operators ;; From @@ -28,3 +28,7 @@ "[<>!]=?" OR "\\)")) 1 font-lock-type-face))))) + + +(after! julia-repl + (add-hook 'julia-repl-hook #'julia-repl-use-emacsclient)) diff --git a/modules/lang/julia/packages.el b/modules/lang/julia/packages.el index 5e3bb5611..d7d0b2236 100644 --- a/modules/lang/julia/packages.el +++ b/modules/lang/julia/packages.el @@ -2,4 +2,4 @@ ;;; lang/julia/packages.el (package! julia-mode) - +(package! julia-repl)