diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index ecc0c17fe..b00ffebbc 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -3,28 +3,21 @@ (use-package! julia-mode :interpreter "julia" :config - - (when (featurep! +lsp) - (add-hook 'julia-mode-hook #'lsp!) - (setq lsp-julia-default-environment "~/.julia/environments/v1.0") - ) - (set-repl-handler! 'julia-mode #'+julia/open-repl) - (add-hook 'julia-mode-hook #'julia-repl-mode) - ;; Borrow matlab.el's fontification of math operators - ;; From + ;; Borrow matlab.el's fontification of math operators. From + ;; (dolist (mode '(julia-mode ess-julia-mode)) (font-lock-add-keywords mode `((,(let ((OR "\\|")) - (concat "\\(" ;; stolen `matlab.el' operators first + (concat "\\(" ; stolen `matlab.el' operators first "[<>!]=?" OR "\\.[/*^']" OR "==" OR "=>" OR "\\" OR - "[-+*\\/^&|$]=?" OR ;; this has to come before next (updating operators) + "[-+*\\/^&|$]=?" OR ; this has to come before next (updating operators) "[-!^&|*+\\/~:]" OR ;; more extra julia operators follow "[%$]" OR @@ -37,24 +30,28 @@ 1 font-lock-type-face))))) -(after! julia-repl - (add-hook 'julia-repl-hook #'julia-repl-use-emacsclient) - - (defadvice! julia-repl--buffer-name (&optional executable-key suffix) - :override #'julia-repl--inferior-buffer-name - "Name for a Julia REPL inferior buffer. Uses workspace name for doom emacs" - (concat julia-repl-inferior-buffer-name-base ":" (+workspace-current-name))) - +(use-package! julia-repl + :hook (julia-repl-mode . julia-repl-use-emacsclient) + :config (set-popup-rule! "^\\*julia.*\\*$" :ttl nil) - (defadvice! after-julia-repl-advice (inferior-buffer) + (when (featurep! :ui workspaces) + (defadvice! +julia--namespace-repl-buffer-to-workspace-a (&optional executable-key suffix) + "Name for a Julia REPL inferior buffer. Uses workspace name for doom emacs" + :override #'julia-repl--inferior-buffer-name + (concat julia-repl-inferior-buffer-name-base ":" (+workspace-current-name)))) + + (defadvice! +julia--override-repl-escape-char-a (inferior-buffer) + "Use C-c instead of C-x for escaping." :after #'julia-repl--setup-term (with-current-buffer inferior-buffer - (term-set-escape-char ?\C-c) ; override default of C-x.. - )) - ) + (term-set-escape-char ?\C-c)))) + (use-package! lsp-julia :when (featurep! +lsp) :after lsp-clients - ) + :preface + (setq lsp-julia-default-environment "~/.julia/environments/v1.0") + (when (featurep! +lsp) + (add-hook 'julia-mode-local-vars-hook #'lsp!)))