fixing configuration to change the windows
This commit is contained in:
@@ -9,9 +9,13 @@ keymaps/
|
||||
├── README.md # This file
|
||||
├── general.lua # General keymaps (leader, basic navigation)
|
||||
├── personal.lua # Personal workflow keymaps
|
||||
├── lsp.lua # LSP and function navigation keymaps
|
||||
├── snacks.lua # Snacks search and navigation keymaps (replacing Telescope)
|
||||
└── plugins.lua # Plugin-specific keymaps
|
||||
├── lsp.lua # LSP and function navigation keymaps
|
||||
├── dap.lua # DAP debugging keymaps
|
||||
├── snacks.lua # Snacks search and navigation keymaps (replacing Telescope)
|
||||
├── window.lua # Window management keymaps
|
||||
├── copilot.lua # Copilot AI keymaps
|
||||
├── gitconflict.lua # Git conflict resolution keymaps
|
||||
└── plugins.lua # Plugin-specific keymaps
|
||||
```
|
||||
|
||||
## 🔧 How It Works
|
||||
@@ -36,6 +40,13 @@ The main `keymaps.lua` file automatically loads all `.lua` files from this folde
|
||||
- Code actions and documentation
|
||||
- Diagnostics
|
||||
|
||||
### **dap.lua**
|
||||
- Debug session control (`<leader>dcr`, `<leader>dq`)
|
||||
- Breakpoints (`<leader>db`, `<leader>dB`)
|
||||
- Step navigation (`<leader>do`, `<leader>di`, `<leader>dot`)
|
||||
- DAP UI toggle (`<leader>du`)
|
||||
- REPL and configuration pickers
|
||||
|
||||
### **snacks.lua**
|
||||
- File search (`<leader>ff`, `<leader>fs`)
|
||||
- Buffer management
|
||||
@@ -71,7 +82,11 @@ To add new keymaps:
|
||||
| General | `general.lua` | Basic setup and utilities |
|
||||
| Personal | `personal.lua` | Your workflow shortcuts |
|
||||
| LSP | `lsp.lua` | Function navigation and LSP features |
|
||||
| Debugging | `dap.lua` | DAP debugging (Java, Node.js, Python) |
|
||||
| Search | `snacks.lua` | File and text search |
|
||||
| Window | `window.lua` | Window/split management |
|
||||
| Copilot | `copilot.lua` | AI assistant keymaps |
|
||||
| Git Conflicts | `gitconflict.lua` | Conflict resolution |
|
||||
| Plugins | `plugins.lua` | Plugin-specific functionality |
|
||||
|
||||
## 🔄 Benefits
|
||||
|
||||
@@ -3,8 +3,8 @@ local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "]x", "<Plug>(git-conflict-next-conflict)", { desc = "Go to next git conflict" })
|
||||
keymap.set("n", "[x", "<Plug>(git-conflict-prev-conflict)", { desc = "Go to previous git conflict" })
|
||||
keymap.set("n", "<leader>co", "<Plug>(git-conflict-ours)", { desc = "Choose ours (git conflict)" })
|
||||
keymap.set("n", "<leader>ct", "<Plug>(git-conflict-theirs)", { desc = "Choose theirs (git conflict)" })
|
||||
keymap.set("n", "<leader>cb", "<Plug>(git-conflict-both)", { desc = "Choose both (git conflict)" })
|
||||
keymap.set("n", "<leader>c0", "<Plug>(git-conflict-none)", { desc = "Choose none (git conflict)" })
|
||||
keymap.set("n", "<leader>cq", "<Plug>(git-conflict-list)", { desc = "List all git conflicts" })
|
||||
keymap.set("n", "<leader>gco", "<Plug>(git-conflict-ours)", { desc = "Choose ours (git conflict)" })
|
||||
keymap.set("n", "<leader>gct", "<Plug>(git-conflict-theirs)", { desc = "Choose theirs (git conflict)" })
|
||||
keymap.set("n", "<leader>gcb", "<Plug>(git-conflict-both)", { desc = "Choose both (git conflict)" })
|
||||
keymap.set("n", "<leader>gc0", "<Plug>(git-conflict-none)", { desc = "Choose none (git conflict)" })
|
||||
keymap.set("n", "<leader>gcl", "<Plug>(git-conflict-list)", { desc = "List all git conflicts" })
|
||||
|
||||
@@ -67,7 +67,6 @@ keymap.set(
|
||||
)
|
||||
keymap.set("n", "<leader>,", "$a,<ESC>", { desc = "Adding ',' at the end of the line" })
|
||||
keymap.set("n", "<leader>;", "$a;<ESC>", { desc = "Adding ';' at the end of the line" })
|
||||
keymap.set("n", "<leader>con", "oconsole.log()<ESC>0w$h", { desc = "Adding console.log() on the line below" })
|
||||
keymap.set("n", "<leader>xr", ":!node %<CR>", { desc = "Run file with node" })
|
||||
|
||||
-- Resize splits keymaps are centralized in lua/cargdev/core/keymaps/window.lua
|
||||
|
||||
@@ -77,8 +77,9 @@ return {
|
||||
|
||||
-- 🧠 Mason DAP
|
||||
require("mason-nvim-dap").setup({
|
||||
ensure_installed = { "js-debug-adapter", "firefox", "javadbg", "javatest" },
|
||||
automatic_setup = true,
|
||||
ensure_installed = { "python", "js", "javadbg", "javatest" },
|
||||
automatic_installation = true,
|
||||
handlers = {},
|
||||
})
|
||||
|
||||
-- 🔍 Virtual Text
|
||||
@@ -144,45 +145,160 @@ return {
|
||||
-- via jdtls.setup_dap() which automatically sets up the adapter
|
||||
-- The configurations are dynamically discovered from the project
|
||||
|
||||
-- 🧠 Node.js (NestJS / TypeScript) - Using js-debug-adapter
|
||||
dap.adapters.node = {
|
||||
type = "executable",
|
||||
command = "node",
|
||||
args = {
|
||||
os.getenv("HOME") .. "/.local/share/nvim/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js",
|
||||
"${port}",
|
||||
-- 🐍 Python (debugpy)
|
||||
local debugpy_path = os.getenv("HOME") .. "/.local/share/nvim/mason/packages/debugpy/venv/bin/python"
|
||||
require("dap-python").setup(debugpy_path)
|
||||
|
||||
dap.configurations.python = {
|
||||
{
|
||||
name = "Launch File",
|
||||
type = "python",
|
||||
request = "launch",
|
||||
program = "${file}",
|
||||
console = "integratedTerminal",
|
||||
cwd = fn.getcwd(),
|
||||
},
|
||||
{
|
||||
name = "Launch File with Arguments",
|
||||
type = "python",
|
||||
request = "launch",
|
||||
program = "${file}",
|
||||
args = function()
|
||||
local args_string = vim.fn.input("Arguments: ")
|
||||
return vim.split(args_string, " +")
|
||||
end,
|
||||
console = "integratedTerminal",
|
||||
cwd = fn.getcwd(),
|
||||
},
|
||||
{
|
||||
name = "Attach Remote",
|
||||
type = "python",
|
||||
request = "attach",
|
||||
connect = {
|
||||
host = "127.0.0.1",
|
||||
port = 5678,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "Django",
|
||||
type = "python",
|
||||
request = "launch",
|
||||
program = "${workspaceFolder}/manage.py",
|
||||
args = { "runserver", "--noreload" },
|
||||
console = "integratedTerminal",
|
||||
django = true,
|
||||
},
|
||||
{
|
||||
name = "FastAPI",
|
||||
type = "python",
|
||||
request = "launch",
|
||||
module = "uvicorn",
|
||||
args = { "main:app", "--reload" },
|
||||
console = "integratedTerminal",
|
||||
cwd = fn.getcwd(),
|
||||
},
|
||||
{
|
||||
name = "Flask",
|
||||
type = "python",
|
||||
request = "launch",
|
||||
module = "flask",
|
||||
env = { FLASK_APP = "app.py", FLASK_DEBUG = "1" },
|
||||
args = { "run", "--no-debugger", "--no-reload" },
|
||||
console = "integratedTerminal",
|
||||
},
|
||||
}
|
||||
|
||||
-- 🧠 Node.js (NestJS / TypeScript) - Using js-debug-adapter (pwa-node)
|
||||
dap.adapters["pwa-node"] = {
|
||||
type = "server",
|
||||
host = "localhost",
|
||||
port = "${port}",
|
||||
executable = {
|
||||
command = "node",
|
||||
args = {
|
||||
os.getenv("HOME") .. "/.local/share/nvim/mason/packages/js-debug-adapter/js-debug/src/dapDebugServer.js",
|
||||
"${port}",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
dap.configurations.typescript = {
|
||||
{
|
||||
name = "Launch NestJS",
|
||||
type = "node",
|
||||
name = "Launch NestJS (dist/main.js)",
|
||||
type = "pwa-node",
|
||||
request = "launch",
|
||||
program = "${workspaceFolder}/dist/main.js",
|
||||
args = {},
|
||||
console = "integratedTerminal",
|
||||
outFiles = { "${workspaceFolder}/dist/**/*.js" },
|
||||
cwd = "${workspaceFolder}",
|
||||
sourceMaps = true,
|
||||
protocol = "inspector",
|
||||
cwd = fn.getcwd(),
|
||||
runtimeArgs = { "--inspect-brk" },
|
||||
outFiles = { "${workspaceFolder}/dist/**/*.js" },
|
||||
resolveSourceMapLocations = { "${workspaceFolder}/**", "!**/node_modules/**" },
|
||||
console = "integratedTerminal",
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
{
|
||||
name = "Launch Current File",
|
||||
type = "pwa-node",
|
||||
request = "launch",
|
||||
program = "${file}",
|
||||
cwd = "${workspaceFolder}",
|
||||
sourceMaps = true,
|
||||
console = "integratedTerminal",
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
{
|
||||
name = "Launch with ts-node",
|
||||
type = "pwa-node",
|
||||
request = "launch",
|
||||
runtimeExecutable = "node",
|
||||
runtimeArgs = { "--loader", "ts-node/esm" },
|
||||
program = "${file}",
|
||||
cwd = "${workspaceFolder}",
|
||||
sourceMaps = true,
|
||||
console = "integratedTerminal",
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
{
|
||||
name = "Attach to NestJS (port 9229)",
|
||||
type = "pwa-node",
|
||||
request = "attach",
|
||||
port = 9229,
|
||||
cwd = "${workspaceFolder}",
|
||||
sourceMaps = true,
|
||||
outFiles = { "${workspaceFolder}/dist/**/*.js" },
|
||||
resolveSourceMapLocations = { "${workspaceFolder}/**", "!**/node_modules/**" },
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
restart = true,
|
||||
},
|
||||
{
|
||||
name = "Attach to NestJS (start:debug)",
|
||||
type = "node",
|
||||
name = "Attach to Process",
|
||||
type = "pwa-node",
|
||||
request = "attach",
|
||||
port = 9229,
|
||||
protocol = "inspector",
|
||||
cwd = fn.getcwd(),
|
||||
processId = require("dap.utils").pick_process,
|
||||
cwd = "${workspaceFolder}",
|
||||
sourceMaps = true,
|
||||
outFiles = { "${workspaceFolder}/dist/**/*.js" },
|
||||
skipFiles = { "<node_internals>/**" },
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
}
|
||||
|
||||
-- Also add JavaScript configurations
|
||||
dap.configurations.javascript = dap.configurations.typescript
|
||||
-- JavaScript uses same configurations as TypeScript
|
||||
dap.configurations.javascript = {
|
||||
{
|
||||
name = "Launch Current File",
|
||||
type = "pwa-node",
|
||||
request = "launch",
|
||||
program = "${file}",
|
||||
cwd = "${workspaceFolder}",
|
||||
console = "integratedTerminal",
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
{
|
||||
name = "Attach to Process",
|
||||
type = "pwa-node",
|
||||
request = "attach",
|
||||
processId = require("dap.utils").pick_process,
|
||||
cwd = "${workspaceFolder}",
|
||||
skipFiles = { "<node_internals>/**", "node_modules/**" },
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -54,6 +54,8 @@ return {
|
||||
"tree-sitter-cli", -- required for nvim-treesitter parser compilation
|
||||
"java-debug-adapter", -- Java debugger
|
||||
"java-test", -- Java test runner
|
||||
"debugpy", -- Python debugger
|
||||
"js-debug-adapter", -- Node.js/TypeScript debugger
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
||||
Reference in New Issue
Block a user