The general configuration of my development environment and many other general computer things.

Add debug configuration to NVIM

+57 -3
+10 -2
dot_config/nvim/init.lua
··· 27 27 use { 28 28 'SmiteshP/nvim-gps', -- Status line 29 29 requires = 'nvim-treesitter/nvim-treesitter', 30 - config = function() require("nvim-gps").setup({ disable_icons = true }) end, 30 + config = function() require("nvim-gps").setup({ 31 + disable_icons = true, 32 + depth = 3, 33 + }) end, 31 34 } 32 35 use { 33 36 'nvim-lualine/lualine.nvim', -- Status line ··· 73 76 end, 74 77 } 75 78 use { 79 + 'mfussenegger/nvim-dap', 80 + config = require('lang.debug').conf_debug, 81 + } 82 + use { 76 83 'pianocomposer321/yabs.nvim', -- Build System 77 84 config = require('lang.build').conf_yabs, 78 85 } ··· 85 92 'hrsh7th/cmp-buffer', 86 93 'hrsh7th/cmp-nvim-lsp', 87 94 'hrsh7th/cmp-nvim-lua', 95 + 'hrsh7th/cmp-vsnip', 96 + -- Further Requirements 88 97 'hrsh7th/vim-vsnip', 89 - -- Further Requirements 90 98 'nvim-lua/plenary.nvim' 91 99 }, 92 100 config = require('plugins.completion').conf_cmp,
+29
dot_config/nvim/lua/lang/debug.lua
··· 1 + -- DAP 2 + function conf_debug() 3 + local dap = require('dap') 4 + dap.adapters.lldb = { 5 + type = 'executable', 6 + command = '/opt/homebrew/opt/llvm/bin/lldb-vscode', -- adjust as needed 7 + name = "lldb" 8 + } 9 + dap.configurations.cpp = { 10 + { 11 + name = "Launch", 12 + type = "lldb", 13 + request = "launch", 14 + program = function() 15 + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') 16 + end, 17 + cwd = '${workspaceFolder}', 18 + stopOnEntry = false, 19 + args = {}, 20 + runInTerminal = false, 21 + }, 22 + } 23 + -- Use the same configuration for C and Rust 24 + dap.configurations.c = dap.configurations.cpp 25 + dap.configurations.rust = dap.configurations.cpp 26 + 27 + end 28 + 29 + return { conf_debug = conf_debug }
+6
dot_config/nvim/lua/options.lua
··· 82 82 vim.opt.smartindent = true 83 83 vim.opt.expandtab = false 84 84 85 + -- Code Folding 86 + vim.opt.foldmethod = 'expr' 87 + vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' 88 + vim.opt.foldminlines = 5 89 + vim.opt.foldnestmax = 2 90 + 85 91 -- Save when lost focus 86 92 vim.cmd('au FocusLost * silent! wa') 87 93
+1
dot_config/nvim/lua/plugins/appearance.lua
··· 22 22 }, 23 23 sections = { 24 24 lualine_c = { 25 + 'filename', 25 26 { gps.get_location, cond = gps.is_available }, 26 27 }, 27 28 }
+11 -1
dot_config/nvim/lua/plugins/keymap.lua
··· 21 21 ["<tab>"] = { "<C-^>", "Reopen Last Buffer" }, 22 22 -- Buffer 23 23 b = { 24 - name = "buffer", 24 + name = "Buffer", 25 25 b = { "<cmd>lua require('telescope.builtin').buffers()<cr>", "Find Buffer" }, 26 26 d = { "<cmd>bd<cr>", "Delete Buffer" }, 27 27 m = { "<cmd>%bd|e#<cr>", "Delete Other Buffers" }, 28 28 y = { "ggyG<C-o>", "Copy Buffer" }, 29 + }, 30 + -- Debug 31 + d = { 32 + name = "Debug", 33 + b = {"<cmd>lua require('dap').toggle_breakpoint()<cr>", "Breakpoint"}, 34 + B = {"<cmd>lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))<cr>", "Conditional Breakpoint"}, 35 + l = {"<cmd>require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: '))<cr>", "Logpoint"}, 36 + r = {"<cmd>lua require('dap').repl.open()<cr>", "Open REPL"}, 37 + c = {"<cmd>lua require('dap').continue()<cr>", "Continue"}, 38 + q = {"<cmd>lua require('dap').close()<cr>", "Close"}, 29 39 }, 30 40 -- File 31 41 f = {