summaryrefslogtreecommitdiff
path: root/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/lua/lsp/config.lua19
-rw-r--r--.config/nvim/lua/lsp/init.lua47
-rw-r--r--.config/nvim/site/after/ftplugin/Dockerfile.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/aspnetcorerazor.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/astro-markdown.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/astro.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/bib.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/blade.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/c.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/clojure.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/cmake.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/cpp.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/cs.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/css.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/django-html.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/dockerfile.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/dot.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/edge.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/edn.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/eelixir.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/ejs.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/elixir.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/elm.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/erb.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/eruby.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/fortran.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/go.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/gohtml.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/gomod.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/graphql.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/groovy.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/haml.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/handlebars.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/haskell.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/hbs.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/html-eex.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/html.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/jade.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/java.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/javascript.jsx.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/javascript.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/javascriptreact.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/json.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/kotlin.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/leaf.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/less.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/lhaskell.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/liquid.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/lua.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/markdown.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/mdx.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/mustache.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/njk.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/nunjucks.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/objc.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/objcpp.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/ocaml.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/php.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/postcss.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/prisma.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/puppet.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/purescript.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/python.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/razor.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/reason.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/rescript.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/ruby.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/rust.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/sass.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/scss.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/sh.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/slim.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/stylus.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/sugarss.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/svelte.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/terraform.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/tex.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/twig.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/typescript.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/typescript.tsx.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/typescriptreact.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/vb.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/vim.lua1
-rw-r--r--.config/nvim/site/after/ftplugin/vue.lua2
-rw-r--r--.config/nvim/site/after/ftplugin/yaml.lua1
85 files changed, 140 insertions, 24 deletions
diff --git a/.config/nvim/lua/lsp/config.lua b/.config/nvim/lua/lsp/config.lua
index b748b3c..32185b5 100644
--- a/.config/nvim/lua/lsp/config.lua
+++ b/.config/nvim/lua/lsp/config.lua
@@ -1,5 +1,5 @@
return {
- templates_dir = join_paths(get_data_dir(), "site", "after", "ftplugin"),
+ templates_dir = join_paths(get_runtime_dir(), "site", "after", "ftplugin"),
diagnostics = {
signs = {
active = true,
@@ -21,6 +21,23 @@ return {
on_attach_callback = nil,
on_init_callback = nil,
automatic_servers_installation = true,
+ buffer_mappings = {
+ normal_mode = {
+ ["K"] = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Show hover" },
+ ["gd"] = { "<cmd>lua vim.lsp.buf.definition()<CR>", "Goto Definition" },
+ ["gD"] = { "<cmd>lua vim.lsp.buf.declaration()<CR>", "Goto declaration" },
+ ["gr"] = { "<cmd>lua vim.lsp.buf.references()<CR>", "Goto references" },
+ ["gI"] = { "<cmd>lua vim.lsp.buf.implementation()<CR>", "Goto Implementation" },
+ ["gs"] = { "<cmd>lua vim.lsp.buf.signature_help()<CR>", "show signature help" },
+ ["gp"] = { "<cmd>lua require'lsp.peek'.Peek('definition')<CR>", "Peek definition" },
+ ["gl"] = {
+ "<cmd>lua require'lsp.handlers'.show_line_diagnostics()<CR>",
+ "Show line diagnostics",
+ },
+ },
+ insert_mode = {},
+ visual_mode = {},
+ },
null_ls = {
setup = {},
},
diff --git a/.config/nvim/lua/lsp/init.lua b/.config/nvim/lua/lsp/init.lua
index 8eebe0a..e3967df 100644
--- a/.config/nvim/lua/lsp/init.lua
+++ b/.config/nvim/lua/lsp/init.lua
@@ -22,25 +22,29 @@ local function lsp_highlight_document(client)
end
local function add_lsp_buffer_keybindings(bufnr)
- local status_ok, wk = pcall(require, "which-key")
- if not status_ok then
- return
- end
-
- local keys = {
- ["K"] = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Show hover" },
- ["gd"] = { "<cmd>lua vim.lsp.buf.definition()<CR>", "Goto Definition" },
- ["gD"] = { "<cmd>lua vim.lsp.buf.declaration()<CR>", "Goto declaration" },
- ["gr"] = { "<cmd>lua vim.lsp.buf.references()<CR>", "Goto references" },
- ["gI"] = { "<cmd>lua vim.lsp.buf.implementation()<CR>", "Goto Implementation" },
- ["gs"] = { "<cmd>lua vim.lsp.buf.signature_help()<CR>", "show signature help" },
- ["gp"] = { "<cmd>lua require'lsp.peek'.Peek('definition')<CR>", "Peek definition" },
- ["gl"] = {
- "<cmd>lua require'lsp.handlers'.show_line_diagnostics()<CR>",
- "Show line diagnostics",
- },
+ local mappings = {
+ normal_mode = "n",
+ insert_mode = "i",
+ visual_mode = "v",
}
- wk.register(keys, { mode = "n", buffer = bufnr })
+
+ if options.builtin.which_key.active then
+ -- Remap using which_key
+ local status_ok, wk = pcall(require, "which-key")
+ if not status_ok then
+ return
+ end
+ for mode_name, mode_char in pairs(mappings) do
+ wk.register(options.lsp.buffer_mappings[mode_name], { mode = mode_char, buffer = bufnr })
+ end
+ else
+ -- Remap using nvim api
+ for mode_name, mode_char in pairs(mappings) do
+ for key, remap in pairs(options.lsp.buffer_mappings[mode_name]) do
+ vim.api.nvim_buf_set_keymap(bufnr, mode_char, key, remap[1], { noremap = true, silent = true })
+ end
+ end
+ end
end
function M.common_capabilities()
@@ -71,7 +75,7 @@ local function select_default_formater(client)
Log:debug("Checking for formatter overriding for " .. client.name)
local client_filetypes = client.config.filetypes or {}
for _, filetype in ipairs(client_filetypes) do
- if not vim.tbl_isempty(lvim.lang[filetype].formatters) then
+ if not vim.tbl_isempty(options.lang[filetype].formatters) then
Log:debug("Formatter overriding detected. Disabling formatting capabilities for " .. client.name)
client.resolved_capabilities.document_formatting = false
client.resolved_capabilities.document_range_formatting = false
@@ -123,10 +127,7 @@ function M.setup()
end
for _, sign in ipairs(options.lsp.diagnostics.signs.values) do
- vim.fn.sign_define(
- sign.name,
- { texthl = sign.name, text = sign.text, numhl = sign.name }
- )
+ vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = sign.name })
end
require("lsp.handlers").setup()
diff --git a/.config/nvim/site/after/ftplugin/Dockerfile.lua b/.config/nvim/site/after/ftplugin/Dockerfile.lua
new file mode 100644
index 0000000..ee8f884
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/Dockerfile.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("dockerls")
diff --git a/.config/nvim/site/after/ftplugin/aspnetcorerazor.lua b/.config/nvim/site/after/ftplugin/aspnetcorerazor.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/aspnetcorerazor.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/astro-markdown.lua b/.config/nvim/site/after/ftplugin/astro-markdown.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/astro-markdown.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/astro.lua b/.config/nvim/site/after/ftplugin/astro.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/astro.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/bib.lua b/.config/nvim/site/after/ftplugin/bib.lua
new file mode 100644
index 0000000..9681ab0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/bib.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("texlab")
diff --git a/.config/nvim/site/after/ftplugin/blade.lua b/.config/nvim/site/after/ftplugin/blade.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/blade.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/c.lua b/.config/nvim/site/after/ftplugin/c.lua
new file mode 100644
index 0000000..105388b
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/c.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clangd")
diff --git a/.config/nvim/site/after/ftplugin/clojure.lua b/.config/nvim/site/after/ftplugin/clojure.lua
new file mode 100644
index 0000000..d3b94f0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/clojure.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clojure_lsp")
diff --git a/.config/nvim/site/after/ftplugin/cmake.lua b/.config/nvim/site/after/ftplugin/cmake.lua
new file mode 100644
index 0000000..a7dce95
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/cmake.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("cmake")
diff --git a/.config/nvim/site/after/ftplugin/cpp.lua b/.config/nvim/site/after/ftplugin/cpp.lua
new file mode 100644
index 0000000..105388b
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/cpp.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clangd")
diff --git a/.config/nvim/site/after/ftplugin/cs.lua b/.config/nvim/site/after/ftplugin/cs.lua
new file mode 100644
index 0000000..98e0233
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/cs.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("omnisharp")
diff --git a/.config/nvim/site/after/ftplugin/css.lua b/.config/nvim/site/after/ftplugin/css.lua
new file mode 100644
index 0000000..42e14d9
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/css.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("cssls")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/django-html.lua b/.config/nvim/site/after/ftplugin/django-html.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/django-html.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/dockerfile.lua b/.config/nvim/site/after/ftplugin/dockerfile.lua
new file mode 100644
index 0000000..ee8f884
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/dockerfile.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("dockerls")
diff --git a/.config/nvim/site/after/ftplugin/dot.lua b/.config/nvim/site/after/ftplugin/dot.lua
new file mode 100644
index 0000000..3f9cf13
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/dot.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("dotls")
diff --git a/.config/nvim/site/after/ftplugin/edge.lua b/.config/nvim/site/after/ftplugin/edge.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/edge.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/edn.lua b/.config/nvim/site/after/ftplugin/edn.lua
new file mode 100644
index 0000000..d3b94f0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/edn.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clojure_lsp")
diff --git a/.config/nvim/site/after/ftplugin/eelixir.lua b/.config/nvim/site/after/ftplugin/eelixir.lua
new file mode 100644
index 0000000..ddfe545
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/eelixir.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tailwindcss")
+require("lsp.manager").setup("elixirls")
diff --git a/.config/nvim/site/after/ftplugin/ejs.lua b/.config/nvim/site/after/ftplugin/ejs.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/ejs.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/elixir.lua b/.config/nvim/site/after/ftplugin/elixir.lua
new file mode 100644
index 0000000..a31e62c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/elixir.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("elixirls")
diff --git a/.config/nvim/site/after/ftplugin/elm.lua b/.config/nvim/site/after/ftplugin/elm.lua
new file mode 100644
index 0000000..8f5475c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/elm.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("elmls")
diff --git a/.config/nvim/site/after/ftplugin/erb.lua b/.config/nvim/site/after/ftplugin/erb.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/erb.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/eruby.lua b/.config/nvim/site/after/ftplugin/eruby.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/eruby.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/fortran.lua b/.config/nvim/site/after/ftplugin/fortran.lua
new file mode 100644
index 0000000..3ecb2b2
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/fortran.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("fortls")
diff --git a/.config/nvim/site/after/ftplugin/go.lua b/.config/nvim/site/after/ftplugin/go.lua
new file mode 100644
index 0000000..c382fe3
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/go.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("gopls")
diff --git a/.config/nvim/site/after/ftplugin/gohtml.lua b/.config/nvim/site/after/ftplugin/gohtml.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/gohtml.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/gomod.lua b/.config/nvim/site/after/ftplugin/gomod.lua
new file mode 100644
index 0000000..c382fe3
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/gomod.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("gopls")
diff --git a/.config/nvim/site/after/ftplugin/graphql.lua b/.config/nvim/site/after/ftplugin/graphql.lua
new file mode 100644
index 0000000..0374ef0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/graphql.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("graphql")
diff --git a/.config/nvim/site/after/ftplugin/groovy.lua b/.config/nvim/site/after/ftplugin/groovy.lua
new file mode 100644
index 0000000..183752c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/groovy.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("groovyls")
diff --git a/.config/nvim/site/after/ftplugin/haml.lua b/.config/nvim/site/after/ftplugin/haml.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/haml.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/handlebars.lua b/.config/nvim/site/after/ftplugin/handlebars.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/handlebars.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/haskell.lua b/.config/nvim/site/after/ftplugin/haskell.lua
new file mode 100644
index 0000000..90d92df
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/haskell.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("hls")
diff --git a/.config/nvim/site/after/ftplugin/hbs.lua b/.config/nvim/site/after/ftplugin/hbs.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/hbs.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/html-eex.lua b/.config/nvim/site/after/ftplugin/html-eex.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/html-eex.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/html.lua b/.config/nvim/site/after/ftplugin/html.lua
new file mode 100644
index 0000000..3ade0fb
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/html.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("html")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/jade.lua b/.config/nvim/site/after/ftplugin/jade.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/jade.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/java.lua b/.config/nvim/site/after/ftplugin/java.lua
new file mode 100644
index 0000000..75cc38c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/java.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("jdtls")
diff --git a/.config/nvim/site/after/ftplugin/javascript.jsx.lua b/.config/nvim/site/after/ftplugin/javascript.jsx.lua
new file mode 100644
index 0000000..e2947f9
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/javascript.jsx.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tsserver")
diff --git a/.config/nvim/site/after/ftplugin/javascript.lua b/.config/nvim/site/after/ftplugin/javascript.lua
new file mode 100644
index 0000000..a4c408c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/javascript.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tsserver")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/javascriptreact.lua b/.config/nvim/site/after/ftplugin/javascriptreact.lua
new file mode 100644
index 0000000..a4c408c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/javascriptreact.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tsserver")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/json.lua b/.config/nvim/site/after/ftplugin/json.lua
new file mode 100644
index 0000000..0bae251
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/json.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("jsonls")
diff --git a/.config/nvim/site/after/ftplugin/kotlin.lua b/.config/nvim/site/after/ftplugin/kotlin.lua
new file mode 100644
index 0000000..b9c6240
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/kotlin.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("kotlin_language_server")
diff --git a/.config/nvim/site/after/ftplugin/leaf.lua b/.config/nvim/site/after/ftplugin/leaf.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/leaf.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/less.lua b/.config/nvim/site/after/ftplugin/less.lua
new file mode 100644
index 0000000..42e14d9
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/less.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("cssls")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/lhaskell.lua b/.config/nvim/site/after/ftplugin/lhaskell.lua
new file mode 100644
index 0000000..90d92df
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/lhaskell.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("hls")
diff --git a/.config/nvim/site/after/ftplugin/liquid.lua b/.config/nvim/site/after/ftplugin/liquid.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/liquid.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/lua.lua b/.config/nvim/site/after/ftplugin/lua.lua
new file mode 100644
index 0000000..dfd0ca0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/lua.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("sumneko_lua")
diff --git a/.config/nvim/site/after/ftplugin/markdown.lua b/.config/nvim/site/after/ftplugin/markdown.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/markdown.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/mdx.lua b/.config/nvim/site/after/ftplugin/mdx.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/mdx.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/mustache.lua b/.config/nvim/site/after/ftplugin/mustache.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/mustache.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/njk.lua b/.config/nvim/site/after/ftplugin/njk.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/njk.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/nunjucks.lua b/.config/nvim/site/after/ftplugin/nunjucks.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/nunjucks.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/objc.lua b/.config/nvim/site/after/ftplugin/objc.lua
new file mode 100644
index 0000000..105388b
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/objc.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clangd")
diff --git a/.config/nvim/site/after/ftplugin/objcpp.lua b/.config/nvim/site/after/ftplugin/objcpp.lua
new file mode 100644
index 0000000..105388b
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/objcpp.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("clangd")
diff --git a/.config/nvim/site/after/ftplugin/ocaml.lua b/.config/nvim/site/after/ftplugin/ocaml.lua
new file mode 100644
index 0000000..f5ce214
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/ocaml.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("ocamlls")
diff --git a/.config/nvim/site/after/ftplugin/php.lua b/.config/nvim/site/after/ftplugin/php.lua
new file mode 100644
index 0000000..54e2eef
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/php.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("intelephense")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/postcss.lua b/.config/nvim/site/after/ftplugin/postcss.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/postcss.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/prisma.lua b/.config/nvim/site/after/ftplugin/prisma.lua
new file mode 100644
index 0000000..31053d0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/prisma.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("prismals")
diff --git a/.config/nvim/site/after/ftplugin/puppet.lua b/.config/nvim/site/after/ftplugin/puppet.lua
new file mode 100644
index 0000000..01ab3de
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/puppet.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("puppet")
diff --git a/.config/nvim/site/after/ftplugin/purescript.lua b/.config/nvim/site/after/ftplugin/purescript.lua
new file mode 100644
index 0000000..70fc408
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/purescript.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("purescriptls")
diff --git a/.config/nvim/site/after/ftplugin/python.lua b/.config/nvim/site/after/ftplugin/python.lua
new file mode 100644
index 0000000..f338793
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/python.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("pyright")
diff --git a/.config/nvim/site/after/ftplugin/razor.lua b/.config/nvim/site/after/ftplugin/razor.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/razor.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/reason.lua b/.config/nvim/site/after/ftplugin/reason.lua
new file mode 100644
index 0000000..875be01
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/reason.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("ocamlls")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/rescript.lua b/.config/nvim/site/after/ftplugin/rescript.lua
new file mode 100644
index 0000000..25f7a1d
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/rescript.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("rescriptls")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/ruby.lua b/.config/nvim/site/after/ftplugin/ruby.lua
new file mode 100644
index 0000000..53efa68
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/ruby.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("solargraph")
diff --git a/.config/nvim/site/after/ftplugin/rust.lua b/.config/nvim/site/after/ftplugin/rust.lua
new file mode 100644
index 0000000..bf6170f
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/rust.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("rust_analyzer")
diff --git a/.config/nvim/site/after/ftplugin/sass.lua b/.config/nvim/site/after/ftplugin/sass.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/sass.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/scss.lua b/.config/nvim/site/after/ftplugin/scss.lua
new file mode 100644
index 0000000..42e14d9
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/scss.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("cssls")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/sh.lua b/.config/nvim/site/after/ftplugin/sh.lua
new file mode 100644
index 0000000..21c067a
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/sh.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("bashls")
diff --git a/.config/nvim/site/after/ftplugin/slim.lua b/.config/nvim/site/after/ftplugin/slim.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/slim.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/stylus.lua b/.config/nvim/site/after/ftplugin/stylus.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/stylus.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/sugarss.lua b/.config/nvim/site/after/ftplugin/sugarss.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/sugarss.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/svelte.lua b/.config/nvim/site/after/ftplugin/svelte.lua
new file mode 100644
index 0000000..e33f280
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/svelte.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("svelte")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/terraform.lua b/.config/nvim/site/after/ftplugin/terraform.lua
new file mode 100644
index 0000000..43e5415
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/terraform.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tflint")
+require("lsp.manager").setup("terraformls")
diff --git a/.config/nvim/site/after/ftplugin/tex.lua b/.config/nvim/site/after/ftplugin/tex.lua
new file mode 100644
index 0000000..9681ab0
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/tex.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("texlab")
diff --git a/.config/nvim/site/after/ftplugin/twig.lua b/.config/nvim/site/after/ftplugin/twig.lua
new file mode 100644
index 0000000..375468c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/twig.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/typescript.lua b/.config/nvim/site/after/ftplugin/typescript.lua
new file mode 100644
index 0000000..a4c408c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/typescript.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tsserver")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/typescript.tsx.lua b/.config/nvim/site/after/ftplugin/typescript.tsx.lua
new file mode 100644
index 0000000..e2947f9
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/typescript.tsx.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("tsserver")
diff --git a/.config/nvim/site/after/ftplugin/typescriptreact.lua b/.config/nvim/site/after/ftplugin/typescriptreact.lua
new file mode 100644
index 0000000..a4c408c
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/typescriptreact.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("tsserver")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/vb.lua b/.config/nvim/site/after/ftplugin/vb.lua
new file mode 100644
index 0000000..98e0233
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/vb.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("omnisharp")
diff --git a/.config/nvim/site/after/ftplugin/vim.lua b/.config/nvim/site/after/ftplugin/vim.lua
new file mode 100644
index 0000000..54b5cea
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/vim.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("vimls")
diff --git a/.config/nvim/site/after/ftplugin/vue.lua b/.config/nvim/site/after/ftplugin/vue.lua
new file mode 100644
index 0000000..0415bda
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/vue.lua
@@ -0,0 +1,2 @@
+require("lsp.manager").setup("vuels")
+require("lsp.manager").setup("tailwindcss")
diff --git a/.config/nvim/site/after/ftplugin/yaml.lua b/.config/nvim/site/after/ftplugin/yaml.lua
new file mode 100644
index 0000000..5c9258b
--- /dev/null
+++ b/.config/nvim/site/after/ftplugin/yaml.lua
@@ -0,0 +1 @@
+require("lsp.manager").setup("yamlls")