/PathKit

Effortless path operations in Swift

Primary LanguageSwiftBSD 2-Clause "Simplified" LicenseBSD-2-Clause

PathKit

Build Status

Effortless path operations in Swift.

Installation

Add this to your Package.swift

.Package(url: "https://github.com/kylef/Pathkit.git, majorVersion: 0, minor: 7)

Usage

let path = Path("/usr/bin/swift")

Joining paths

let path = Path("/usr/bin") + Path("swift")
var path = Path("/usr/bin")
path += Path("swift")

Determine if a path is absolute

path.isAbsolute

Determine if a path is relative

path.isRelative

Determine if a file or directory exists at the path

path.exists

Determine if a path is a directory

path.isDirectory

Get an absolute path

let absolutePath = path.absolute

Normalize a path

This cleans up any redundant .. or . and double slashes in paths.

let normalizedPath = path.normalized

Deleting a path

path.delete()

Moving a path

path.move(newPath)

Current working directory

Path.current
Path.current = "/usr/bin"

Changing the current working directory

path.chdir {
  // Path.current would be set to path during execution of this closure
}

Children paths

path.children

Reading

path.read()

Writing

path.write("Hello World!")

Glob

let paths = Path.glob("*.swift")

Contact

Kyle Fuller

License

PathKit is licensed under the BSD License.