1
0
mirror of https://github.com/dbcli/pgcli synced 2024-05-31 01:17:54 +00:00

Tab press on an empty line is interrupted as a \t character insert

This commit is contained in:
Artur Balabanov 2018-07-27 16:44:38 +01:00
parent f12b472f49
commit 205949a79b

View File

@ -58,10 +58,18 @@ def pgcli_bindings(get_vi_mode_enabled, set_vi_mode_enabled):
"""
_logger.debug('Detected <Tab> key.')
b = event.cli.current_buffer
if b.complete_state:
b.complete_next()
line_start = b.document.cursor_position + b.document.get_start_of_line_position()
line_end = b.document.cursor_position + b.document.get_end_of_line_position()
current_line = b.document.text[line_start:line_end]
if current_line.strip():
if b.complete_state:
b.complete_next()
else:
event.cli.start_completion(select_first=True)
else:
event.cli.start_completion(select_first=True)
b.insert_text('\t', fire_event=False)
@key_binding_manager.registry.add_binding(Keys.ControlSpace)
def _(event):