mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-18 17:56:09 +03:00

C bindings to expose the color palette to Swift for macOS. Returns the full 256 colors from the current color scheme. After fetching the palette with `ghostty_config_get`, you can access the desired color by its index in the list. ### Usage Here is one way to get the palette in Swift. ```swift import GhosttyKit private(set) var config: ghostty_config_t? = nil { didSet { // Free the old value whenever we change guard let old = oldValue else { return } ghostty_config_free(old) } } var paletteColors: [Color] { var paletteList: ghostty_config_palette_s = .init() let key = "palette" if (!ghostty_config_get(config, &paletteList, key, UInt(key.count))) { return [] } var colors: [Color] = [] let mirror = Mirror(reflecting: paletteList.colors) for (_, element) in mirror.children { if let color = element as? ghostty_config_color_s { colors.append(Color( red: Double(color.r) / 255, green: Double(color.g) / 255, blue: Double(color.b) / 255 )) } } print("Palette Colors: ", colors) return colors } ``` Result (GruvboxDarkHard theme) 