This commit is contained in:
Zackarias Montell
2026-04-15 09:20:37 +02:00
parent dfa1b7c2fc
commit d4562f0c3d
2 changed files with 224 additions and 54 deletions

View File

@@ -9,6 +9,8 @@ local default_prog = {
"& { . ~/.profile.ps1; $host.EnterNestedPrompt() }",
}
default_prog = {"ubuntu"}
return {
default_prog = default_prog,
check_for_updates = true,

View File

@@ -14,8 +14,7 @@ vim.o.ignorecase = true -- Case insensitive search
vim.o.smartcase = true -- Case sensitive when caps is used
vim.o.cursorline = true -- Highlight current line
vim.o.winborder = "single" -- Borders around popups like when you press leader for keybinds
vim.opt.signcolumn =
"yes" -- TEST: Prohibit layout shifting by always showing the sign column (left of line numbers), you should see an icon there on this row.
vim.opt.signcolumn = "yes" -- TEST: Prohibit layout shifting by always showing the sign column (left of line numbers), you should see an icon there on this row.
vim.o.updatetime = 250 -- Speed up the CursorHold autocmd event
vim.o.timeoutlen = 300 -- Speed up completion of key event
-- SECTION: Globals
@@ -71,8 +70,7 @@ vim.keymap.set("n", "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", { desc = "Den
vim.api.nvim_create_autocmd("FileType", {
pattern = { "NvimTree", "neo-tree", "oil", "minifiles", "netrw" },
callback = function(ev)
vim.keymap.set("n", "<leader>as", "<cmd>ClaudeCodeTreeAdd<cr>",
{ desc = "Add file", buffer = ev.buf })
vim.keymap.set("n", "<leader>as", "<cmd>ClaudeCodeTreeAdd<cr>", { desc = "Add file", buffer = ev.buf })
end,
})
@@ -99,6 +97,13 @@ vim.pack.add({
"https://github.com/stevearc/oil.nvim", -- File explorer
"https://github.com/folke/snacks.nvim", -- Dep for claudecode
"https://github.com/coder/claudecode.nvim", -- Claude code
"https://github.com/MeanderingProgrammer/render-markdown.nvim", -- Rendering markdown
"https://github.com/mfussenegger/nvim-dap", -- DAP support
"https://github.com/rcarriga/nvim-dap-ui", -- DAP UI
"https://github.com/nvim-neotest/nvim-nio", -- Asynchronous io
"https://github.com/jay-babu/mason-nvim-dap.nvim", -- Automatically install DAP adapters
"https://github.com/thehamsta/nvim-dap-virtual-text", -- Virtual text for nvim dap
"https://github.com/mfussenegger/nvim-dap-python", -- Python support for nvim-dap
})
-- SECTION: Colorscheme
@@ -107,7 +112,9 @@ vim.cmd("colorscheme catppuccin-mocha")
-- SECTION: General plugin setup
-- Folke
require("lazydev").setup()
require("lazydev").setup({
library = { "nvim-dap-ui" }, -- Add type checking for nvim-dap-ui
})
local wk = require("which-key")
wk.setup()
@@ -115,6 +122,104 @@ wk.add({
{ "<leader>s", group = "[S]earch" },
{ "<leader>o", group = "Source current file", mode = { "n" } },
{ "<leader>a", group = "AI/Claude Code" },
{
"<leader>d",
group = "Debugger",
nowait = true,
remap = false,
},
{
"<leader>dt",
function()
require("dap").toggle_breakpoint()
end,
desc = "Toggle Breakpoint",
nowait = true,
remap = false,
},
{
"<leader>dc",
function()
require("dap").continue()
end,
desc = "Continue",
nowait = true,
remap = false,
},
{
"<leader>di",
function()
require("dap").step_into()
end,
desc = "Step Into",
nowait = true,
remap = false,
},
{
"<leader>do",
function()
require("dap").step_over()
end,
desc = "Step Over",
nowait = true,
remap = false,
},
{
"<leader>du",
function()
require("dap").step_out()
end,
desc = "Step Out",
nowait = true,
remap = false,
},
{
"<leader>dr",
function()
require("dap").repl.open()
end,
desc = "Open REPL",
nowait = true,
remap = false,
},
{
"<leader>dl",
function()
require("dap").run_last()
end,
desc = "Run Last",
nowait = true,
remap = false,
},
{
"<leader>dq",
function()
require("dap").terminate()
require("dapui").close()
require("nvim-dap-virtual-text").toggle()
end,
desc = "Terminate",
nowait = true,
remap = false,
},
{
"<leader>db",
function()
require("dap").list_breakpoints()
end,
desc = "List Breakpoints",
nowait = true,
remap = false,
},
{
"<leader>de",
function()
require("dap").set_exception_breakpoints({ "all" })
end,
desc = "Set Exception Breakpoints",
nowait = true,
remap = false,
},
})
-- Mini
@@ -209,6 +314,69 @@ require("mason-tool-installer").setup({
})
vim.lsp.enable({ "ts_ls", "vue_ls" })
-- SECTION: DAP
local mason_dap = require("mason-nvim-dap")
local dap = require("dap")
local ui = require("dapui")
local dap_virtual_text = require("nvim-dap-virtual-text")
require('dap-python').setup("debugpy-adapter")
dap_virtual_text.setup({})
mason_dap.setup({
ensure_installed = { "cppdbg", "debugpy" },
automatic_installation = true,
handlers = {
function(config)
require("mason-nvim-dap").default_setup(config)
end,
},
})
dap.configurations = {
c = {
{
name = "Launch file",
type = "cppdbg",
request = "launch",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "\\", "file")
end,
cwd = "${workspaceFolder}",
stopAtEntry = false,
MIMode = "lldb",
},
{
name = "Attach to lldbserver :1234",
type = "cppdbg",
request = "launch",
MIMode = "lldb",
miDebuggerServerAddress = "localhost:1234",
miDebuggerPath = "/usr/bin/lldb",
cwd = "${workspaceFolder}",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "\\", "file")
end,
},
},
}
ui.setup()
vim.fn.sign_define("DapBreakpoint", { text = "🐞" })
dap.listeners.before.attach.dapui_config = function()
ui.open()
end
dap.listeners.before.launch.dapui_config = function()
ui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
ui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
ui.close()
end
-- SECTION: Helpers
local function client_supports_method(client, method, bufnr)
if vim.fn.has("nvim-0.11") == 1 then