use super::Terminal;
impl Terminal {
pub(crate) fn device_status_report(&mut self, private: bool, params: &[Option<usize>]) {
match (private, params.first().copied().flatten().unwrap_or(0)) {
(false, 5) => {
self.output.extend_from_slice(b"\x1B[0n");
}
(false, 6) => {
let row = self.cursor().row + 1;
let col = self.cursor().col + 1;
let report = format!("\x1B[{};{}R", row, col);
self.output.extend_from_slice(report.as_bytes());
}
(true, 996) => {
self.output.extend_from_slice(b"\x1B[?997;1n");
}
_ => {}
}
}
pub(crate) fn device_attributes(&mut self, raw_csi: &str) {
if raw_csi.starts_with('>') {
self.output.extend_from_slice(b"\x1B[>1;0;0c");
} else {
self.output.extend_from_slice(b"\x1B[?62;22c");
}
}
}