Skip to content

Commit 6d92784

Browse files
committed
[files] bookmarks for files panel
1 parent 2d5e5da commit 6d92784

File tree

3 files changed

+55
-12
lines changed

3 files changed

+55
-12
lines changed

src/files_sub_source.cc

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,6 @@ files_sub_source::list_input_handle_key(listview_curses& lv, const ncinput& ch)
173173
});
174174
return true;
175175
}
176-
case 'n': {
177-
execute_command(lnav_data.ld_exec_context, "next-mark search");
178-
return true;
179-
}
180-
case 'N': {
181-
execute_command(lnav_data.ld_exec_context, "prev-mark search");
182-
return true;
183-
}
184176
case '/': {
185177
execute_command(lnav_data.ld_exec_context, "prompt search-files");
186178
return true;
@@ -374,7 +366,7 @@ files_sub_source::text_value_for_line(textview_curses& tc,
374366
humanize::alignment::columnar));
375367
}
376368
al.append(" ");
377-
auto indexed_size = lf->get_indexed_file_offset();
369+
auto indexed_size = lf->get_index_size();
378370
auto total_size = lf->get_content_size();
379371
if (!lf->get_decompress_error().empty()) {
380372
al.append(" ", VC_ICON.value(ui_icon_t::error));
@@ -487,6 +479,52 @@ files_sub_source::text_handle_mouse(
487479
return false;
488480
}
489481

482+
void
483+
files_sub_source::text_update_marks(vis_bookmarks& bm)
484+
{
485+
auto& bm_errs = bm[&textview_curses::BM_ERRORS];
486+
auto& bm_warn = bm[&textview_curses::BM_WARNINGS];
487+
488+
bm_errs.clear();
489+
bm_warn.clear();
490+
491+
auto index = 0_vl;
492+
493+
auto& fc = lnav_data.ld_active_files;
494+
{
495+
safe::ReadAccess<safe_name_to_stubs> stubs(*fc.fc_name_to_stubs);
496+
497+
for (const auto& stub_pair : *stubs) {
498+
switch (stub_pair.second.fei_description.um_level) {
499+
case lnav::console::user_message::level::warning:
500+
bm_warn.insert_once(index);
501+
break;
502+
case lnav::console::user_message::level::error:
503+
bm_errs.insert_once(index);
504+
break;
505+
default:
506+
break;
507+
}
508+
index += 1_vl;
509+
}
510+
}
511+
512+
index += vis_line_t(fc.fc_other_files.size());
513+
514+
for (const auto& lf : fc.fc_files) {
515+
if (!lf->get_decompress_error().empty()) {
516+
bm_errs.insert_once(index);
517+
} else if (!lf->get_notes().empty()) {
518+
bm_warn.insert_once(index);
519+
}
520+
index += 1_vl;
521+
}
522+
523+
log_debug("files bookmarks errors=%zu; warnings=%zu",
524+
bm_errs.size(),
525+
bm_warn.size());
526+
}
527+
490528
void
491529
files_sub_source::text_selection_changed(textview_curses& tc)
492530
{

src/files_sub_source.hh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public:
7676
const listview_curses::display_line_content_t&,
7777
mouse_event& me) override;
7878

79+
void text_update_marks(vis_bookmarks& bm) override;
80+
7981
void text_selection_changed(textview_curses& tc) override;
8082

8183
size_t fss_last_line_len{0};

src/filter_status_source.cc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,10 @@ filter_status_source::update_filtered(text_sub_source* tss)
250250
auto& al = sf.get_value();
251251

252252
if (curr_filtered_count == this->bss_last_filtered_count) {
253-
if (timer.fade_diff(this->bss_filter_counter) == 0) {
253+
if (timer.fade_diff(this->bss_filter_counter) == 0
254+
&& this->tss_fields[TSF_FILTERED].get_role()
255+
!= role_t::VCR_STATUS)
256+
{
254257
this->tss_fields[TSF_FILTERED].set_role(role_t::VCR_STATUS);
255258
al.with_attr(
256259
string_attr(line_range{0, -1},
@@ -261,8 +264,8 @@ filter_status_source::update_filtered(text_sub_source* tss)
261264
this->tss_fields[TSF_FILTERED].set_role(role_t::VCR_ALERT_STATUS);
262265
this->bss_last_filtered_count = tss->get_filtered_count();
263266
timer.start_fade(this->bss_filter_counter, 3);
264-
sf.set_value("%'9d Lines not shown ", tss->get_filtered_count());
265-
retval = true;
267+
retval = sf.set_value("%'9d Lines not shown ",
268+
tss->get_filtered_count());
266269
}
267270
}
268271

0 commit comments

Comments
 (0)