{"id":17132884,"url":"https://github.com/julianolf/nvim-dap-lldb","last_synced_at":"2025-07-24T06:32:49.784Z","repository":{"id":225410578,"uuid":"765532266","full_name":"julianolf/nvim-dap-lldb","owner":"julianolf","description":"🐞 An extension for nvim-dap to provide C, C++, and Rust debugging support.","archived":false,"fork":false,"pushed_at":"2024-06-09T22:35:30.000Z","size":59,"stargazers_count":25,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T23:11:38.655Z","etag":null,"topics":["c","cpp","dap","debug","neovim","plugin","rust"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julianolf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-01T05:21:23.000Z","updated_at":"2025-03-17T23:26:51.000Z","dependencies_parsed_at":"2024-06-08T19:03:50.187Z","dependency_job_id":null,"html_url":"https://github.com/julianolf/nvim-dap-lldb","commit_stats":null,"previous_names":["julianolf/nvim-dap-lldb"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianolf%2Fnvim-dap-lldb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianolf%2Fnvim-dap-lldb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianolf%2Fnvim-dap-lldb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianolf%2Fnvim-dap-lldb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julianolf","download_url":"https://codeload.github.com/julianolf/nvim-dap-lldb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248674664,"owners_count":21143760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","dap","debug","neovim","plugin","rust"],"created_at":"2024-10-14T19:28:41.968Z","updated_at":"2025-04-13T06:32:10.332Z","avatar_url":"https://github.com/julianolf.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nvim-dap-lldb\n\nAn extension for [nvim-dap](https://github.com/mfussenegger/nvim-dap) to provide C, C++, and Rust debugging support.\n\n### Requirements\n\n- [nvim-dap](https://github.com/mfussenegger/nvim-dap) plugin.\n- [CodeLLDB](https://github.com/vadimcn/codelldb) debugger extension.\n\n### Installation\n\nJust like any other NeoVim plugin.\n\nHere is an example using [Lazy](https://github.com/folke/lazy.nvim) package manager:\n\n```lua\n{\n   \"julianolf/nvim-dap-lldb\",\n   dependencies = { \"mfussenegger/nvim-dap\" },\n   opts = { codelldb_path = \"/path/to/codelldb\" },\n}\n```\n\nFor CodeLLDB installation, I recommend using [mason.vim](https://github.com/williamboman/mason.nvim). When using Mason, you can omit the `codelldb_path` option, the plugin will figure it out where it's been installed. If no path is given and Mason is not available, the plugin will assume that CodeLLDB is on the system path.\n\n### Languages support\n\nTechnically LLDB supports a broad number of programming languages as its foundation leverages on libraries coming from the LLVM project.\n\nTo use it with programming languages that do not have default configurations provided, you have to add custom launch configurations.\n\n### Custom configurations\n\nYou can pass custom configurations in two different ways: by passing a Lua table when setting up the plugin or loading a JSON file.\n\n1. Custom launch configuration in Lua:\n\n```lua\nlocal cfg = {\n   configurations = {\n      -- C lang configurations\n      c = {\n         {\n            name = \"Launch debugger\",\n            type = \"lldb\",\n            request = \"launch\",\n            cwd = \"${workspaceFolder}\",\n            program = function()\n               -- Build with debug symbols\n               local out = vim.fn.system({\"make\", \"debug\"})\n               -- Check for errors\n               if vim.v.shell_error ~= 0 then\n                  vim.notify(out, vim.log.levels.ERROR)\n                  return nil\n               end\n               -- Return path to the debuggable program\n               return \"path/to/executable\"\n            end,\n         },\n      },\n   },\n}\n\nrequire(\"dap-lldb\").setup(cfg)\n```\n\n2. JSON configuration file:\n\n```json\n{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"name\": \"Launch debugger\",\n      \"type\": \"lldb\",\n      \"request\": \"launch\",\n      \"cwd\": \"${workspaceFolder}\",\n      \"program\": \"path/to/executable\"\n    }\n  ]\n}\n```\n\n_Assuming the above JSON was saved in .vscode/launch.json._\n\nWhen starting a debug session via `dap.continue()` the JSON file is automatically loaded. It's also possible to manually load the file using the `load_launchjs` function.\n\nFor more details on how to load launch configuration files, refer to the docs:\n- `:help dap-launch.json`\n- `:help dap-providers-configs`\n\nThis is useful when collaborating with programmers who use [Visual Studio Code](https://code.visualstudio.com/), allowing reuse of the same configurations.\n\nFor a complete reference on how to create your own configurations, refer to the CodeLLDB user's [manual](https://github.com/vadimcn/codelldb/blob/master/MANUAL.md).\n\n### Usage\n\n- `:lua require('dap').continue()` to start debugging.\n- `:lua require('dap-lldb').debug_test()` to debug the test function above the cursor (Rust-only feature).\n- `:help dap-api` for more detailed information on how to work with DAP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianolf%2Fnvim-dap-lldb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulianolf%2Fnvim-dap-lldb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianolf%2Fnvim-dap-lldb/lists"}