summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbouzar Parvan <[email protected]>2021-07-28 19:33:49 +0430
committerGitHub <[email protected]>2021-07-28 11:03:49 -0400
commit21971cbed54905f38651f0484f9546d69dee9bc5 (patch)
treee07f4f8144a43644f5b16d733631acb755307389
parent2ec446e21edd292acd4634837eee3abef5def9b5 (diff)
null-ls formatter name is different from its command (#1141)
* null-ls formatter name is different from it's command * add more language support * nil is unnecessary
-rw-r--r--ftplugin/asm.lua1
-rw-r--r--ftplugin/beancount.lua1
-rw-r--r--ftplugin/crystal.lua1
-rw-r--r--ftplugin/d.lua1
-rw-r--r--ftplugin/perl.lua1
-rw-r--r--ftplugin/sql.lua1
-rw-r--r--lua/core/galaxyline.lua1
-rw-r--r--lua/default-config.lua122
-rw-r--r--lua/lsp/null-ls.lua2
9 files changed, 114 insertions, 17 deletions
diff --git a/ftplugin/asm.lua b/ftplugin/asm.lua
new file mode 100644
index 00000000..4f135295
--- /dev/null
+++ b/ftplugin/asm.lua
@@ -0,0 +1 @@
+require("lsp").setup "asm"
diff --git a/ftplugin/beancount.lua b/ftplugin/beancount.lua
new file mode 100644
index 00000000..ac8aff33
--- /dev/null
+++ b/ftplugin/beancount.lua
@@ -0,0 +1 @@
+require("lsp").setup "beancount"
diff --git a/ftplugin/crystal.lua b/ftplugin/crystal.lua
new file mode 100644
index 00000000..38605db8
--- /dev/null
+++ b/ftplugin/crystal.lua
@@ -0,0 +1 @@
+require("lsp").setup "crystal"
diff --git a/ftplugin/d.lua b/ftplugin/d.lua
new file mode 100644
index 00000000..41a6433b
--- /dev/null
+++ b/ftplugin/d.lua
@@ -0,0 +1 @@
+require("lsp").setup "d"
diff --git a/ftplugin/perl.lua b/ftplugin/perl.lua
new file mode 100644
index 00000000..f1d3b772
--- /dev/null
+++ b/ftplugin/perl.lua
@@ -0,0 +1 @@
+require("lsp").setup "perl"
diff --git a/ftplugin/sql.lua b/ftplugin/sql.lua
new file mode 100644
index 00000000..b4658023
--- /dev/null
+++ b/ftplugin/sql.lua
@@ -0,0 +1 @@
+require("lsp").setup "sql"
diff --git a/lua/core/galaxyline.lua b/lua/core/galaxyline.lua
index 1cc855ee..aafe99bc 100644
--- a/lua/core/galaxyline.lua
+++ b/lua/core/galaxyline.lua
@@ -212,6 +212,7 @@ local function get_attached_provider_name(msg)
for _, client in pairs(buf_clients) do
if client.name == "null-ls" then
table.insert(buf_client_names, lvim.lang[buf_ft].linters[1])
+ table.insert(buf_client_names, lvim.lang[buf_ft].formatter.exe)
else
table.insert(buf_client_names, client.name)
end
diff --git a/lua/default-config.lua b/lua/default-config.lua
index 77087fe5..54b041ca 100644
--- a/lua/default-config.lua
+++ b/lua/default-config.lua
@@ -66,6 +66,32 @@ end
-- TODO move all of this into lang specific files, only require when using
lvim.lang = {
+ asm = {
+ formatter = {
+ exe = "asmfmt",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "",
+ setup = {},
+ },
+ },
+ beancount = {
+ formatter = {
+ exe = "bean_format",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "beancount",
+ setup = {
+ cmd = { "beancount-langserver" },
+ on_attach = common_on_attach,
+ capabilities = common_capabilities,
+ },
+ },
+ },
c = {
formatter = {
exe = "clang_format",
@@ -117,9 +143,24 @@ lvim.lang = {
},
},
},
+ crystal = {
+ formatter = {
+ exe = "crystal_format",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "crystalline",
+ setup = {
+ cmd = { "crystalline" },
+ on_attach = common_on_attach,
+ capabilities = common_capabilities,
+ },
+ },
+ },
cs = {
formatter = {
- exe = "",
+ exe = "clang_format",
args = {},
},
linters = {},
@@ -139,7 +180,7 @@ lvim.lang = {
},
cmake = {
formatter = {
- exe = "clang_format",
+ exe = "cmake_format",
args = {},
},
linters = {},
@@ -192,10 +233,25 @@ lvim.lang = {
},
},
},
+ d = {
+ formatter = {
+ exe = "dfmt",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "serve_d",
+ setup = {
+ cmd = { "serve-d" },
+ on_attach = common_on_attach,
+ capabilities = common_capabilities,
+ },
+ },
+ },
dart = {
formatter = {
- exe = "dart",
- args = { "format" },
+ exe = "dart_format",
+ args = {},
stdin = true,
},
linters = {},
@@ -233,7 +289,7 @@ lvim.lang = {
elixir = {
formatter = {
exe = "mix",
- args = { "format" },
+ args = {},
stdin = true,
},
linters = {},
@@ -250,7 +306,7 @@ lvim.lang = {
},
elm = {
formatter = {
- exe = "",
+ exe = "elm_format",
args = {},
stdin = true,
},
@@ -273,7 +329,7 @@ lvim.lang = {
},
erlang = {
formatter = {
- exe = "",
+ exe = "erlfmt",
args = {},
},
linters = {},
@@ -291,7 +347,7 @@ lvim.lang = {
emmet = { active = false },
fish = {
formatter = {
- exe = "",
+ exe = "fish_indent",
args = {},
},
linters = {},
@@ -384,8 +440,8 @@ lvim.lang = {
},
json = {
formatter = {
- exe = "python",
- args = { "-m", "json.tool" },
+ exe = "json_tool",
+ args = {},
stdin = true,
},
linters = {},
@@ -515,10 +571,45 @@ lvim.lang = {
},
},
},
+ nginx = {
+ formatter = {
+ exe = "nginx_beautifier",
+ args = {
+ provider = "",
+ setup = {},
+ },
+ },
+ linters = {},
+ lsp = {},
+ },
+ perl = {
+ formatter = {
+ exe = "perltidy",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "",
+ setup = {},
+ },
+ },
+ sql = {
+ formatter = {
+ exe = "sqlformat",
+ args = {},
+ },
+ linters = {},
+ lsp = {
+ provider = "sqls",
+ setup = {
+ cmd = { "sqls" },
+ },
+ },
+ },
php = {
formatter = {
exe = "phpcbf",
- args = { "--standard=PSR12", vim.api.nvim_buf_get_name(0) },
+ args = {},
},
linters = {},
lsp = {
@@ -625,7 +716,7 @@ lvim.lang = {
-- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")'
r = {
formatter = {
- exe = "",
+ exe = "format_r",
args = {},
},
linters = {},
@@ -663,7 +754,7 @@ lvim.lang = {
},
rust = {
formatter = {
- exe = "",
+ exe = "rustfmt",
args = {},
},
linters = {},
@@ -680,7 +771,7 @@ lvim.lang = {
},
scala = {
formatter = {
- exe = "",
+ exe = "scalafmt",
args = {},
},
linters = { "" },
@@ -762,9 +853,8 @@ lvim.lang = {
},
terraform = {
formatter = {
- exe = "",
+ exe = "terraform_fmt",
args = {},
- stdin = false,
},
linters = {},
lsp = {
diff --git a/lua/lsp/null-ls.lua b/lua/lsp/null-ls.lua
index 48924be5..5008144f 100644
--- a/lua/lsp/null-ls.lua
+++ b/lua/lsp/null-ls.lua
@@ -43,7 +43,7 @@ local function setup_ls(exe, type)
end
end
else
- if vim.fn.executable(exe) == 1 then
+ if null_ls.builtins[type][exe] and vim.fn.executable(null_ls.builtins[type][exe]._opts.command) then
table.insert(sources, null_ls.builtins[type][exe])
end
end