Skip to content
Open
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
15 changes: 8 additions & 7 deletions src/kimi_cli/ui/shell/prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
from pathlib import Path
from typing import Any, Literal, Protocol, cast, override

import pyperclip
from kaos.path import KaosPath
from prompt_toolkit import PromptSession
from prompt_toolkit.application.current import get_app_or_none
from prompt_toolkit.buffer import Buffer
from prompt_toolkit.clipboard.pyperclip import PyperclipClipboard
from prompt_toolkit.completion import (
CompleteEvent,
Completer,
Expand Down Expand Up @@ -1480,15 +1480,16 @@ def _(event: KeyPressEvent) -> None:
def _(event: KeyPressEvent) -> None:
if self._try_paste_media(event):
return
clipboard_data = event.app.clipboard.get_data()
if clipboard_data is None: # type: ignore[reportUnnecessaryComparison]
try:
text = pyperclip.paste()
except Exception:
return
if not text:
return
self._insert_pasted_text(event.current_buffer, clipboard_data.text)
self._insert_pasted_text(event.current_buffer, text)
event.app.invalidate()

clipboard = PyperclipClipboard()
else:
clipboard = None
clipboard = None

self._session = PromptSession[str](
message=self._render_message,
Expand Down
Loading