Contents

loopwerk/pathkit

Effortless path operations in Swift.

Usage

let path = Path("/usr/bin/swift")
Joining paths
let path = Path("/usr/bin") + 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.normalize()
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

  • https://fuller.li
  • https://twitter.com/kylefuller

License

PathKit is licensed under the BSD License.

Package Metadata

Repository: loopwerk/pathkit

Default branch: main

README: README.md