mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-04-23 03:20:26 +10:00
Moving to Doom Emacs!
This commit is contained in:
50
.emacs.d/modules/lang/ess/README.org
Normal file
50
.emacs.d/modules/lang/ess/README.org
Normal file
@@ -0,0 +1,50 @@
|
||||
#+TITLE: :lang ess
|
||||
|
||||
This module adds support for various statistics languages, including R, S-Plus,
|
||||
SAS, Julia and Stata.
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[Appendix][Appendix]]
|
||||
- [[Keybindings][Keybindings]]
|
||||
|
||||
* Appendix
|
||||
** Keybindings
|
||||
*** :map ess-doc-map
|
||||
| key | command |
|
||||
|-----+----------------------------|
|
||||
| "h" | ess-display-help-on-object |
|
||||
| "p" | ess-R-dv-pprint |
|
||||
| "t" | ess-R-dv-ctable |
|
||||
*** :map ess-mode-map
|
||||
| key | command |
|
||||
|--------------+-----------------------|
|
||||
| "<s-return>" | ess-eval-line |
|
||||
| "<up>" | comint-next-input |
|
||||
| "<down>" | comint-previous-input |
|
||||
**** :localleader
|
||||
| state | key | command |
|
||||
|-------+-------------+---------------------------------------------------|
|
||||
| :nv | "," | ess-eval-region-or-function-or-paragraph-and-step |
|
||||
| :n | "'" | R |
|
||||
| :n | "<tab>" | ess-switch-to-inferior-or-script-buffer |
|
||||
| :n | "<backtab>" | ess-switch-process |
|
||||
| :n | "B" | ess-eval-buffer-and-go |
|
||||
| :n | "b" | ess-eval-buffer |
|
||||
| :nv | "d" | ess-eval-region-or-line-and-step |
|
||||
| :n | "D" | ess-eval-function-or-paragraph-and-step |
|
||||
| :n | "L" | ess-eval-line-and-go |
|
||||
| :n | "l" | ess-eval-line |
|
||||
| :nv | "R" | ess-eval-region-and-go |
|
||||
| :nv | "r" | ess-eval-region |
|
||||
| :n | "F" | ess-eval-function-and-go |
|
||||
| :n | "f" | ess-eval-function |
|
||||
| :n | "h" | ess-doc-map |
|
||||
| :n | "x" | ess-extra-map |
|
||||
| :n | "p" | ess-r-package-dev-map |
|
||||
| :n | "v" | ess-dev-map |
|
||||
| :n | "cC" | ess-eval-chunk-and-go |
|
||||
| :n | "cc" | ess-eval-chunk |
|
||||
| :n | "cd" | ess-eval-chunk-and-step |
|
||||
| :n | "cm" | ess-noweb-mark-chunk |
|
||||
| :n | "cp" | ess-noweb-previous-chunk |
|
||||
| :n | "cn" | ess-noweb-next-chunk |
|
||||
15
.emacs.d/modules/lang/ess/autoload.el
Normal file
15
.emacs.d/modules/lang/ess/autoload.el
Normal file
@@ -0,0 +1,15 @@
|
||||
;;; lang/ess/autoload.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;;###autoload
|
||||
(defun +ess/open-julia-repl (&optional arg)
|
||||
"Open an ESS Julia REPL"
|
||||
(interactive "P")
|
||||
(run-ess-julia arg)
|
||||
(current-buffer))
|
||||
|
||||
;;;###autoload
|
||||
(defun +ess/open-r-repl (&optional arg)
|
||||
"Open an ESS R REPL"
|
||||
(interactive "P")
|
||||
(run-ess-r arg)
|
||||
(current-buffer))
|
||||
80
.emacs.d/modules/lang/ess/config.el
Normal file
80
.emacs.d/modules/lang/ess/config.el
Normal file
@@ -0,0 +1,80 @@
|
||||
;;; lang/ess/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(after! projectile
|
||||
(add-to-list 'projectile-project-root-files "DESCRIPTION"))
|
||||
|
||||
|
||||
;;
|
||||
;;; Packages
|
||||
|
||||
(use-package! ess
|
||||
:commands stata SAS
|
||||
:init
|
||||
(setq ess-smart-S-assign-key nil)
|
||||
(unless (featurep! :lang julia)
|
||||
(add-to-list 'auto-mode-alist '("\\.jl\\'" . ess-julia-mode)))
|
||||
:config
|
||||
(setq ess-offset-continued 'straight
|
||||
ess-expression-offset 2
|
||||
ess-use-flymake (not (featurep! :tools flycheck))
|
||||
ess-nuke-trailing-whitespace-p t
|
||||
ess-default-style 'DEFAULT
|
||||
ess-history-directory (expand-file-name "ess-history/" doom-cache-dir))
|
||||
|
||||
(set-repl-handler! 'ess-r-mode #'+ess/open-r-repl)
|
||||
(set-repl-handler! 'ess-julia-mode #'+ess/open-julia-repl)
|
||||
(set-lookup-handlers! '(ess-r-mode ess-julia-mode)
|
||||
:documentation #'ess-display-help-on-object)
|
||||
|
||||
(set-evil-initial-state! 'ess-r-help-mode 'normal)
|
||||
(set-eval-handler! 'ess-help-mode #'ess-eval-region-and-go)
|
||||
(set-eval-handler! 'ess-r-help-mode #'ess-eval-region-and-go)
|
||||
|
||||
(map! (:after ess-help
|
||||
:map ess-help-mode-map
|
||||
:n "q" #'kill-current-buffer
|
||||
:n "Q" #'ess-kill-buffer-and-go
|
||||
:n "K" #'ess-display-help-on-object
|
||||
:n "go" #'ess-display-help-in-browser
|
||||
:n "gO" #'ess-display-help-apropos
|
||||
:n "gv" #'ess-display-vignettes
|
||||
:m "]]" #'ess-skip-to-next-section
|
||||
:m "[[" #'ess-skip-to-previous-section
|
||||
:map ess-doc-map
|
||||
"h" #'ess-display-help-on-object
|
||||
"p" #'ess-R-dv-pprint
|
||||
"t" #'ess-R-dv-ctable
|
||||
[C-return] #'ess-eval-line
|
||||
[up] #'comint-next-input
|
||||
[down] #'comint-previous-input)
|
||||
|
||||
:localleader
|
||||
:map ess-mode-map
|
||||
"," #'ess-eval-region-or-function-or-paragraph-and-step
|
||||
"'" #'R
|
||||
[tab] #'ess-switch-to-inferior-or-script-buffer
|
||||
[backtab] #'ess-switch-process
|
||||
;; REPL
|
||||
"B" #'ess-eval-buffer-and-go
|
||||
"b" #'ess-eval-buffer
|
||||
"d" #'ess-eval-region-or-line-and-step
|
||||
"D" #'ess-eval-function-or-paragraph-and-step
|
||||
"L" #'ess-eval-line-and-go
|
||||
"l" #'ess-eval-line
|
||||
"R" #'ess-eval-region-and-go
|
||||
"r" #'ess-eval-region
|
||||
"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
|
||||
;; noweb
|
||||
:prefix "c"
|
||||
"C" #'ess-eval-chunk-and-go
|
||||
"c" #'ess-eval-chunk
|
||||
"d" #'ess-eval-chunk-and-step
|
||||
"m" #'ess-noweb-mark-chunk
|
||||
"p" #'ess-noweb-previous-chunk
|
||||
"n" #'ess-noweb-next-chunk))
|
||||
5
.emacs.d/modules/lang/ess/packages.el
Normal file
5
.emacs.d/modules/lang/ess/packages.el
Normal file
@@ -0,0 +1,5 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/ess/packages.el
|
||||
|
||||
(package! ess)
|
||||
(package! ess-R-data-view)
|
||||
Reference in New Issue
Block a user