Skip to content

Pretty print does not work with nvim-dap and codelldb v1.11.4 #697

@ykpmusicstudio

Description

@ykpmusicstudio

Have you read the docs and searched existing issues?

Neovim version (nvim -v)

v0.10.4

Operating system/version

Ubuntu 24.04.02

Output of :checkhealth rustaceanvim

rustaceanvim: require("rustaceanvim.health").check()

Checking for Lua dependencies ~
- OK [mfussenegger/nvim-dap](https://github.com/mfussenegger/nvim-dap) installed.

Checking external dependencies ~
- OK rust-analyzer: found rust-analyzer 0.3.2337-standalone (5e7dd31c80 2025-03-09)
- OK Cargo: found cargo 1.85.0 (d73d2caf9 2024-12-31)
- OK rustc: found rustc 1.85.0 (4d91de4e4 2025-02-17)
- OK debug adapter: found codelldb 

Checking config ~
- OK No errors found in config.

Checking for conflicting plugins ~
- OK No conflicting plugins detected.

Checking for tree-sitter parser ~
- OK tree-sitter parser for Rust detected.

How to reproduce the issue

config with rustaceanvim, nvim-dap and nvim-dap-ui.
make any rust project.

try to debug in nvim-dap-ui with codelldb and see that rust pretty printers are not properly loaded

this seems to be a new issue with both rustc 1.85 and codelldb v1.11.4. All was fine with rustc 1.81 and codelldb 1.10.

Seems that codelldb v1.11.4 has introduced a new variable to automaticcaly load rust pretty printers.

solved by adding the following line in internal.lua / function load_dap_configuration :
--52,58
  local dap_config = {
    name = 'Rust debug client',
    type = type,
    request = 'launch',
    stopOnEntry = false,
++    sourceLanguages = {'rust'},
  }
--
this was inspired by https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#python-scripting, chapter "Rust Language Support"

Expected behaviour

codelldb shall be able to load rust pretty printers for project's target, so all rust types shall be properly interpreted inside dap-ui variable inspector

Actual behaviour

Instead, only raw types are displayed (for instance alloc::vec::Vec<double, alloc::alloc::Global> instead of double[x]) indicating that codelldb has not loaded rust pretty printers

The minimal config used to reproduce this issue.

{
   "jay-babu/mason-nvim-dap.nvim",
   event = "VeryLazy",
   dependencies = {
     "williamboman/mason.nvim",
     "mfussenegger/nvim-dap",
   },
   opts = {
     handlers = {}
   },
 },
 {
   "mfussenegger/nvim-dap",
 },
 {
   "rcarriga/nvim-dap-ui",
   dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"},
  },
 {
   "nvim-neotest/neotest",
   requires = {
     "nvim-neotest/nvim-nio",
     "nvim-lua/plenary.nvim",
     "antoinemadec/FixCursorHold.nvim",
     "nvim-treesitter/nvim-treesitter"
   },
 },
 {
   "mrcjkb/rustaceanvim",
   depends = {
     "mfussenegger/nvim-dap",
   },
   requires = {"mfussenegger/nvim-dap", "nvim-neotest/neotest"},
   ft = "rust",
   version = "^5",
   lazy = false,
 },

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions