diff --git a/src/prompt_toolkit/document.py b/src/prompt_toolkit/document.py index 382fb93e3..d2657a50e 100644 --- a/src/prompt_toolkit/document.py +++ b/src/prompt_toolkit/document.py @@ -457,10 +457,11 @@ def get_word_before_cursor( def _is_word_before_cursor_complete( self, WORD: bool = False, pattern: Pattern[str] | None = None ) -> bool: - if not self.text_before_cursor == "" or self.text_before_cursor[-1:].isspace(): + if self.text_before_cursor == "" or self.text_before_cursor[-1:].isspace(): return True if pattern: return self.find_start_of_previous_word(WORD=WORD, pattern=pattern) is None + return False def find_start_of_previous_word( self, count: int = 1, WORD: bool = False, pattern: Pattern[str] | None = None diff --git a/src/prompt_toolkit/shortcuts/dialogs.py b/src/prompt_toolkit/shortcuts/dialogs.py index 6d1f59cc6..d12bbb03a 100644 --- a/src/prompt_toolkit/shortcuts/dialogs.py +++ b/src/prompt_toolkit/shortcuts/dialogs.py @@ -1,7 +1,6 @@ from __future__ import annotations import functools -from asyncio import get_running_loop from typing import Any, Callable, Sequence, TypeVar from prompt_toolkit.application import Application @@ -290,8 +289,10 @@ def set_percentage(value: int) -> None: app.invalidate() def log_text(text: str) -> None: - app.loop.call_soon_threadsafe(text_area.buffer.insert_text, text) - app.invalidate() + loop = app.loop + if loop is not None: + loop.call_soon_threadsafe(text_area.buffer.insert_text, text) + app.invalidate() # Run the callback in the executor. When done, set a return value for the # UI, so that it quits. diff --git a/tests/test_document.py b/tests/test_document.py index f10232a21..ff54310d5 100644 --- a/tests/test_document.py +++ b/tests/test_document.py @@ -1,8 +1,9 @@ from __future__ import annotations -import pytest import re +import pytest + from prompt_toolkit.document import Document @@ -77,4 +78,4 @@ def test_get_word_before_cursor_with_whitespace_and_pattern(): assert document.get_word_before_cursor() == "" _FIND_WORD_RE = re.compile(r"([a-zA-Z0-9_]+|[^a-zA-Z0-9_\s]+)") - assert document.get_word_before_cursor(pattern=_FIND_WORD_RE) == "" \ No newline at end of file + assert document.get_word_before_cursor(pattern=_FIND_WORD_RE) == ""