https://github.com/wojciech-kulik/xcodebuild-nvim-preview
Swift Package for previewing SwiftUI, UIKit, and AppKit views in Neovim using xcodebuild.nvim.
https://github.com/wojciech-kulik/xcodebuild-nvim-preview
appkit ios macos neovim swift swiftui uikit
Last synced: 4 months ago
JSON representation
Swift Package for previewing SwiftUI, UIKit, and AppKit views in Neovim using xcodebuild.nvim.
- Host: GitHub
- URL: https://github.com/wojciech-kulik/xcodebuild-nvim-preview
- Owner: wojciech-kulik
- License: mit
- Created: 2025-02-23T20:45:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-23T23:02:30.000Z (11 months ago)
- Last Synced: 2025-09-20T01:50:57.249Z (9 months ago)
- Topics: appkit, ios, macos, neovim, swift, swiftui, uikit
- Language: Swift
- Homepage:
- Size: 20.5 KB
- Stars: 22
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# xcodebuild-nvim-preview
Swift Package for previewing SwiftUI, UIKit, and AppKit views in Neovim using [xcodebuild.nvim].
## Usage
### SwiftUI (supports hot reload)
```swift
import SwiftUI
import XcodebuildNvimPreview
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
MainView()
.setupNvimPreview { HomeView() }
}
}
}
```
### UIKit (similar for AppKit)
```swift
import XcodebuildNvimPreview
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// ...
XcodebuildNvimPreview.setup(view: MainView())
// (optional) enable hot reload for preview (requires integration with `Inject`)
observeHotReload()
.sink { XcodebuildNvimPreview.setup(view: HomeView()) }
.store(in: &cancellables)
return true
}
```
Read more: [Wiki](https://github.com/wojciech-kulik/xcodebuild.nvim/wiki/Integrations#-previews)
[xcodebuild.nvim]: https://github.com/wojciech-kulik/xcodebuild.nvim