summaryrefslogtreecommitdiffstats
path: root/src/history.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-11-17 22:32:46 -0500
committerJesse Luehrs <doy@tozt.net>2021-11-17 22:32:46 -0500
commit2597e1954659608c94965015651e3eac1f12a206 (patch)
tree8e8e48403f98f94fe06793e2837a8b9e01c62bc7 /src/history.rs
parent70f48c3ef7dde34546b6d646818333505d0e4777 (diff)
downloadnbsh-2597e1954659608c94965015651e3eac1f12a206.tar.gz
nbsh-2597e1954659608c94965015651e3eac1f12a206.zip
don't draw the readline over a fullscreen command
Diffstat (limited to 'src/history.rs')
-rw-r--r--src/history.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/history.rs b/src/history.rs
index c55f62c..4421e20 100644
--- a/src/history.rs
+++ b/src/history.rs
@@ -136,8 +136,8 @@ impl History {
) -> anyhow::Result<()> {
if let Some(idx) = focus {
let mut entry = self.entries[idx].lock_arc().await;
- if entry.should_full_screen() {
- entry.render_full_screen(out);
+ if entry.should_fullscreen() {
+ entry.render_fullscreen(out);
return Ok(());
}
}
@@ -184,6 +184,10 @@ impl History {
self.entries[idx].lock_arc().await.toggle_fullscreen();
}
+ pub async fn is_fullscreen(&self, idx: usize) -> bool {
+ self.entries[idx].lock_arc().await.should_fullscreen()
+ }
+
pub fn entry_count(&self) -> usize {
self.entries.len()
}
@@ -340,12 +344,12 @@ impl HistoryEntry {
out.reset_attributes();
}
- fn should_full_screen(&self) -> bool {
+ fn should_fullscreen(&self) -> bool {
self.fullscreen
.unwrap_or_else(|| self.vt.screen().alternate_screen())
}
- fn render_full_screen(&mut self, out: &mut textmode::Output) {
+ fn render_fullscreen(&mut self, out: &mut textmode::Output) {
let screen = self.vt.screen();
let new_audible_bell_state = screen.audible_bell_count();
let new_visual_bell_state = screen.visual_bell_count();