Files
dotfiles/nvim/lua/config/lazy.lua
T
2025-10-25 01:52:02 -03:00

142 lines
3.3 KiB
Lua

local function make_transparent()
local groups = {
"Normal","NormalNC","NormalFloat","FloatBorder",
"SignColumn","EndOfBuffer","LineNr","CursorLineNr",
"StatusLine","MsgArea","WinSeparator",
-- common plugin groups:
"TelescopeNormal","TelescopeBorder",
"NvimTreeNormal","NvimTreeNormalNC",
"NeoTreeNormal","NeoTreeNormalNC",
}
for _, g in ipairs(groups) do
pcall(vim.api.nvim_set_hl, 0, g, { bg = "NONE" })
end
end
vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, {
callback = make_transparent,
desc = "Force transparent background after any colorscheme loads",
})
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
require("config.opts")
require("lazy").setup({
spec = {
{ import = "plugins.coding" },
{ import = "plugins.colors" },
{ import = "plugins.ui" },
{ import = "plugins.debugging" },
},
install = { colorscheme = { "habamax" } },
checker = { enabled = true },
})
require("config.cmake")
require("config.lsp")
require("notify").setup({
background_colour = "#000000",
})
local dap = require('dap')
dap.adapters.codelldb = {
type = "executable",
command = "/Users/caiowakamatsu/install/codelldb/extension/adapter/codelldb",
}
local dap = require('dap')
vim.api.nvim_create_user_command('Debug', function(opts)
local args = vim.split(opts.args, " ")
if #args < 1 then
print("Usage: :Debug <executable> [<working_dir>] [<args>...]")
return
end
local executable = args[1]
local working_dir = (#args >= 2 and args[2] ~= "") and args[2] or vim.fn.getcwd()
local program_args = {}
if #args > 2 then
for i = 3, #args do
table.insert(program_args, args[i])
end
end
dap.run({
type = 'codelldb',
request = 'launch',
name = 'Custom Debug',
program = executable,
cwd = working_dir,
args = program_args,
stopOnEntry = false,
})
end, {
nargs = '+',
complete = 'file',
desc = 'Launch a debugger session with custom executable and args',
})
require("dapui").setup({
layouts = {
{
elements = {
{ id = "scopes", size = 0.8 },
{ id = "watches", size = 0.2 },
},
size = 40,
position = "left",
},
{
elements = {
"repl",
"console",
},
size = 0.25,
position = "bottom",
},
},
controls = {
enabled = true,
},
floating = {
max_height = nil,
max_width = nil,
border = "rounded",
mappings = {
close = { "q", "<Esc>" },
},
},
windows = { indent = 1 },
})
local dap, dapui = require("dap"), require("dapui")
dap.listeners.before.attach.dapui_config = function()
dapui.open()
end
dap.listeners.before.launch.dapui_config = function()
dapui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
dapui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
dapui.close()
end