MCPcopy Create free account
hub / github.com/cgsdev0/termsand / csi_dispatch

Method csi_dispatch

src/main.rs:220–335  ·  view source on GitHub ↗
(&mut self, params: &Params, intermediates: &[u8], ignore: bool, c: u8)

Source from the content-addressed store, hash-verified

218 }
219 }
220
221 fn execute(&mut self, byte: u8) {
222 if byte == 0x0a {
223 if self.x > 0 {
224 self.grid.splat(self.x, self.y, self.bg());
225 }
226 self.y += 1;
227
228 // self.bg = u32::MAX;
229 self.x = 0;
230 }
231 }
232
233 fn csi_dispatch(&mut self, params: &Params, _intermediates: &[u8], _ignore: bool, _c: u8) {
234 let items: Vec<_> = params.iter().collect();
235 {
236 match items[0][0] {
237 0 => {
238 self.fg = u32::MAX;
239 self.bg = u32::MAX;
240 self.ul_color = u32::MAX;
241 self.colors.insert(self.fg);
242 self.style = CellStyle::default();
243 self.inverted = false;
244 }
245 1 => {
246 self.style.bold = true;
247 }
248 3 => {
249 self.style.italic = true;
250 }
251 4 => {
252 self.ul_color = u32::MAX;
253 if items[0].len() == 1 {
254 self.style.underline = Underline::Single;
255 } else if items[0].len() == 2 {
256 self.style.underline = match items[0][1] {
257 0 => Underline::Off,
258 1 => Underline::Single,
259 2 => Underline::Double,
260 3 => Underline::Curly,
261 4 => Underline::Dotted,
262 5 => Underline::Dashed,
263 _ => Underline::Off,
264 };
265 }
266 }
267 7 => {
268 self.inverted = true;
269 }
270 9 => {
271 self.style.strike = true;
272 }
273 29 => {
274 self.style.strike = false;
275 }
276 24 => {
277 self.style.underline = Underline::Off;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected