Skip to content
Novus Examples
swift1013 B

Swift — Task list (struct, protocol, optionals)

A realistic Swift snippet with an enum, a protocol, a struct with a computed property, optionals and optional binding, and higher-order functions — for testing highlighters, the Swift compiler, SwiftLint, and parsers.

Preview — first 47 linesswift
// A small task model in Swift: an enum, a protocol, a struct with a
// computed property, optionals, and higher-order functions.
import Foundation

enum Priority: Int, CaseIterable {
    case low = 1, normal, high
}

protocol Summarizable {
    var summary: String { get }
}

struct Task: Summarizable {
    let title: String
    var priority: Priority = .normal
    var done: Bool = false

    var summary: String {
        let box = done ? "[x]" : "[ ]"
        return "\(box) \(title) (priority \(priority.rawValue))"
    }
}

struct TaskList {
    private(set) var tasks: [Task] = []

    mutating func add(_ task: Task) {
        tasks.append(task)
    }

    func next() -> Task? {
        tasks.filter { !$0.done }.max { $0.priority.rawValue < $1.priority.rawValue }
    }
}

var list = TaskList()
list.add(Task(title: "Write tests", priority: .high))
list.add(Task(title: "Ship release"))

for task in list.tasks {
    print(task.summary)
}

if let up = list.next() {
    print("next up: \(up.title)")
}

Specifications

Language
Swift
Kind
realistic snippet
Lines
46
Encoding
UTF-8
Line Endings
LF

What is a .swift file?

Swift (.swift) is a plain-text source file for the Swift programming language — a statically typed, compiled language from Apple used for iOS, macOS, and server development. It emphasises safety with optionals and value types, and features structs, protocols, generics, and pattern matching.

How to use this file

Use an example .swift file to test syntax highlighters, the Swift compiler, linters and formatters (SwiftLint, swift-format), and parser or language-detection tooling.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.