/** * Tae Won Ha - http://taewon.de - @hataewon * See LICENSE */ import Foundation class FileItem : CustomStringConvertible, Hashable, Comparable { static func ==(left: FileItem, right: FileItem) -> Bool { return left.url == right.url } static func <(left: FileItem, right: FileItem) -> Bool { return left.url.lastPathComponent < right.url.lastPathComponent } let url: URL var isDir: Bool { return self.url.isDir } var isHidden: Bool { return self.url.isHidden } var isPackage: Bool { return self.url.isPackage } var hashValue: Int { return url.hashValue } /// When nil, then it has never been fnmatch'ed. weak var ignoreToken: Token? var ignore = false var needsScanChildren = false var childrenScanned = false var children: [FileItem] = [] var description: String { return "