@@ -76,7 +76,18 @@ where
77 fn supports_keyboard_enhancement_protocol(&self) -> io::Result<bool> {
77 fn supports_keyboard_enhancement_protocol(&self) -> io::Result<bool> {
78 self.supports_keyboard_enhancement_protocol
78 self.supports_keyboard_enhancement_protocol
79+ .get_or_try_init(|| {
80+ use std::time::Instant;
82+ let now = Instant::now();
79− .get_or_try_init(terminal::supports_keyboard_enhancement)
83+ let support = terminal::supports_keyboard_enhancement();
85+ "The keyboard enhancement protocol is {}supported in this terminal (checked in {:?})",
86+ if matches!(support, Ok(true)) { "" } else { "not " },
87+ Instant::now().duration_since(now)
@@ -111,7 +122,6 @@ where
111 execute!(self.buffer, EnableMouseCapture)?;
122 execute!(self.buffer, EnableMouseCapture)?;
113 if self.supports_keyboard_enhancement_protocol()? {
124 if self.supports_keyboard_enhancement_protocol()? {
114− log::debug!("The enhanced keyboard protocol is supported on this terminal");
115 execute!(
125 execute!(
116 self.buffer,
126 self.buffer,
117 PushKeyboardEnhancementFlags(
127 PushKeyboardEnhancementFlags(
@@ -119,8 +129,6 @@ where
119 | KeyboardEnhancementFlags::REPORT_ALTERNATE_KEYS
129 | KeyboardEnhancementFlags::REPORT_ALTERNATE_KEYS
123− log::debug!("The enhanced keyboard protocol is not supported on this terminal");