mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-30 06:39:33 +02:00
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
This commit is contained in:
parent
2ec446e21e
commit
21971cbed5
9 changed files with 114 additions and 17 deletions
1
ftplugin/asm.lua
Normal file
1
ftplugin/asm.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "asm"
|
1
ftplugin/beancount.lua
Normal file
1
ftplugin/beancount.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "beancount"
|
1
ftplugin/crystal.lua
Normal file
1
ftplugin/crystal.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "crystal"
|
1
ftplugin/d.lua
Normal file
1
ftplugin/d.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "d"
|
1
ftplugin/perl.lua
Normal file
1
ftplugin/perl.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "perl"
|
1
ftplugin/sql.lua
Normal file
1
ftplugin/sql.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require("lsp").setup "sql"
|
|
@ -212,6 +212,7 @@ local function get_attached_provider_name(msg)
|
||||||
for _, client in pairs(buf_clients) do
|
for _, client in pairs(buf_clients) do
|
||||||
if client.name == "null-ls" then
|
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].linters[1])
|
||||||
|
table.insert(buf_client_names, lvim.lang[buf_ft].formatter.exe)
|
||||||
else
|
else
|
||||||
table.insert(buf_client_names, client.name)
|
table.insert(buf_client_names, client.name)
|
||||||
end
|
end
|
||||||
|
|
|
@ -66,6 +66,32 @@ end
|
||||||
|
|
||||||
-- TODO move all of this into lang specific files, only require when using
|
-- TODO move all of this into lang specific files, only require when using
|
||||||
lvim.lang = {
|
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 = {
|
c = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "clang_format",
|
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 = {
|
cs = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "clang_format",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -139,7 +180,7 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
cmake = {
|
cmake = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "clang_format",
|
exe = "cmake_format",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
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 = {
|
dart = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "dart",
|
exe = "dart_format",
|
||||||
args = { "format" },
|
args = {},
|
||||||
stdin = true,
|
stdin = true,
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -233,7 +289,7 @@ lvim.lang = {
|
||||||
elixir = {
|
elixir = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "mix",
|
exe = "mix",
|
||||||
args = { "format" },
|
args = {},
|
||||||
stdin = true,
|
stdin = true,
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -250,7 +306,7 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
elm = {
|
elm = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "elm_format",
|
||||||
args = {},
|
args = {},
|
||||||
stdin = true,
|
stdin = true,
|
||||||
},
|
},
|
||||||
|
@ -273,7 +329,7 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
erlang = {
|
erlang = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "erlfmt",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -291,7 +347,7 @@ lvim.lang = {
|
||||||
emmet = { active = false },
|
emmet = { active = false },
|
||||||
fish = {
|
fish = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "fish_indent",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -384,8 +440,8 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
json = {
|
json = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "python",
|
exe = "json_tool",
|
||||||
args = { "-m", "json.tool" },
|
args = {},
|
||||||
stdin = true,
|
stdin = true,
|
||||||
},
|
},
|
||||||
linters = {},
|
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 = {
|
php = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "phpcbf",
|
exe = "phpcbf",
|
||||||
args = { "--standard=PSR12", vim.api.nvim_buf_get_name(0) },
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
lsp = {
|
lsp = {
|
||||||
|
@ -625,7 +716,7 @@ lvim.lang = {
|
||||||
-- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")'
|
-- R -e 'install.packages("readr",repos = "http://cran.us.r-project.org")'
|
||||||
r = {
|
r = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "format_r",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -663,7 +754,7 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
rust = {
|
rust = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "rustfmt",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
|
@ -680,7 +771,7 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
scala = {
|
scala = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "scalafmt",
|
||||||
args = {},
|
args = {},
|
||||||
},
|
},
|
||||||
linters = { "" },
|
linters = { "" },
|
||||||
|
@ -762,9 +853,8 @@ lvim.lang = {
|
||||||
},
|
},
|
||||||
terraform = {
|
terraform = {
|
||||||
formatter = {
|
formatter = {
|
||||||
exe = "",
|
exe = "terraform_fmt",
|
||||||
args = {},
|
args = {},
|
||||||
stdin = false,
|
|
||||||
},
|
},
|
||||||
linters = {},
|
linters = {},
|
||||||
lsp = {
|
lsp = {
|
||||||
|
|
|
@ -43,7 +43,7 @@ local function setup_ls(exe, type)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
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])
|
table.insert(sources, null_ls.builtins[type][exe])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue