Browse Source

added support for svelte (#1008)

Abouzar Parvan 4 years ago
parent
commit
71e0266b4b
3 changed files with 40 additions and 0 deletions
  1. 4 0
      ftplugin/svelte.lua
  2. 1 0
      lua/default-config.lua
  3. 35 0
      lua/lang/svelte.lua

+ 4 - 0
ftplugin/svelte.lua

@@ -0,0 +1,4 @@
+require("lang.svelte").format()
+require("lang.svelte").lint()
+require("lang.svelte").lsp()
+require("lang.svelte").dap()

+ 1 - 0
lua/default-config.lua

@@ -181,6 +181,7 @@ require("lang.ruby").config()
 require("lang.rust").config()
 require("lang.rust").config()
 require("lang.scala").config()
 require("lang.scala").config()
 require("lang.sh").config()
 require("lang.sh").config()
+require("lang.svelte").config()
 require("lang.terraform").config()
 require("lang.terraform").config()
 require("lang.tex").config()
 require("lang.tex").config()
 require("lang.vim").config()
 require("lang.vim").config()

+ 35 - 0
lua/lang/svelte.lua

@@ -0,0 +1,35 @@
+local M = {}
+
+M.config = function()
+  O.lang.svelte = {}
+end
+
+M.format = function()
+  -- TODO: implement formatter (if applicable)
+  return "No formatter configured!"
+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 "svelte" then
+    return
+  end
+
+  require("lspconfig").svelte.setup {
+    cmd = { DATA_PATH .. "/lspinstall/svelte/node_modules/.bin/svelteserver", "--stdio" },
+    filetypes = { "svelte" },
+    root_dir = require("lspconfig.util").root_pattern("package.json", ".git"),
+    on_attach = require("lsp").common_on_attach,
+  }
+end
+
+M.dap = function()
+  -- TODO: implement dap
+  return "No DAP configured!"
+end
+
+return M