Explorar o código

Add lsp support for ruby (#258)

przbadu %!s(int64=4) %!d(string=hai) anos
pai
achega
7a29d5204a
Modificáronse 3 ficheiros con 22 adicións e 1 borrados
  1. 2 0
      init.lua
  2. 15 0
      lua/lsp/ruby-ls.lua
  3. 5 1
      lua/lv-globals.lua

+ 2 - 0
init.lua

@@ -47,4 +47,6 @@ require('lsp.efm-general-ls')
 require('lsp.latex-ls')
 require('lsp.svelte-ls')
 require('lsp.tailwindcss-ls')
+require('lsp.ruby-ls')
 require('lsp.kotlin-ls')
+

+ 15 - 0
lua/lsp/ruby-ls.lua

@@ -0,0 +1,15 @@
+-- If you are using rvm, make sure to change below configuration
+require'lspconfig'.solargraph.setup {
+    cmd = { DATA_PATH .. "~/.rbenv/shims/solargraph", "--stdio" },
+    on_attach = require'lsp'.common_on_attach,
+    handlers = {
+        ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
+            virtual_text = O.ruby.diagnostics.virtual_text,
+            signs = O.ruby.diagnostics.signs,
+            underline = O.ruby.diagnostics.underline,
+            update_in_insert = true
+
+        })
+    },
+    filetypes = O.ruby.filetypes,
+}

+ 5 - 1
lua/lv-globals.lua

@@ -56,7 +56,11 @@ O = {
         diagnostics = {virtual_text = true, signs = true, underline = true}
     },
     tailwindls = {filetypes = {'html', 'css', 'scss', 'javascript', 'javascriptreact', 'typescript', 'typescriptreact'}},
-    clang = {diagnostics = {virtual_text = true, signs = true, underline = true}}
+    clang = {diagnostics = {virtual_text = true, signs = true, underline = true}},
+	ruby = {
+		diagnostics = {virtualtext = true, signs = true, underline = true},
+		filetypes = {'rb', 'erb', 'rakefile'}
+	}
     -- css = {formatter = '', autoformat = false, virtual_text = true},
     -- json = {formatter = '', autoformat = false, virtual_text = true}
 }