mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 09:18:09 +00:00
fix chunk-up/down
This commit is contained in:
@@ -197,7 +197,8 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
|
|||||||
//- rjf: movement down (chunk)
|
//- rjf: movement down (chunk)
|
||||||
if(need_nav && evt->delta_unit == UI_EventDeltaUnit_Word && delta.y > 0 && line_num+1 <= line_count)
|
if(need_nav && evt->delta_unit == UI_EventDeltaUnit_Word && delta.y > 0 && line_num+1 <= line_count)
|
||||||
{
|
{
|
||||||
for(U64 scan_line_num = line_num+1; scan_line_num <= line_count; scan_line_num += 1)
|
B32 done = 0;
|
||||||
|
for(U64 scan_line_num = line_num+1; !done && scan_line_num <= line_count; scan_line_num += 1)
|
||||||
{
|
{
|
||||||
Temp scratch = scratch_begin(&arena, 1);
|
Temp scratch = scratch_begin(&arena, 1);
|
||||||
Rng1U64 line_range = txt_range_from_line_num(&text_patched.line_map, scan_line_num);
|
Rng1U64 line_range = txt_range_from_line_num(&text_patched.line_map, scan_line_num);
|
||||||
@@ -206,6 +207,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
|
|||||||
if(line_without_whitespace.size == 0)
|
if(line_without_whitespace.size == 0)
|
||||||
{
|
{
|
||||||
*cursor = line_range.min + (U64)(line_without_whitespace.str - line.str);
|
*cursor = line_range.min + (U64)(line_without_whitespace.str - line.str);
|
||||||
|
done = 1;
|
||||||
}
|
}
|
||||||
else if(scan_line_num == line_count)
|
else if(scan_line_num == line_count)
|
||||||
{
|
{
|
||||||
@@ -218,7 +220,8 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
|
|||||||
//- rjf: movement up (chunk)
|
//- rjf: movement up (chunk)
|
||||||
if(need_nav && evt->delta_unit == UI_EventDeltaUnit_Word && delta.y < 0 && line_num > 1)
|
if(need_nav && evt->delta_unit == UI_EventDeltaUnit_Word && delta.y < 0 && line_num > 1)
|
||||||
{
|
{
|
||||||
for(U64 scan_line_num = line_num-1; scan_line_num > 0; scan_line_num -= 1)
|
B32 done = 0;
|
||||||
|
for(U64 scan_line_num = line_num-1; !done && scan_line_num > 0; scan_line_num -= 1)
|
||||||
{
|
{
|
||||||
Temp scratch = scratch_begin(&arena, 1);
|
Temp scratch = scratch_begin(&arena, 1);
|
||||||
Rng1U64 line_range = txt_range_from_line_num(&text_patched.line_map, scan_line_num);
|
Rng1U64 line_range = txt_range_from_line_num(&text_patched.line_map, scan_line_num);
|
||||||
@@ -227,6 +230,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
|
|||||||
if(line_without_whitespace.size == 0)
|
if(line_without_whitespace.size == 0)
|
||||||
{
|
{
|
||||||
*cursor = line_range.min + (U64)(line_without_whitespace.str - line.str);
|
*cursor = line_range.min + (U64)(line_without_whitespace.str - line.str);
|
||||||
|
done = 1;
|
||||||
}
|
}
|
||||||
else if(scan_line_num == 1)
|
else if(scan_line_num == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3088,6 +3088,7 @@ txt_artifact_create(String8 key, B32 *cancel_signal, AC_Status *status_out, U64
|
|||||||
}
|
}
|
||||||
U64 line_size = dim_1u64(line_range);
|
U64 line_size = dim_1u64(line_range);
|
||||||
shared->info.lines_ranges[lane_line_base_idxs[lane_idx()] + lane_line_idx] = line_range;
|
shared->info.lines_ranges[lane_line_base_idxs[lane_idx()] + lane_line_idx] = line_range;
|
||||||
|
// TODO(rjf): this is a race:
|
||||||
shared->info.lines_max_size = Max(shared->info.lines_max_size, line_size);
|
shared->info.lines_max_size = Max(shared->info.lines_max_size, line_size);
|
||||||
lane_line_idx += 1;
|
lane_line_idx += 1;
|
||||||
line_start_idx = idx+1;
|
line_start_idx = idx+1;
|
||||||
|
|||||||
Reference in New Issue
Block a user