mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-07-22 03:35:03 +02:00
fix: support neovim v0.10
This commit is contained in:
parent
f00aeb3add
commit
5179bb1047
13 changed files with 515 additions and 513 deletions
|
@ -3,7 +3,7 @@ if not status_ok then
|
|||
return
|
||||
end
|
||||
|
||||
require("user.lsp.mason")
|
||||
require("user.lsp.mason_cfg")
|
||||
--require("user.lsp.config") -- ini hanya untuk windows supaya jdtls jalan, kalau pakai linu x remark saja
|
||||
require("user.lsp.handlers").setup()
|
||||
--require("user.lsp.null-ls")
|
||||
--require("user.lsp.null-lscfg")
|
||||
|
|
|
@ -1,106 +1,106 @@
|
|||
local servers = {
|
||||
"lua_ls",
|
||||
}
|
||||
|
||||
local function idxOf(array, value)
|
||||
for i, v in ipairs(array) do
|
||||
if v == value then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
local mason_install = vim.g.pcode_mason_ensure_installed or {}
|
||||
for _, client in pairs(mason_install) do
|
||||
table.insert(servers, client)
|
||||
end
|
||||
|
||||
local unregis_lsp = vim.g.pcode_unregister_lsp or {}
|
||||
local icons = vim.g.pcode_icons.ui
|
||||
|
||||
local settings = {
|
||||
ui = {
|
||||
-- border = "none",
|
||||
border = icons.Border,
|
||||
icons = {
|
||||
package_pending = icons.DotCircle,
|
||||
package_installed = icons.CheckCircle,
|
||||
package_uninstalled = icons.BlankCircle,
|
||||
},
|
||||
keymaps = {
|
||||
-- Keymap to expand a server in the UI
|
||||
toggle_server_expand = "<CR>",
|
||||
-- Keymap to install the server under the current cursor position
|
||||
install_server = "i",
|
||||
-- Keymap to reinstall/update the server under the current cursor position
|
||||
update_server = "u",
|
||||
-- Keymap to check for new version for the server under the current cursor position
|
||||
check_server_version = "c",
|
||||
-- Keymap to update all installed servers
|
||||
update_all_servers = "U",
|
||||
-- Keymap to check which installed servers are outdated
|
||||
check_outdated_servers = "C",
|
||||
-- Keymap to uninstall a server
|
||||
uninstall_server = "X",
|
||||
},
|
||||
},
|
||||
log_level = vim.log.levels.INFO,
|
||||
max_concurrent_installers = 4,
|
||||
}
|
||||
|
||||
require("mason").setup(settings)
|
||||
-- * buka remark ini jika akan menggunakan list serverrs diatas dan remark config dibawah
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = servers,
|
||||
automatic_installation = true,
|
||||
})
|
||||
--
|
||||
-- * buka remark ini jika ingin menjalankan dengan cara install dan remark config diatas (pilih satu)
|
||||
-- require("mason-lspconfig").setup()
|
||||
|
||||
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
|
||||
if not lspconfig_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local opts = {}
|
||||
|
||||
require("mason-lspconfig").setup_handlers({
|
||||
function(server_name) -- default handler (optional)
|
||||
local is_skip = false
|
||||
local my_index = idxOf(unregis_lsp, server_name)
|
||||
if my_index ~= nil then
|
||||
is_skip = true
|
||||
end
|
||||
if not is_skip then
|
||||
opts = {
|
||||
on_attach = require("user.lsp.handlers").on_attach,
|
||||
capabilities = require("user.lsp.handlers").capabilities,
|
||||
}
|
||||
|
||||
server_name = vim.split(server_name, "@")[1]
|
||||
|
||||
local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server_name)
|
||||
if require_ok then
|
||||
opts = vim.tbl_deep_extend("force", conf_opts, opts)
|
||||
end
|
||||
lspconfig[server_name].setup(opts)
|
||||
end
|
||||
end,
|
||||
-- Next, you can provide targeted overrides for specific servers.
|
||||
-- ["rust_analyzer"] = function()
|
||||
-- require("rust-tools").setup({})
|
||||
-- end,
|
||||
-- ["lua_ls"] = function()
|
||||
-- lspconfig.sumneko_lua.setup({
|
||||
-- settings = {
|
||||
-- Lua = {
|
||||
-- diagnostics = {
|
||||
-- globals = { "vim" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
})
|
||||
local servers = {
|
||||
"lua_ls",
|
||||
}
|
||||
|
||||
local function idxOf(array, value)
|
||||
for i, v in ipairs(array) do
|
||||
if v == value then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
local mason_install = vim.g.pcode_mason_ensure_installed or {}
|
||||
for _, client in pairs(mason_install) do
|
||||
table.insert(servers, client)
|
||||
end
|
||||
|
||||
local unregis_lsp = vim.g.pcode_unregister_lsp or {}
|
||||
local icons = vim.g.pcode_icons.ui
|
||||
|
||||
local settings = {
|
||||
ui = {
|
||||
-- border = "none",
|
||||
border = icons.Border,
|
||||
icons = {
|
||||
package_pending = icons.DotCircle,
|
||||
package_installed = icons.CheckCircle,
|
||||
package_uninstalled = icons.BlankCircle,
|
||||
},
|
||||
keymaps = {
|
||||
-- Keymap to expand a server in the UI
|
||||
toggle_server_expand = "<CR>",
|
||||
-- Keymap to install the server under the current cursor position
|
||||
install_server = "i",
|
||||
-- Keymap to reinstall/update the server under the current cursor position
|
||||
update_server = "u",
|
||||
-- Keymap to check for new version for the server under the current cursor position
|
||||
check_server_version = "c",
|
||||
-- Keymap to update all installed servers
|
||||
update_all_servers = "U",
|
||||
-- Keymap to check which installed servers are outdated
|
||||
check_outdated_servers = "C",
|
||||
-- Keymap to uninstall a server
|
||||
uninstall_server = "X",
|
||||
},
|
||||
},
|
||||
log_level = vim.log.levels.INFO,
|
||||
max_concurrent_installers = 4,
|
||||
}
|
||||
|
||||
require("mason").setup(settings)
|
||||
-- * buka remark ini jika akan menggunakan list serverrs diatas dan remark config dibawah
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = servers,
|
||||
automatic_installation = true,
|
||||
})
|
||||
--
|
||||
-- * buka remark ini jika ingin menjalankan dengan cara install dan remark config diatas (pilih satu)
|
||||
-- require("mason-lspconfig").setup()
|
||||
|
||||
local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig")
|
||||
if not lspconfig_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local opts = {}
|
||||
|
||||
require("mason-lspconfig").setup_handlers({
|
||||
function(server_name) -- default handler (optional)
|
||||
local is_skip = false
|
||||
local my_index = idxOf(unregis_lsp, server_name)
|
||||
if my_index ~= nil then
|
||||
is_skip = true
|
||||
end
|
||||
if not is_skip then
|
||||
opts = {
|
||||
on_attach = require("user.lsp.handlers").on_attach,
|
||||
capabilities = require("user.lsp.handlers").capabilities,
|
||||
}
|
||||
|
||||
server_name = vim.split(server_name, "@")[1]
|
||||
|
||||
local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server_name)
|
||||
if require_ok then
|
||||
opts = vim.tbl_deep_extend("force", conf_opts, opts)
|
||||
end
|
||||
lspconfig[server_name].setup(opts)
|
||||
end
|
||||
end,
|
||||
-- Next, you can provide targeted overrides for specific servers.
|
||||
-- ["rust_analyzer"] = function()
|
||||
-- require("rust-tools").setup({})
|
||||
-- end,
|
||||
-- ["lua_ls"] = function()
|
||||
-- lspconfig.sumneko_lua.setup({
|
||||
-- settings = {
|
||||
-- Lua = {
|
||||
-- diagnostics = {
|
||||
-- globals = { "vim" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
})
|
|
@ -1,84 +1,84 @@
|
|||
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
|
||||
if not null_ls_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
||||
local formatting = null_ls.builtins.formatting
|
||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
||||
local diagnostics = null_ls.builtins.diagnostics
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
|
||||
local sources = {}
|
||||
local ensure_installed = {}
|
||||
|
||||
local data_ok, data_sources = pcall(require, "custom.null-ls")
|
||||
if data_ok then
|
||||
for _, cfg in pairs(data_sources.sources) do
|
||||
table.insert(sources, cfg)
|
||||
end
|
||||
end
|
||||
|
||||
-- load data null-ls
|
||||
local nullls_data = vim.g.pcode_null_ls_ensure_installed or {}
|
||||
for _, nullls in pairs(nullls_data) do
|
||||
table.insert(ensure_installed, nullls)
|
||||
end
|
||||
|
||||
local mason_ok, mason_null_ls = pcall(require, "mason-null-ls")
|
||||
if mason_ok then
|
||||
mason_null_ls.setup({
|
||||
ensure_installed = ensure_installed,
|
||||
})
|
||||
end
|
||||
|
||||
local run = 0
|
||||
local frmt = vim.g.pcode_format_on_save or 0
|
||||
if frmt == 1 then
|
||||
run = 1
|
||||
end
|
||||
|
||||
if run == 1 then
|
||||
null_ls.setup({
|
||||
debug = false,
|
||||
ensure_installed = ensure_installed,
|
||||
sources = sources,
|
||||
--sources = {
|
||||
--formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
|
||||
--formatting.prettier,
|
||||
-- formatting.prettierd,
|
||||
-- formatting.black.with({ extra_args = { "--fast" } }),
|
||||
-- formatting.stylua,
|
||||
-- formatting.eslint_d,
|
||||
-- formatting.google_java_format,
|
||||
-- formatting.phpcbf,
|
||||
-- formatting.clang_format,
|
||||
-- diagnostics.flake8
|
||||
-- diagnostics.eslint_d,
|
||||
--},
|
||||
|
||||
on_attach = function(client, bufnr)
|
||||
--if client.resolved_capabilities.document_formatting then
|
||||
--vim.cmd("autocmd BufWritePre <buffer> lua vim.lsp.buf.format{async=true}")
|
||||
--end
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = bufnr })
|
||||
-- vim.lsp.buf.formatting_sync()
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
else
|
||||
null_ls.setup({
|
||||
debug = false,
|
||||
ensure_installed = ensure_installed,
|
||||
sources = sources,
|
||||
})
|
||||
end
|
||||
local null_ls_status_ok, null_ls = pcall(require, "null-ls")
|
||||
if not null_ls_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
||||
local formatting = null_ls.builtins.formatting
|
||||
-- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
||||
local diagnostics = null_ls.builtins.diagnostics
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
|
||||
local sources = {}
|
||||
local ensure_installed = {}
|
||||
|
||||
local data_ok, data_sources = pcall(require, "custom.null-ls")
|
||||
if data_ok then
|
||||
for _, cfg in pairs(data_sources.sources) do
|
||||
table.insert(sources, cfg)
|
||||
end
|
||||
end
|
||||
|
||||
-- load data null-ls
|
||||
local nullls_data = vim.g.pcode_null_ls_ensure_installed or {}
|
||||
for _, nullls in pairs(nullls_data) do
|
||||
table.insert(ensure_installed, nullls)
|
||||
end
|
||||
|
||||
local mason_ok, mason_null_ls = pcall(require, "mason-null-ls")
|
||||
if mason_ok then
|
||||
mason_null_ls.setup({
|
||||
ensure_installed = ensure_installed,
|
||||
})
|
||||
end
|
||||
|
||||
local run = 0
|
||||
local frmt = vim.g.pcode_format_on_save or 0
|
||||
if frmt == 1 then
|
||||
run = 1
|
||||
end
|
||||
|
||||
if run == 1 then
|
||||
null_ls.setup({
|
||||
debug = false,
|
||||
ensure_installed = ensure_installed,
|
||||
sources = sources,
|
||||
--sources = {
|
||||
--formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
|
||||
--formatting.prettier,
|
||||
-- formatting.prettierd,
|
||||
-- formatting.black.with({ extra_args = { "--fast" } }),
|
||||
-- formatting.stylua,
|
||||
-- formatting.eslint_d,
|
||||
-- formatting.google_java_format,
|
||||
-- formatting.phpcbf,
|
||||
-- formatting.clang_format,
|
||||
-- diagnostics.flake8
|
||||
-- diagnostics.eslint_d,
|
||||
--},
|
||||
|
||||
on_attach = function(client, bufnr)
|
||||
--if client.resolved_capabilities.document_formatting then
|
||||
--vim.cmd("autocmd BufWritePre <buffer> lua vim.lsp.buf.format{async=true}")
|
||||
--end
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = bufnr })
|
||||
-- vim.lsp.buf.formatting_sync()
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
else
|
||||
null_ls.setup({
|
||||
debug = false,
|
||||
ensure_installed = ensure_installed,
|
||||
sources = sources,
|
||||
})
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue