alacritty

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 1e815dca570e25c4346f249945d0f2e60d52dc16
parent 9392b8e837b78a336f20ad883edae1b440dca908
Author: Tanuj <tanuj@tutanota.com>
Date:   Sat, 16 Feb 2019 20:23:23 +0000

Add early return to `received_char`


Diffstat:
Msrc/input.rs | 40+++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/input.rs b/src/input.rs @@ -751,29 +751,31 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> { /// Process a received character pub fn received_char(&mut self, c: char) { - if !*self.ctx.suppress_chars() { - self.ctx.scroll(Scroll::Bottom); - self.ctx.clear_selection(); - - let utf8_len = c.len_utf8(); - let mut bytes = Vec::with_capacity(utf8_len); - unsafe { - bytes.set_len(utf8_len); - c.encode_utf8(&mut bytes[..]); - } + if *self.ctx.suppress_chars() { + return; + } - if self.alt_send_esc - && *self.ctx.received_count() == 0 - && self.ctx.last_modifiers().alt - && utf8_len == 1 - { - bytes.insert(0, b'\x1b'); - } + self.ctx.scroll(Scroll::Bottom); + self.ctx.clear_selection(); - self.ctx.write_to_pty(bytes); + let utf8_len = c.len_utf8(); + let mut bytes = Vec::with_capacity(utf8_len); + unsafe { + bytes.set_len(utf8_len); + c.encode_utf8(&mut bytes[..]); + } - *self.ctx.received_count() += 1; + if self.alt_send_esc + && *self.ctx.received_count() == 0 + && self.ctx.last_modifiers().alt + && utf8_len == 1 + { + bytes.insert(0, b'\x1b'); } + + self.ctx.write_to_pty(bytes); + + *self.ctx.received_count() += 1; } /// Attempts to find a binding and execute its action