feat(ui): Einfuegen und Datei-Drop im interaktiven Terminal

Ctrl+V wurde von TerminalControl als rohes Control-Byte an das Kind
weitergegeben und tat nichts; jetzt wird es im Tunnel abgefangen und geht
ueber TerminalView.PasteAsync, damit Bracketed Paste greift und ein
mehrzeiliger Paste nicht auf der ersten Zeile abschickt. Gedroppte Dateien
werden als Pfade in den Composer getippt, ohne Enter.
This commit is contained in:
mika kuns
2026-09-07 08:17:37 +02:00
parent 0db9fadee9
commit 23491d3b49
5 changed files with 122 additions and 1 deletions
@@ -136,6 +136,14 @@ public sealed partial class InteractiveTerminalViewModel : ViewModelBase, IDispo
/// type into (or the write seam is gone).</summary>
public Task<bool> SendLineAsync(string text) => _session.SendLineAsync(text);
/// <summary>Inserts text at the cursor without submitting — see
/// <see cref="PtyTerminalSession.SendTextAsync"/> (dropped file paths).</summary>
public Task<bool> SendTextAsync(string text) => _session.SendTextAsync(text);
/// <summary>Pastes the clipboard into the session (Ctrl+V) — see
/// <see cref="PtyTerminalSession.PasteAsync"/>.</summary>
public Task PasteAsync() => _session.PasteAsync();
public void Kill() => _session.Kill();
public void Dispose()