aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/r_language_server.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lspconfig/server_configurations/r_language_server.lua')
-rw-r--r--lua/lspconfig/server_configurations/r_language_server.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/r_language_server.lua b/lua/lspconfig/server_configurations/r_language_server.lua
new file mode 100644
index 00000000..79c9b27f
--- /dev/null
+++ b/lua/lspconfig/server_configurations/r_language_server.lua
@@ -0,0 +1,29 @@
+local util = require 'lspconfig/util'
+
+return {
+ default_config = {
+ cmd = { 'R', '--slave', '-e', 'languageserver::run()' },
+ filetypes = { 'r', 'rmd' },
+ root_dir = function(fname)
+ return util.find_git_ancestor(fname) or vim.loop.os_homedir()
+ end,
+ log_level = vim.lsp.protocol.MessageType.Warning,
+ },
+ docs = {
+ package_json = 'https://raw.githubusercontent.com/REditorSupport/vscode-r-lsp/master/package.json',
+ description = [[
+[languageserver](https://github.com/REditorSupport/languageserver) is an
+implementation of the Microsoft's Language Server Protocol for the R
+language.
+
+It is released on CRAN and can be easily installed by
+
+```R
+install.packages("languageserver")
+```
+]],
+ default_config = {
+ root_dir = [[root_pattern(".git") or os_homedir]],
+ },
+ },
+}