What Programming Languages Are Used in Palmier Pro? Complete Swift Implementation Guide
Palmier Pro is built exclusively with Swift 6.2, containing no Objective-C, C, or C++ source files in its repository.
The palmier-io/palmier-pro repository hosts a macOS video editing application implemented entirely in modern Swift. Analyzing the Package.swift manifest and the complete source tree confirms that every implementation file uses the .swift extension, with the project targeting Swift 6.2 as its sole programming language.
Swift as the Sole Implementation Language
The project structure contains zero Objective-C .m or .mm bridged files. All business logic, user interface components, and system integrations reside in Swift source files within the Sources/PalmierPro/ directory.
Package.swift Configuration
The Swift Package Manager manifest explicitly defines the Swift language version and platform requirements. Reviewing Package.swift reveals the toolchain configuration:
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "PalmierPro",
platforms: [
.macOS(.v14)
],
products: [
.executable(name: "PalmierPro", targets: ["PalmierPro"])
],
dependencies: [
.package(url: "https://github.com/sparkle-project/Sparkle.git", from: "2.0.0"),
.package(url: "https://github.com/getsentry/sentry-cocoa.git", from: "8.10.0")
],
targets: [
.executableTarget(
name: "PalmierPro",
dependencies: ["Sparkle", "Sentry"],
swiftSettings: [.swiftLanguageVersion(.v6)]
)
]
)
Note: While the manifest references Swift 6 language mode, the project utilizes Swift 6.2 features throughout the codebase.
Source File Analysis
Examining the repository root shows no .m, .mm, or .c files. The application entry point at Sources/PalmierPro/App/main.swift implements the standard SwiftUI app lifecycle:
import SwiftUI
import AppKit
@main
struct PalmierProApp: App {
var body: some Scene {
WindowGroup {
ContentView() // all UI built with SwiftUI
.frame(minWidth: 800,
minHeight: 600)
}
}
}
This pattern continues across the architecture, from the view models driving the video editor to the design system implementation.
Third-Party Dependencies vs. Core Code
While Sparkle (automatic updates), Sentry (crash reporting), and Lottie (animations) integrate with the application, these libraries import as binary dependencies or Swift packages. The actual implementation code in palmier-io/palmier-pro never bridges to Objective-C directly. All external framework interactions wrap through Swift-native APIs or Swift Package Manager abstraction layers.
Key Source Files Demonstrating Swift Usage
The repository structure confirms the exclusive use of Swift across all modules:
- Package.swift – Defines the Swift package manifest, toolchain version, and platform targets.
- Sources/PalmierPro/App/main.swift – Application entry point implementing the SwiftUI
Appprotocol. - Sources/PalmierPro/UI/AppTheme.swift – Design system constants and styling protocols written in Swift.
- Sources/PalmierPro/Editor/ViewModel/EditorViewModel.swift – Core editor logic utilizing Swift concurrency features.
- Tests/PalmierProTests/Transcription/TranscriptSearchTests.swift – Unit tests leveraging the XCTest framework.
The following example from AppTheme.swift illustrates typical Swift syntax for UI configuration:
// Using the design‑system constants defined in AppTheme.swift
Text("Welcome to Palmier Pro")
.font(.system(size: AppTheme.FontSize.large))
.foregroundColor(AppTheme.Text.primary)
.padding(AppTheme.Spacing.medium)
Testing Infrastructure
The test suite follows the same language consistency. Files such as TranscriptSearchTests.swift utilize XCTest frameworks written entirely in Swift:
import XCTest
@testable import PalmierPro
final class TranscriptSearchTests: XCTestCase {
func testSearchHighlighting() {
let viewModel = TranscriptViewModel()
let results = viewModel.search(for: "cut")
XCTAssertEqual(results.count, 3)
}
}
Summary
- Swift 6.2 is the only programming language used in the Palmier Pro source repository.
- The project contains no Objective-C bridging headers or
.mimplementation files. - Package.swift defines the Swift toolchain and dependency graph without native C/C++ interop.
- Both application code and unit tests utilize pure Swift with SwiftUI for the user interface layer.
Frequently Asked Questions
Is Palmier Pro built with Objective-C?
No. Palmier Pro contains no Objective-C source files in its repository. While third-party dependencies like Sparkle and Sentry may internally use Objective-C, the application code in palmier-io/palmier-pro is 100% Swift.
What version of Swift does Palmier Pro use?
The project targets Swift 6.2 (Swift 6 language mode with toolchain-specific features). The Package.swift manifest configures swiftLanguageVersion(.v6) and the codebase utilizes modern concurrency features and SwiftUI APIs introduced in recent Swift versions.
Does Palmier Pro contain any C or C++ code?
No. The repository excludes any .c, .cpp, .h, or .mm files. All system-level functionality, including video processing and transcription features, implements through Swift interfaces to native macOS frameworks.
Are the unit tests also written in Swift?
Yes. All test files reside in the Tests/ directory with .swift extensions, using Apple's XCTest framework. Files like TranscriptSearchTests.swift demonstrate standard Swift testing patterns without Objective-C compatibility layers.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →