diff options
author | Johannes Ranke <johannes.ranke@jrwb.de> | 2024-12-06 21:49:13 +0100 |
---|---|---|
committer | Johannes Ranke <johannes.ranke@jrwb.de> | 2024-12-06 21:50:27 +0100 |
commit | 941e573e22d1c4b01e05b8cacc7a317bfb8eeaf8 (patch) | |
tree | 7f325a21f22664460fa18ebee4b8bd782d3b3b7a /nvim/lua/plugins/R.lua | |
parent | 41103239de9942a1cd269d4e88d15128761d32d9 (diff) |
Experimental neovim configuration with lua
Currently, using the neovim appimage, nvimserver cannot be installed
Diffstat (limited to 'nvim/lua/plugins/R.lua')
-rw-r--r-- | nvim/lua/plugins/R.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/nvim/lua/plugins/R.lua b/nvim/lua/plugins/R.lua new file mode 100644 index 0000000..b4dec39 --- /dev/null +++ b/nvim/lua/plugins/R.lua @@ -0,0 +1,48 @@ +-- Adapted from the R.nvim README.md file on github +return { + "R-nvim/R.nvim", + -- Only required if you also set defaults.lazy = true + lazy = false, + -- R.nvim is still young and we may make some breaking changes from time + -- to time. For now we recommend pinning to the latest minor version + -- like so: + version = "~0.1.0", + config = function() + -- Create a table with the options to be passed to setup() + ---@type RConfigUserOpts + local opts = { + hook = { + on_filetype = function() + vim.api.nvim_buf_set_keymap(0, "n", "<Enter>", "<Plug>RDSendLine", {}) + vim.api.nvim_buf_set_keymap(0, "n", "<C-h>", "<C-w>w", {}) + vim.api.nvim_buf_set_keymap(0, "v", "<Enter>", "<Plug>RSendSelection", {}) + end + }, + R_args = {"--quiet", "--no-save"}, + min_editor_width = 72, + rconsole_width = 78, + objbr_mappings = { -- Object browser keymap + c = 'class', -- Call R functions + ['<localleader>gg'] = 'head({object}, n = 15)', -- Use {object} notation to write arbitrary R code. + v = function() + -- Run lua functions + require('r.browser').toggle_view() + end + }, + disable_cmds = { + "RClearConsole", + "RCustomStart", + "RSPlot", + "RSaveClose", + }, + } + -- Check if the environment variable "R_AUTO_START" exists. + -- If using fish shell, you could put in your config.fish: + -- alias r "R_AUTO_START=true nvim" + if vim.env.R_AUTO_START == "true" then + opts.auto_start = "on startup" + opts.objbr_auto_start = true + end + require("r").setup(opts) + end, +} |