From a246a905654e1e02188a8f878c4d6985622669e6 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 15 Feb 2019 19:38:49 -0500 Subject: [PATCH] lang/ess: fix repl & doc lookup in ESS R/Julia Also moves history files into doom-cache-dir --- modules/lang/ess/autoload.el | 12 ++++++++---- modules/lang/ess/config.el | 16 +++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/modules/lang/ess/autoload.el b/modules/lang/ess/autoload.el index 22452a13c..05575a7b1 100644 --- a/modules/lang/ess/autoload.el +++ b/modules/lang/ess/autoload.el @@ -1,7 +1,11 @@ ;;; lang/ess/autoload.el -*- lexical-binding: t; -*- ;;;###autoload -(defun +ess/r-repl () - "Open the R REPL." - (interactive) - (inferior-ess nil nil t)) +(defun +ess-repl-buffer (&optional start-args) + "Returns an R/Julia REPL buffer." + (interactive "P") + (pcase major-mode + ('ess-r-mode (run-ess-r start-args)) + ((or 'julia-mode 'ess-julia-mode) (run-julia start-args)) + (_ (inferior-ess nil nil t))) + (current-buffer)) diff --git a/modules/lang/ess/config.el b/modules/lang/ess/config.el index 201bda523..7c26c5e79 100644 --- a/modules/lang/ess/config.el +++ b/modules/lang/ess/config.el @@ -10,12 +10,14 @@ (setq ess-offset-continued 'straight ess-expression-offset 2 ess-nuke-trailing-whitespace-p t - ess-default-style 'DEFAULT) + ess-default-style 'DEFAULT + ess-history-directory (expand-file-name "ess-history/" doom-cache-dir)) (add-hook 'ess-mode-hook #'display-line-numbers-mode) - (set-repl-handler! 'ess-mode #'+ess/r-repl) - (set-lookup-handlers! 'ess-mode :documentation #'ess-display-help-on-object) + (set-repl-handler! '(ess-r-mode ess-julia-mode) #'+ess-repl-buffer) + (set-lookup-handlers! '(ess-r-mode ess-julia-mode) + :documentation #'ess-display-help-on-object) (map! (:after ess-help :map ess-doc-map @@ -44,10 +46,10 @@ "F" #'ess-eval-function-and-go "f" #'ess-eval-function ;; predefined keymaps - "h" #'ess-doc-map - "x" #'ess-extra-map - "p" #'ess-r-package-dev-map - "v" #'ess-dev-map + "h" ess-doc-map + "x" ess-extra-map + "p" ess-r-package-dev-map + "v" ess-dev-map ;; noweb :prefix "c" "C" #'ess-eval-chunk-and-go