diff options
author | mathieui <mathieui@mathieui.net> | 2013-07-03 00:21:13 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2013-07-03 00:21:13 +0200 |
commit | cae5f64931a75a9fdcb0ef523fc025f784e5a834 (patch) | |
tree | d5b5f40856bf85e02f4538994cfc657ef14effcc /src/windows.py | |
parent | 697e311ce79f60b84c13a4a66b288dda0ab06fe8 (diff) | |
download | poezio-cae5f64931a75a9fdcb0ef523fc025f784e5a834.tar.gz poezio-cae5f64931a75a9fdcb0ef523fc025f784e5a834.tar.bz2 poezio-cae5f64931a75a9fdcb0ef523fc025f784e5a834.tar.xz poezio-cae5f64931a75a9fdcb0ef523fc025f784e5a834.zip |
Move backwards in the input the same way we move forward (ref #2183)
Diffstat (limited to 'src/windows.py')
-rw-r--r-- | src/windows.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/windows.py b/src/windows.py index a270d732..0a31deed 100644 --- a/src/windows.py +++ b/src/windows.py @@ -1320,10 +1320,18 @@ class Input(Win): """ if reset: self.reset_completion() - if self.pos == self.width-1 and self.line_pos > 0: - self.line_pos -= 1 + + if self.pos < (3*(self.width)//4) and self.line_pos > 0 and self.line_pos+self.pos-1<=len(self.text): + self.line_pos -= self.width//4 + if self.line_pos < 0: + self.pos += (self.width//4) + self.line_pos - 1 + self.line_pos = 0 + else: + self.pos += self.width//4 - 1 elif self.pos >= 1: self.pos -= 1 + elif self.line_pos > 0: + self.line_pos -= 1 if jump and self.pos+self.line_pos >= 1 and self.text[self.pos+self.line_pos-1] == '\x19': self.key_left() elif reset: |