File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1067,11 +1067,13 @@ logfile::rebuild_index(std::optional<ui_clock::time_point> deadline)
10671067 sbr_str.erase (line_iter->sf_begin , 22 );
10681068 }
10691069 }
1070- if (is_utf8 (sbr_str).is_valid ()) {
1070+ const auto & sbr_meta = avail_sbr.get_metadata ();
1071+ if (!sbr_meta.m_valid_utf ) {
1072+ return text_format_t ::TF_BINARY ;
1073+ }
1074+ if (sbr_meta.m_has_ansi ) {
10711075 auto new_size = erase_ansi_escapes (sbr_str);
10721076 sbr_str.resize (new_size);
1073- } else {
1074- return text_format_t ::TF_BINARY ;
10751077 }
10761078 return detect_text_format (sbr_str, path);
10771079 })
Original file line number Diff line number Diff line change @@ -105,6 +105,8 @@ struct shared_buffer_ref {
105105 return (this ->sb_data <= ptr && ptr < buffer_end);
106106 }
107107
108+ const file_range::metadata& get_metadata () const { return this ->sb_metadata ; }
109+
108110 file_range::metadata& get_metadata () { return this ->sb_metadata ; }
109111
110112 char * get_writable_data (size_t length)
You can’t perform that action at this time.
0 commit comments