1
1
mirror of https://github.com/dbcli/pgcli.git synced 2024-10-06 10:17:15 +03:00

Print refreshing in toolbar

This commit is contained in:
Darik Gamble 2015-09-04 06:00:00 -04:00
parent 27d6cb31b6
commit 7ade315d36
3 changed files with 12 additions and 3 deletions

View File

@ -27,7 +27,7 @@ class CompletionRefresher(object):
has completed the refresh. The newly created completion
object will be passed in as an argument to each callback.
"""
if self._completer_thread and self._completer_thread.is_alive():
if self.is_refreshing():
self._restart_refresh.set()
return [(None, None, None, 'Auto-completion refresh restarted.')]
else:
@ -39,6 +39,9 @@ class CompletionRefresher(object):
return [(None, None, None,
'Auto-completion refresh started in the background.')]
def is_refreshing(self):
return self._completer_thread and self._completer_thread.is_alive()
def _bg_refresh(self, pgexecute, special, callbacks):
completer = PGCompleter(smart_completion=True, pgspecial=special)

View File

@ -265,7 +265,9 @@ class PGCli(object):
def prompt_tokens(cli):
return [(Token.Prompt, '%s> ' % pgexecute.dbname)]
get_toolbar_tokens = create_toolbar_tokens_func(lambda: self.vi_mode)
get_toolbar_tokens = create_toolbar_tokens_func(lambda: self.vi_mode,
lambda: self.completion_refresher.is_refreshing())
layout = create_default_layout(lexer=PostgresLexer,
reserve_space_for_menu=True,
get_prompt_tokens=prompt_tokens,

View File

@ -1,6 +1,7 @@
from pygments.token import Token
def create_toolbar_tokens_func(get_vi_mode_enabled):
def create_toolbar_tokens_func(get_vi_mode_enabled, get_is_refreshing):
"""
Return a function that generates the toolbar tokens.
"""
@ -31,5 +32,8 @@ def create_toolbar_tokens_func(get_vi_mode_enabled):
else:
result.append((token.On, '[F4] Emacs-mode'))
if get_is_refreshing():
result.append((token, ' Refreshing completions...'))
return result
return get_toolbar_tokens