fix source markup parsing, release notes for source-defined watch annotations

This commit is contained in:
Ryan Fleury
2025-03-26 11:49:15 -07:00
parent bd35ea83fc
commit 48f0702e05
3 changed files with 18 additions and 7 deletions
+4 -4
View File
@@ -1642,9 +1642,9 @@ fancy_viz_eval_tests(void)
" return 0;\n"
"}\n\n");
int x1 = 0;
raddbg_pin(long_string, "text");
raddbg_pin(code_string, "text(lang=c)");
raddbg_pin(fancy_viz_eval_tests, "disasm");
raddbg_pin(long_string, text);
raddbg_pin(code_string, text(lang=c));
raddbg_pin(fancy_viz_eval_tests, disasm);
//- rjf: bitmaps
unsigned int background_color = 0x00000000;
@@ -1676,7 +1676,7 @@ fancy_viz_eval_tests(void)
bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg,
bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg, bg,
};
raddbg_pin(bitmap, "bitmap:(w:18, h:18)");
raddbg_pin(bitmap, bitmap(18, 18));
for(int i = 0; i < sizeof(bitmap)/sizeof(bitmap[0]); i += 1)
{
unsigned int r = bitmap[i]&0x000000ff;
+12 -2
View File
@@ -35,11 +35,21 @@
// common case is debugging a small number of programs, usually 1, and for
// those purposes, the `Threads` view is sufficient if not desirable, and
// the extra information provided by `Processes` and `Machines`, while useful
// in other contexts, is not useful in that common case.
// in other contexts, is not useful in that common case. The `Machines` view
// now shows a superset of the information previosuly found in the
// `Scheduler` view.
// - The two separate interfaces for editing threads, breakpoints, and watch
// pins (the right-click context menu and the dedicated tabs) have been
// merged.
// - Added the ability to add per-target environment strings.
// - Added the ability to add a list environment strings to targets.
// - Added support for watch annotations derived from source code markup,
// rather than only from configuration. Instances of
// `raddbg_pin(<expr>, <view_rule>)` will be parsed, and used to create watch
// annotations inline with source code, in the same way that watch pins do.
// For instance, `raddbg_pin(dynamic_array, slice)` will visualize
// `dynamic_array` with a `slice` view rule;
// `raddbg_pin(some_function, disasm)` will visualize `some_function` as
// disassembly; and so on.
// - Fixed an annoyance where the debugger would open a console window, even
// for graphical programs, causing a flicker.
+2 -1
View File
@@ -1910,9 +1910,10 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
U64 arg_start_off = 0;
for(U64 contents_off = 0; contents_off <= contents.size; contents_off += 1)
{
if(contents_off == contents.size || contents.str[contents_off] == ',')
if(nest == 0 && (contents_off == contents.size || contents.str[contents_off] == ','))
{
String8 arg = str8_substr(contents, r1u64(arg_start_off, contents_off));
arg = str8_skip_chop_whitespace(arg);
str8_list_push(scratch.arena, &args, arg);
arg_start_off = contents_off+1;
}