install debugger

This commit is contained in:
♥ Minnie ♥ 2025-05-16 21:01:35 +08:00
parent 7dd9c63f32
commit a6f234cc57
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
5 changed files with 225 additions and 0 deletions

View file

@ -10,6 +10,12 @@
# Completion
./plugins/cmp/cmp.nix
# Debug Adapter Protocol
./plugins/dap/dap.nix
./plugins/dap/dap-ui.nix
./plugins/dap/dap-virtual-text.nix
./plugins/dap/dap-python.nix
# Editor plugins and configurations
./plugins/editor/buffers.nix
./plugins/editor/comment.nix

View file

@ -0,0 +1,53 @@
{ ... }: {
plugins.dap-python = {
enable = true;
};
keymaps = [
{
mode = ["n" "v"];
key = "<leader>dP";
action = "<NOP>";
options = {
silent = true;
desc = "+python";
};
}
{
mode = ["n"];
key = "<leader>dPm";
action = {
__raw = "require('dap-python').test_method";
};
options = {
silent = true;
desc = "Test method";
};
}
{
mode = ["n"];
key = "<leader>dPc";
action = {
__raw = "require('dap-python').test_class";
};
options = {
silent = true;
desc = "Test Class";
};
}
{
mode = ["v"];
key = "<leader>dPs";
action = {
__raw = "require('dap-python').debug_selection";
};
options = {
silent = true;
desc = "Debug selection";
};
}
];
}

View file

@ -0,0 +1,18 @@
{...}: {
plugins.dap-ui = {
enable = true;
};
keymaps = [
{
key = "<leader>du";
action = {
__raw = "require('dapui').toggle";
};
options = {
silent = true;
desc = "Toggle UI";
};
}
];
}

View file

@ -0,0 +1,5 @@
{ ... }: {
plugins.dap-virtual-text = {
enable = true;
};
}

143
config/plugins/dap/dap.nix Normal file
View file

@ -0,0 +1,143 @@
{...}: {
plugins.dap = {
enable = true;
};
keymaps = [
# Prefix: dap
{
mode = ["n" "v"];
key = "<leader>d";
action = "<NOP>";
options = {
silent = true;
desc = "+dap";
};
}
# Session management:
{
mode = ["n" "v"];
key = "<leader>dc";
action = "<cmd>DapContinue<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dd";
action = "<cmd>DapDisconnect<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dn";
action = "<cmd>DapNew<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dt";
action = "<cmd>DapTerminate<cr>";
options = {
silent = true;
};
}
# Stepping:
{
mode = ["n"];
key = "<leader>dr";
action = "<cmd>DapRestartFrame<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>di";
action = "<cmd>DapStepInto<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dO";
action = "<cmd>DapStepOut<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>do";
action = "<cmd>DapStepOver<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dp";
action = "<cmd>DapPause<cr>";
options = {
silent = true;
};
}
# Repl:
{
mode = ["n"];
key = "<leader>dE";
action = "<cmd>DapEval<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>dR";
action = "<cmd>DapToggleRepl<cr>";
options = {
silent = true;
};
}
# Breakpoints:
{
mode = ["n"];
key = "<leader>dB";
action = "<cmd>DapClearBreakpoints<cr>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<leader>db";
action = "<cmd>DapToggleBreakpoint<cr>";
options = {
silent = true;
};
}
];
}