#+BEGIN_SRC emacs-lisp
(use-package ess
:ensure t
+ :commands R
+ :mode "\\.R\\'"
+ :bind (:map ess-mode-map
+ ("C-c C-R" . dla/ess-region-remote-eval))
:config
(defun ess-change-directory (path)
"Set the current working directory to PATH for both *R* and Emacs."
((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3)
(t 1000)))
))
- (add-hook 'ess-mode-hook
- '(lambda ()
- (local-set-key (kbd "C-c C-R")
- 'dla/ess-region-remote-eval)))
-
+ (defun dla/ess-region-remote-eval (start end)
+ "Evaluate region in a remote ESS instance"
+ (interactive "r")
+ (shell-command-on-region start end "eval_r" (get-buffer-create "***essregionremoteeval***"))
+ kill-buffer "***essregionremoteeval***")
;; Don't restore history or save workspace image
'(inferior-R-args "--no-restore-history --no-save")
)