Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
604942306f | ||
|
|
00570f8eda | ||
|
|
51a7b10192 | ||
|
|
4d1101daf9 | ||
|
|
08ec1874d1 |
@@ -707,7 +707,10 @@ class File:
|
||||
def _comment_add(self, lineno: int, prefix: str, s_offset: int) -> None:
|
||||
line = self.buf[lineno]
|
||||
|
||||
self.buf[lineno] = f'{line[:s_offset]}{prefix} {line[s_offset:]}'
|
||||
if not line:
|
||||
self.buf[lineno] = f'{prefix}'
|
||||
else:
|
||||
self.buf[lineno] = f'{line[:s_offset]}{prefix} {line[s_offset:]}'
|
||||
|
||||
if lineno == self.buf.y and self.buf.x > s_offset:
|
||||
self.buf.x += len(self.buf[lineno]) - len(line)
|
||||
|
||||
@@ -38,6 +38,8 @@ EditResult = enum.Enum('EditResult', 'EXIT NEXT PREV OPEN')
|
||||
SEQUENCE_KEYNAME = {
|
||||
'\x1bOH': b'KEY_HOME',
|
||||
'\x1bOF': b'KEY_END',
|
||||
'\x1b[1~': b'KEY_HOME',
|
||||
'\x1b[4~': b'KEY_END',
|
||||
'\x1b[1;2A': b'KEY_SR',
|
||||
'\x1b[1;2B': b'KEY_SF',
|
||||
'\x1b[1;2C': b'KEY_SRIGHT',
|
||||
@@ -60,6 +62,7 @@ SEQUENCE_KEYNAME = {
|
||||
'\x1b[1;6D': b'kLFT6', # Shift + ^Left
|
||||
'\x1b[1;6H': b'kHOM6', # Shift + ^Home
|
||||
'\x1b[1;6F': b'kEND6', # Shift + ^End
|
||||
'\x1b[~': b'KEY_BTAB', # Shift + Tab
|
||||
}
|
||||
KEYNAME_REWRITE = {
|
||||
# windows-curses: numeric pad arrow keys
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[metadata]
|
||||
name = babi
|
||||
version = 0.0.17
|
||||
version = 0.0.18
|
||||
description = a text editor
|
||||
long_description = file: README.md
|
||||
long_description_content_type = text/markdown
|
||||
|
||||
@@ -21,6 +21,20 @@ def test_comment_some_code(run, ten_lines):
|
||||
h.await_text('# line_0\n# line_1\nline_2\n')
|
||||
|
||||
|
||||
def test_comment_empty_line_trailing_whitespace(run, tmpdir):
|
||||
f = tmpdir.join('f')
|
||||
f.write('1\n\n2\n')
|
||||
|
||||
with run(str(f)) as h, and_exit(h):
|
||||
h.press('S-Down')
|
||||
h.press('S-Down')
|
||||
|
||||
trigger_command_mode(h)
|
||||
h.press_and_enter(':comment')
|
||||
|
||||
h.await_text('# 1\n#\n# 2')
|
||||
|
||||
|
||||
def test_comment_some_code_with_alternate_comment_character(run, ten_lines):
|
||||
with run(str(ten_lines)) as h, and_exit(h):
|
||||
h.press('S-Down')
|
||||
|
||||
Reference in New Issue
Block a user