diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/default-config.lua | 1 | ||||
| -rw-r--r-- | lua/lang/r.lua | 56 | 
2 files changed, 57 insertions, 0 deletions
| diff --git a/lua/default-config.lua b/lua/default-config.lua index 3246787a..70c5f070 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -179,6 +179,7 @@ require("lang.kotlin").config()  require("lang.lua").config()  require("lang.php").config()  require("lang.python").config() +require("lang.r").config()  require("lang.ruby").config()  require("lang.rust").config()  require("lang.sh").config() diff --git a/lua/lang/r.lua b/lua/lang/r.lua new file mode 100644 index 00000000..b05e6ee6 --- /dev/null +++ b/lua/lang/r.lua @@ -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 | 
