use super::{
ReadOutput, count_tokens, format_anchored_output_window, parse_disk_anchor_range,
read_line_window,
};
pub(crate) fn try_disk_anchored_window(
path: &str,
mode: &str,
fresh: bool,
preread_is_none: bool,
file_ref: &str,
short: &str,
) -> Option<ReadOutput> {
if !fresh || !preread_is_none {
return None;
}
let range = mode.strip_prefix("anchored:")?;
let (start, end) = parse_disk_anchor_range(range)?;
let window = read_line_window(path, start, end)?;
let (out, _) = format_anchored_output_window(
file_ref,
short,
&window.body,
window.total_lines,
Some((window.start, window.end)),
);
let out = lean_ctx::core::redaction::redact_text_if_enabled(&out);
let sent = count_tokens(&out);
Some(ReadOutput {
content: out,
resolved_mode: mode.to_string(),
output_tokens: sent,
is_cache_hit: false,
})
}