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:
parent
27d6cb31b6
commit
7ade315d36
@ -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)
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user