170 lines
3.7 KiB
Nix
170 lines
3.7 KiB
Nix
{
|
|
imports = [
|
|
./dotnet.nix
|
|
];
|
|
programs.nixvim = {
|
|
plugins = {
|
|
dap.enable = true;
|
|
dap-python.enable = true;
|
|
dap-ui = {
|
|
enable = true;
|
|
settings = {
|
|
controls = {
|
|
enable = true;
|
|
element = "repl";
|
|
};
|
|
layouts = [
|
|
{
|
|
elements = [
|
|
{
|
|
id = "breakpoints";
|
|
size = 0.25;
|
|
}
|
|
{
|
|
id = "repl";
|
|
size = 0.75;
|
|
}
|
|
];
|
|
position = "bottom";
|
|
size = 10;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
keymaps = [
|
|
{
|
|
mode = "n";
|
|
key = "<F6>";
|
|
action = "<CMD>lua require('dapui').toggle()<CR>";
|
|
options = {
|
|
desc = "Toggle Debugging UI";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<F5>";
|
|
action = "<CMD>DapContinue<CR>";
|
|
options = {
|
|
desc = "Continue Debugging";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<F10>";
|
|
action = "<CMD>DapStepOver<CR>";
|
|
options = {
|
|
desc = "Step Over (Debugger)";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<F11>";
|
|
action = "<CMD>DapStepInto<CR>";
|
|
options = {
|
|
desc = "Step Into (Debugger)";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<F12>";
|
|
action = "<CMD>DapStepOut<CR>";
|
|
options = {
|
|
desc = "Step Out (Debugger)";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>b";
|
|
action = "<CMD>DapToggleBreakpoint<CR>";
|
|
options = {
|
|
desc = "Toggle Breakpoint (Debugger)";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>B";
|
|
action = "<CMD>DapSetBreakpoint<CR>";
|
|
options = {
|
|
desc = "Set Breakpoint (Debugger)";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>lp";
|
|
action = "<CMD>lua require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: '))<CR>";
|
|
options = {
|
|
desc = "Set Log Point (Debugger)";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dr";
|
|
action = "<CMD>DapToggleRepl<CR>";
|
|
options = {
|
|
desc = "Toggle REPL";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>dl";
|
|
action = "<CMD>lua require('dap').run_last()<CR>";
|
|
options = {
|
|
desc = "Run Last (Debugger)";
|
|
silent = false;
|
|
};
|
|
}
|
|
{
|
|
mode = [
|
|
"n"
|
|
"v"
|
|
];
|
|
key = "<leader>dh";
|
|
action = "<CMD>lua require('dap.ui.widgets').hover()<CR>";
|
|
options = {
|
|
desc = "TODO";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = [
|
|
"n"
|
|
"v"
|
|
];
|
|
key = "<leader>dh";
|
|
action = "<CMD>lua require('dap.ui.widgets').preview()<CR>";
|
|
options = {
|
|
desc = "TODO";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>df";
|
|
action = "<CMD>lua require('dap.ui.widgets').centered_float(widgets.frames)<CR>";
|
|
options = {
|
|
desc = "TODO";
|
|
silent = true;
|
|
};
|
|
}
|
|
{
|
|
mode = "n";
|
|
key = "<leader>ds";
|
|
action = "<CMD>lua require('dap.ui.widgets').centered_float(widgets.scopes)<CR>";
|
|
options = {
|
|
desc = "TODO";
|
|
silent = true;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|