diff options
Diffstat (limited to 'litecli/main.py')
-rw-r--r-- | litecli/main.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/litecli/main.py b/litecli/main.py index dce3c1f..de279f6 100644 --- a/litecli/main.py +++ b/litecli/main.py @@ -23,6 +23,7 @@ from prompt_toolkit.shortcuts import PromptSession, CompleteStyle from prompt_toolkit.styles.pygments import style_from_pygments_cls from prompt_toolkit.document import Document from prompt_toolkit.filters import HasFocus, IsDone +from prompt_toolkit.formatted_text import ANSI from prompt_toolkit.layout.processors import ( HighlightMatchingBracketProcessor, ConditionalProcessor, @@ -88,6 +89,7 @@ class LiteCli(object): self.cli_style = c["colors"] self.output_style = style_factory_output(self.syntax_style, self.cli_style) self.wider_completion_menu = c["main"].as_bool("wider_completion_menu") + self.autocompletion = c["main"].as_bool("autocompletion") c_dest_warning = c["main"].as_bool("destructive_warning") self.destructive_warning = c_dest_warning if warn is None else warn self.login_path_as_host = c["main"].as_bool("login_path_as_host") @@ -161,10 +163,11 @@ class LiteCli(object): ) special.register_special_command( self.execute_from_file, - "source", + ".read", "\\. filename", "Execute commands from file.", - aliases=("\\.",), + case_sensitive=True, + aliases=("\\.", "source"), ) special.register_special_command( self.change_prompt_format, @@ -381,7 +384,8 @@ class LiteCli(object): and len(prompt) > self.max_len_prompt ): prompt = self.get_prompt("\\d> ") - return [("class:prompt", prompt)] + prompt = prompt.replace("\\x1b", "\x1b") + return ANSI(prompt) def get_continuation(width, line_number, is_soft_wrap): continuation = " " * (width - 1) + " " @@ -547,6 +551,9 @@ class LiteCli(object): else: complete_style = CompleteStyle.COLUMN + if not self.autocompletion: + complete_style = CompleteStyle.READLINE_LIKE + with self._completer_lock: if self.key_bindings == "vi": |