mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-26 06:48:38 +00:00
refactor(macos): dedupe UI, pairing, and runtime helpers
This commit is contained in:
27
apps/macos/Sources/OpenClaw/VoiceOverlayTextFormatting.swift
Normal file
27
apps/macos/Sources/OpenClaw/VoiceOverlayTextFormatting.swift
Normal file
@@ -0,0 +1,27 @@
|
||||
import AppKit
|
||||
|
||||
enum VoiceOverlayTextFormatting {
|
||||
static func delta(after committed: String, current: String) -> String {
|
||||
if current.hasPrefix(committed) {
|
||||
let start = current.index(current.startIndex, offsetBy: committed.count)
|
||||
return String(current[start...])
|
||||
}
|
||||
return current
|
||||
}
|
||||
|
||||
static func makeAttributed(committed: String, volatile: String, isFinal: Bool) -> NSAttributedString {
|
||||
let full = NSMutableAttributedString()
|
||||
let committedAttr: [NSAttributedString.Key: Any] = [
|
||||
.foregroundColor: NSColor.labelColor,
|
||||
.font: NSFont.systemFont(ofSize: 13, weight: .regular),
|
||||
]
|
||||
full.append(NSAttributedString(string: committed, attributes: committedAttr))
|
||||
let volatileColor: NSColor = isFinal ? .labelColor : NSColor.tertiaryLabelColor
|
||||
let volatileAttr: [NSAttributedString.Key: Any] = [
|
||||
.foregroundColor: volatileColor,
|
||||
.font: NSFont.systemFont(ofSize: 13, weight: .regular),
|
||||
]
|
||||
full.append(NSAttributedString(string: volatile, attributes: volatileAttr))
|
||||
return full
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user