Skip to content
Scanning file path library for Swift
Branch: master
Clone or download
Latest commit 0462fab Apr 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Sources/FileScanKit
Tests Add tests Apr 12, 2019
.gitignore Initial Project by SwiftPM Apr 10, 2019
LICENSE
Package.resolved
Package.swift
README.md

README.md

FileScanKit

Swift 5.0 Swift Package Manager Lincense

Overview

Scanning file path library for Swift.

Main use case is to be used with SwiftSyntax.

Support

  • Recursion
    • all
    • depth limit
  • FIle extension
  • Ignore paths

Note: FileScanKit is still in development, and the API is not guaranteed to be stable. It's subject to change without warning.

Requirements

  • Swift 5.0+
  • Xcode 10.2+

Installation

Swift Package Manager

// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "test",
    dependencies: [
        .package(url: "https://github.com/yutailang0119/FileScanKit.git", from: Version(0, 1, 0)),
    ],
    targets: [
        .target(name: "targetName", dependencies: ["FileScanKit"]),
    ]
)

https://github.com/apple/swift-package-manager

Usege

import Foundation
import FileScanKit

let path: String = "target/path"
guard let fileScanner = FileScanner(path: path)!

let recursion: Recursion = .all
let fileExtension: FileExtension = .swift
let ignorePaths: [String] = ["ignore/path"]
let option = Option(
    recursion: recursion,
    fileExtension: fileExtension,
    ignorePaths: ignorePaths
)

let result: Result<[URL], Error> = fileScanner.scan(with: option)

switch result {
case .success(let urls):
    // Do something
case .failure(let error):
    // Handle error
}

Author

Yutaro Muta

License

FileScanKit is available under the MIT license. See the LICENSE file for more info.
This software includes the work that is distributed in the BSD License.

You can’t perform that action at this time.