Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

litecli crashes when trying to replace a char in vi mode #96

Closed
FreddieOliveira opened this issue Aug 19, 2020 · 4 comments
Closed

litecli crashes when trying to replace a char in vi mode #96

FreddieOliveira opened this issue Aug 19, 2020 · 4 comments

Comments

@FreddieOliveira
Copy link

After setting key_bindings = vi in the config.file, everytime I hit r, instead of entering in single char replace mode, a loop of exceptions messages are thrown on my screen and I need to kill litecli. This doesn't happen when replacing multiple characters with R

Error (they might be out of order, since they are shown in an endless loop, so I don't know where it starts nor where it ends):

Unhandled exception in event loop:
  File "/data/data/com.termux/files/usr/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/eventloop/utils.py", line 72, in schedule
    func()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/application/application.py", line 469, in redraw
    self._redraw()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/application/application.py", line 536, in _redraw
    self.context.run(run_in_context)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/application/application.py", line 522, in run_in_context
    self.renderer.render(self, self.layout)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/renderer.py", line 631, in render
    layout.container.preferred_height(size.columns, size.rows).preferred,
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 325, in preferred_height
    dimensions = [
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 326, in <listcomp>
    c.preferred_height(width, max_available_height) for c in self._all_children
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 2598, in preferred_height
    return self.content.preferred_height(width, max_available_height)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 1623, in preferred_height
    return self._merge_dimensions(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 1651, in _merge_dimensions
    preferred = get_preferred()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/containers.py", line 1616, in preferred_content_height
    return self.content.preferred_height(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/controls.py", line 379, in preferred_height
    content = self.create_content(width, None)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/controls.py", line 384, in create_content
    fragments_with_mouse_handlers = self._get_formatted_text_cached()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/controls.py", line 358, in _get_formatted_text_cached
    return self._fragment_cache.get(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/cache.py", line 41, in get
    value = getter_func()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/layout/controls.py", line 359, in <lambda>
    get_app().render_counter, lambda: to_formatted_text(self.text, self.style)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/formatted_text/base.py", line 78, in to_formatted_text
    return to_formatted_text(value(), style=style)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/prompt_toolkit/formatted_text/base.py", line 78, in to_formatted_text
    return to_formatted_text(value(), style=style)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/litecli/clitoolbar.py", line 28, in get_toolbar_tokens
    ("class:botton-toolbar.on", "Vi-mode ({})".format(_get_vi_mode()))
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/litecli/clitoolbar.py", line 46, in _get_vi_mode
    return {

Exception <InputMode.REPLACE_SINGLE: 'vi-replace-single'>
@herjazz
Copy link

herjazz commented Feb 1, 2022

Can confirm same behaviour for me - using litecli 1.7.0 (python 3.10 on linux)

@civersen
Copy link

Same here with litecli 1.8.0 (python 3.9.12 on macOs 12.2.1)

@amjith
Copy link
Member

amjith commented Jun 5, 2022

Sorry about this bug. It is now fixed in the main branch. I'll try and get a release out this weekend. In the meantime you can install directly from the main branch using the following command:

pip install -U https://github.com/dbcli/litecli/archive/refs/heads/main.zip

@amjith
Copy link
Member

amjith commented Jun 7, 2022

This is now fixed in the latest version. Please upgrade.

pip install -U litecli

@amjith amjith closed this as completed Jun 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants