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
|
has completed the refresh. The newly created completion
|
||||||
object will be passed in as an argument to each callback.
|
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()
|
self._restart_refresh.set()
|
||||||
return [(None, None, None, 'Auto-completion refresh restarted.')]
|
return [(None, None, None, 'Auto-completion refresh restarted.')]
|
||||||
else:
|
else:
|
||||||
@ -39,6 +39,9 @@ class CompletionRefresher(object):
|
|||||||
return [(None, None, None,
|
return [(None, None, None,
|
||||||
'Auto-completion refresh started in the background.')]
|
'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):
|
def _bg_refresh(self, pgexecute, special, callbacks):
|
||||||
completer = PGCompleter(smart_completion=True, pgspecial=special)
|
completer = PGCompleter(smart_completion=True, pgspecial=special)
|
||||||
|
|
||||||
|
@ -265,7 +265,9 @@ class PGCli(object):
|
|||||||
def prompt_tokens(cli):
|
def prompt_tokens(cli):
|
||||||
return [(Token.Prompt, '%s> ' % pgexecute.dbname)]
|
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,
|
layout = create_default_layout(lexer=PostgresLexer,
|
||||||
reserve_space_for_menu=True,
|
reserve_space_for_menu=True,
|
||||||
get_prompt_tokens=prompt_tokens,
|
get_prompt_tokens=prompt_tokens,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from pygments.token import Token
|
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.
|
Return a function that generates the toolbar tokens.
|
||||||
"""
|
"""
|
||||||
@ -31,5 +32,8 @@ def create_toolbar_tokens_func(get_vi_mode_enabled):
|
|||||||
else:
|
else:
|
||||||
result.append((token.On, '[F4] Emacs-mode'))
|
result.append((token.On, '[F4] Emacs-mode'))
|
||||||
|
|
||||||
|
if get_is_refreshing():
|
||||||
|
result.append((token, ' Refreshing completions...'))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
return get_toolbar_tokens
|
return get_toolbar_tokens
|
||||||
|
Loading…
Reference in New Issue
Block a user