From 4761a7635a9f1c923ca297e68fbfb2aefd513275 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 4 Oct 2019 22:01:09 -0400 Subject: [PATCH] lang/julia: add julia-repl package Mentioned in #1836 --- modules/lang/julia/autoload.el | 18 ++++++++++-------- modules/lang/julia/config.el | 6 +++++- modules/lang/julia/packages.el | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) 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)