diff --git a/mssqlcli/mssql_cli.py b/mssqlcli/mssql_cli.py index 1a54badb..a94bd859 100644 --- a/mssqlcli/mssql_cli.py +++ b/mssqlcli/mssql_cli.py @@ -16,6 +16,7 @@ format_numbers) import humanize import click +from prompt_toolkit import HTML from prompt_toolkit.shortcuts import PromptSession, CompleteStyle from prompt_toolkit.completion import DynamicCompleter, ThreadedCompleter from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode @@ -457,8 +458,7 @@ def _build_cli(self, history): """ def get_message(): - prompt = self.get_prompt(self.prompt_format) - return [(u'class:prompt', prompt)] + return self.get_prompt(self.prompt_format) def get_continuation(width, line_number, is_soft_wrap): """ @@ -709,13 +709,13 @@ def get_completions(self, text, cursor_position): Document(text=text, cursor_position=cursor_position), None) def get_prompt(self, string): - string = string.replace('\\t', self.now.strftime('%x %X')) - string = string.replace('\\u', self.mssqlcliclient_main.user_name or '(none)') - string = string.replace('\\h', self.mssqlcliclient_main.prompt_host or '(none)') - string = string.replace('\\d', self.mssqlcliclient_main.connected_database or '(none)') - string = string.replace('\\p', str(self.mssqlcliclient_main.prompt_port) or '(none)') + string = string.replace('\\t', "%s" % self.now.strftime('%x %X')) + string = string.replace('\\u', "%s" % self.mssqlcliclient_main.user_name or '(none)') + string = string.replace('\\h', "%s" % self.mssqlcliclient_main.prompt_host or '(none)') + string = string.replace('\\d', "%s" % self.mssqlcliclient_main.connected_database or '(none)') + string = string.replace('\\p', "%s" % str(self.mssqlcliclient_main.prompt_port) or '(none)') string = string.replace('\\n', "\n") - return string + return HTML("%s" % string) def get_last_query(self): """Get the last query executed or None.""" diff --git a/mssqlcli/mssqlclirc b/mssqlcli/mssqlclirc index fc8deeb5..99e585c1 100644 --- a/mssqlcli/mssqlclirc +++ b/mssqlcli/mssqlclirc @@ -145,6 +145,14 @@ arg-toolbar.text = 'nobold' bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold' bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold' +# style classes for the prompt +# prompt.default = 'bg:#000000 #FFFFFF' +# prompt.datetime = 'bg:#000000 #FFFFFF' +# prompt.username = 'bg:#000000 #FFFFFF' +# prompt.hostname = 'bg:#000000 #FFFFFF' +# prompt.database = 'bg:#000000 #FFFFFF' +# prompt.port = 'bg:#000000 #FFFFFF' + # style classes for colored table output output.header = "#00ff5f bold" output.odd-row = ""