Files
ShhShell/ShhShell/Terminal/MiniTerminalController.swift
2025-08-24 15:29:49 +01:00

33 lines
806 B
Swift

//
// MiniTerminalController.swift
// ShhShell
//
// Created by neon443 on 23/08/2025.
//
import Foundation
import UIKit
import SwiftUI
import SwiftTerm
struct MiniTerminalController: UIViewRepresentable {
@Binding var text: String
@Binding var cursorType: CursorType
func makeUIView(context: Context) -> TerminalView {
let tv = MiniTerminalDelegate(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: .zero))
tv.translatesAutoresizingMaskIntoConstraints = true
tv.autoresizingMask = [.flexibleWidth, .flexibleHeight]
return tv
}
func updateUIView(_ tv: TerminalView, context: Context) {
guard let tdelegate = tv as? MiniTerminalDelegate else { return }
tdelegate.text = text
tdelegate.cursorType = cursorType
tv.setNeedsLayout()
tv.layoutIfNeeded()
tv.layoutSubviews()
}
}