Skip to content

joeoreilly/advent-of-code-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code Swift 2023

Language

This repo is based on the Apple AOC example repo

Challenges

The challenges assume three files (replace 00 with the day of the challenge).

  • Data/Day00.txt: the input data provided for the challenge
  • Sources/Day00.swift: the code to solve the challenge
  • Tests/Day00.swift: any unit tests that you want to include

To start a new day's challenge, make a copy of these files and update as necessary. The AdventOfCode.swift file controls which day's challenge is run with swift run. By default that runs the most recent challenge in the package.

To supply command line arguments use swift run AdventOfCode. For example, swift run -c release AdventOfCode --benchmark 3 builds the binary with full optimizations, and benchmarks the challenge for day 3.

Linting and Formatting

Challenge source code can be linted and formatted automatically using the included dependency on swift-format.

Lint source code with the following command:

$ swift package lint-source-code

Format source code with the following command:

$ swift package format-source-code
Plugin ‘Format Source Code’ wants permission to write to the package directory.
Stated reason: “This command formats the Swift source files”.
Allow this plugin to write to the package directory? (yes/no)

To avoid the interactive prompt when formatting source code, use the --allow-writing-to-package-directory flag.

$ swift package format-source-code --allow-writing-to-package-directory

swift-format will use the built-in default style to lint and format code. A .swift-format configuration file can be used to customize the style used, see Configuration for more details.

About

Advent of Code 2023

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages