lewis6991 / satellite.nvim

Decorate scrollbar for Neovim
MIT License
535 stars 19 forks source link

Dap Breakpoints #61

Open Kethku opened 9 months ago

Kethku commented 9 months ago

Is your feature request related to a problem? Please describe. I'd like to surface Dap debug breakpoints in the satellite map

Describe the solution you'd like Break point locations should be colored on the satellite scrollbar

Describe alternatives you've considered Alternatively an api to add your own markers would be amazing

Additional context None

Angelchev commented 8 months ago

@Kethku I briefly looked into this and adding an additional handler for nvim-dap doesn't seem too hard. The problem is upstream where nvim-dap's API doesn't expose some important things like events for breakpoint changes or where the breakpoints are.

The former issue of updating the breakpoint marks on satellite we could get around with something like:

...
dap.listeners.after['breakpoint']['satellite'] = update()

However, I'm not sure about the latter issue of knowing where to put the breakpoint marks on the satellite bar.

Dap exposes dap.list_breakpoints() but this just adds them to the quicklist and very briefly looking at the implementation, the breakpoints are stored in a local metatable inside the dap module. So potentially need to make some suggestions to extend the Dap API.