LunarVim/lua/lang/r.lua

57 lines
1.3 KiB
Lua
Raw Normal View History

2021-07-18 19:56:51 +02:00
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