mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-21 02:55:09 +02:00
[Feature] Add R support (#965)
This commit is contained in:
parent
0e8f69f339
commit
113f69c447
4 changed files with 62 additions and 0 deletions
4
ftplugin/r.lua
Normal file
4
ftplugin/r.lua
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
require("lang.r").format()
|
||||||
|
require("lang.r").lint()
|
||||||
|
require("lang.r").lsp()
|
||||||
|
require("lang.r").dap()
|
1
ftplugin/rmd.lua
Symbolic link
1
ftplugin/rmd.lua
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
r.lua
|
|
@ -179,6 +179,7 @@ require("lang.kotlin").config()
|
||||||
require("lang.lua").config()
|
require("lang.lua").config()
|
||||||
require("lang.php").config()
|
require("lang.php").config()
|
||||||
require("lang.python").config()
|
require("lang.python").config()
|
||||||
|
require("lang.r").config()
|
||||||
require("lang.ruby").config()
|
require("lang.ruby").config()
|
||||||
require("lang.rust").config()
|
require("lang.rust").config()
|
||||||
require("lang.sh").config()
|
require("lang.sh").config()
|
||||||
|
|
56
lua/lang/r.lua
Normal file
56
lua/lang/r.lua
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.config = function()
|
||||||
|
-- R -e 'install.packages("formatR",repos = "http://cran.us.r-project.org")'
|
||||||
|
-- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")'
|
||||||
|
O.lang.r = {
|
||||||
|
formatter = {
|
||||||
|
exe = "R",
|
||||||
|
args = {
|
||||||
|
"--slave",
|
||||||
|
"--no-restore",
|
||||||
|
"--no-save",
|
||||||
|
'-e "formatR::tidy_source(text=readr::read_file(file(\\"stdin\\")), arrow=FALSE)"',
|
||||||
|
},
|
||||||
|
stdin = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
M.format = function()
|
||||||
|
O.formatters.filetype["r"] = {
|
||||||
|
function()
|
||||||
|
return {
|
||||||
|
exe = O.lang.r.formatter.exe,
|
||||||
|
args = O.lang.r.formatter.args,
|
||||||
|
stdin = O.lang.r.formatter.stdin,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
O.formatters.filetype["rmd"] = O.formatters.filetype["r"]
|
||||||
|
|
||||||
|
require("formatter.config").set_defaults {
|
||||||
|
logging = false,
|
||||||
|
filetype = O.formatters.filetype,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
M.lint = function()
|
||||||
|
-- TODO: implement linters (if applicable)
|
||||||
|
return "No linters configured!"
|
||||||
|
end
|
||||||
|
|
||||||
|
M.lsp = function()
|
||||||
|
if require("lv-utils").check_lsp_client_active "r_language_server" then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
-- R -e 'install.packages("languageserver",repos = "http://cran.us.r-project.org")'
|
||||||
|
require("lspconfig").r_language_server.setup {}
|
||||||
|
end
|
||||||
|
|
||||||
|
M.dap = function()
|
||||||
|
-- TODO: implement dap
|
||||||
|
return "No DAP configured!"
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
Loading…
Reference in a new issue