Initial commit

This commit is contained in:
2026-08-24 06:34:01 -07:00
commit 9f22286eef
6 changed files with 273 additions and 0 deletions
+190
View File
@@ -0,0 +1,190 @@
# Created by https://www.toptal.com/developers/gitignore/api/swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows
# Edit at https://www.toptal.com/developers/gitignore?templates=swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## User settings
xcuserdata/
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
## Obj-C/Swift specific
*.hmap
## App packaging
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm
.build/
# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace
# Carthage
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build/
# Accio dependency management
Dependencies/
.accio/
# fastlane
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output
# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode
iOSInjectionProject/
### SwiftPackageManager ###
Packages
xcuserdata
*.xcodeproj
### SwiftPM ###
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows
+24
View File
@@ -0,0 +1,24 @@
{
"configurations": [
{
"type": "swift",
"request": "launch",
"args": [],
"cwd": "${workspaceFolder:SwiftRunnerTesting}",
"name": "Debug SwiftRunnerTesting",
"target": "SwiftRunnerTesting",
"configuration": "debug",
"preLaunchTask": "swift: Build Debug SwiftRunnerTesting"
},
{
"type": "swift",
"request": "launch",
"args": [],
"cwd": "${workspaceFolder:SwiftRunnerTesting}",
"name": "Release SwiftRunnerTesting",
"target": "SwiftRunnerTesting",
"configuration": "release",
"preLaunchTask": "swift: Build Release SwiftRunnerTesting"
}
]
}
+15
View File
@@ -0,0 +1,15 @@
{
"originHash" : "b9c727a3413a2452777b7420295f2e19a96b3788e9724e5bcd783c619b3d3da6",
"pins" : [
{
"identity" : "rainbow",
"kind" : "remoteSourceControl",
"location" : "https://github.com/onevcat/Rainbow",
"state" : {
"revision" : "cdf146ae671b2624917648b61c908d1244b98ca1",
"version" : "4.2.1"
}
}
],
"version" : 3
}
+25
View File
@@ -0,0 +1,25 @@
// swift-tools-version: 6.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "SwiftRunnerTesting",
products: [
.executable(name: "SwiftRunnerTesting", targets: ["SwiftRunnerTesting"]),
],
dependencies: [
.package(url: "https://github.com/onevcat/Rainbow", .upToNextMajor(from: "4.0.0"))
],
targets: [
.executableTarget(
name: "SwiftRunnerTesting",
dependencies: ["Rainbow"]
),
.testTarget(
name: "SwiftRunnerTestingTests",
dependencies: ["SwiftRunnerTesting"]
),
],
swiftLanguageModes: [.v6]
)
+9
View File
@@ -0,0 +1,9 @@
import Foundation
import Rainbow
func sayHello(to name: String = "World") -> String {
return "Hello, \(name)!"
}
print(sayHello())
print(sayHello(to: "Alex").red.bold.blink)
+10
View File
@@ -0,0 +1,10 @@
import Testing
@testable import SwiftRunnerTesting
@Test func expectWorld() async throws {
#expect(sayHello() == "Hello, World!")
}
@Test func expectAlex() async throws {
#expect(sayHello(to: "Alex") == "Hello, Alex!")
}