local Util = require("lazy.core.util") local M = {} ---@param on_attach fun(client, buffer) M.icons = { diagnostics = { Error = " ", Warn = " ", Hint = "󰠠 ", Info = " ", }, git = { added = " ", modified = " ", removed = " ", }, kinds = { Array = " ", Boolean = " ", Class = " ", Color = " ", Constant = " ", Constructor = " ", Copilot = " ", Enum = " ", EnumMember = " ", Event = " ", Field = " ", File = " ", Folder = " ", Function = " ", Interface = " ", Key = " ", Keyword = " ", Method = " ", Module = " ", Namespace = " ", Null = "ﳠ ", Number = " ", Object = " ", Operator = " ", Package = " ", Property = " ", Reference = " ", Snippet = " ", String = " ", Struct = " ", Text = " ", TypeParameter = " ", Unit = " ", Value = " ", Variable = " ", }, } ---@param on_attach fun(client, buffer) function M.on_attach(on_attach) vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local buffer = args.buf local client = vim.lsp.get_client_by_id(args.data.client_id) on_attach(client, buffer) end, }) end ---@param plugin string function M.has(plugin) return require("lazy.core.config").plugins[plugin] ~= nil end ---@param name string function M.opts(name) local plugin = require("lazy.core.config").plugins[name] if not plugin then return {} end local Plugin = require("lazy.core.plugin") return Plugin.values(plugin, "opts", false) end function M.on_very_lazy(fn) vim.api.nvim_create_autocmd("User", { pattern = "VeryLazy", callback = function() fn() end, }) end function M.HideMarkdownBrackets() vim.cmd("syntax match ConcealBrackets /\\[\\[\\|\\]\\]/ conceal cchar= ") end return M