Skip to content

Latest commit

 

History

History
91 lines (65 loc) · 2.3 KB

README.md

File metadata and controls

91 lines (65 loc) · 2.3 KB

FileScanKit

Swift 5.3 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.3+
  • Xcode 12.4+

Installation

// swift-tools-version:5.3
// 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

Usage

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.