How can I mark a custom breakpoint as verified?

I've been implementing a debugger for my custom language plugin.  Overall it's come along very well, so now I'm just trying to add some cosmetic polish.  I have a custom breakpoint type and want to mark breakpoints as valid so that the correct gutter icon will be shown.  I can't figure out quite how to do that, though.  I've found Breakpoint.markValid(), but my breakpoints end up being XLineBreakpoints which don't seem to be available as those types of breakpoints, only as XLineBreakpoints.

I'm also fine customizing the presentation to show the correct icon if that makes more sense, but the only place I can find to customize the presentation is my implementation of XLineBreakpointType.  While getDisplayText() and getShortText() are called with the actual breakpoint, none of the get*Icon() methods are called with context.

Thanks in advance for any thoughts!


Oh, and one other question.  In the debugger variables view, how can I keep nodes from collapsing as I step over/through code?  For example, I expand a "this" node to show the fields, but when I step over the node is collapsed.  I can't seem to find anything that provides a hint to the debugger that it should retain the expansion state of nodes across operations.


Quick update...I figured out the answer to the second question.  Basically I just needed to implement XStackFrame.getEqualityObject() properly and not only does the variables view retain expansion state, but it highlights variables that have been created/updated since the last execution!  Very cool!

Still trying to figure out how to mark my breakpoints as verified, but very happy to have figured this one out as it makes the debugger UI much nicer for users.


Please sign in to leave a comment.