Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Features
Bug Fixes
---------
* Improve query cancellation on control-c.
* Improve refresh of some format strings in the toolbar.


Internal
Expand Down
17 changes: 11 additions & 6 deletions mycli/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -1423,9 +1423,11 @@ def get_output_margin(self, status: str | None = None) -> int:
"""Get the output margin (number of rows for the prompt, footer and
timing message."""
if not self.prompt_lines:
# self.prompt_app.app.render_counter failed in the test suite
app = get_app()
self.prompt_lines = self.get_prompt(self.prompt_format, app.render_counter).count('\n') + 1
if self.prompt_app and self.prompt_app.app:
render_counter = self.prompt_app.app.render_counter
else:
render_counter = 0
self.prompt_lines = self.get_prompt(self.prompt_format, render_counter).count('\n') + 1
margin = self.get_reserved_space() + self.prompt_lines
if special.is_timing_enabled():
margin += 1
Expand Down Expand Up @@ -1623,10 +1625,13 @@ def set_external_multiplex_pane_title(self) -> None:
sys.stderr.flush()

def get_custom_toolbar(self, toolbar_format: str) -> ANSI:
if self.prompt_app and self.prompt_app.app.current_buffer.text:
if not self.prompt_app:
return ANSI('')
if not self.prompt_app.app:
return ANSI('')
if self.prompt_app.app.current_buffer.text:
return self.last_custom_toolbar_message
app = get_app()
toolbar = self.get_prompt(toolbar_format, app.render_counter)
toolbar = self.get_prompt(toolbar_format, self.prompt_app.app.render_counter)
toolbar = toolbar.replace("\\x1b", "\x1b")
self.last_custom_toolbar_message = ANSI(toolbar)
return self.last_custom_toolbar_message
Expand Down
1 change: 1 addition & 0 deletions test/test_main.py
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,7 @@ def server_type(self):

class PromptBuffer:
output = TestOutput()
app = None

m.prompt_app = PromptBuffer()
m.sqlexecute = TestExecute()
Expand Down