Need help with Ocha?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

bannzai
129 Stars 2 Forks MIT License 182 Commits 0 Opened issues

Description

Listen to the file system change notifications and raises events when a directory, or file in a directory, changes. 🍵

Services available

!
?

Need anything else?

Contributors list

# 183,728
Swift
JavaScr...
xcodepr...
specifi...
162 commits
# 284,372
Objecti...
spm
Ruby
Xcode
5 commits

Ocha

swift4.2 Platform License

Ocha

Ocha
can be listen to the file system change notifications and raises events when a directory, or file in a directory, changes.

Ocha means Tea🍵 in Japan.

Usage

To use Ocha, first create a

Watcher
instance with file paths you want to watch.
let watcher = Watcher(paths: [pathString])

And you can call for

Watcher.start(_:)
method when it start to watch file events. When file removed, you get callback with removed file path infomations.
watcher.start { (events) in ... }

Example

The following example execute

git add << REMOVED_FILE_PATH >>
and
git commit -m << REMOVED_FILE_PATH >>
to watch the file path, when it removed.
import Foundation
import Ocha
import SwiftShell
import PathKit

let path = Path( #file.components(separatedBy: "/") .dropLast() // main.swift .dropLast() // GitCommitExample .dropLast() // Sources .joined(separator: "/") ) let pathString = path.absolute().string main.currentdirectory = pathString

let watcher = Watcher(paths: [pathString]) watcher.start { (events) in let removedEventPaths = events .filter { $0.flag.contains(.removedFile) } .map { $0.path } removedEventPaths.forEach { path in main.run(bash: "git add (path)") main.run(bash: "git commit -m "Delete file (path)"") } }

RunLoop.current.run()

If you execute this swift code, you can confirm removed file git log.

$ git log -1

Try it easily

You can easily try Ocha by editing the

Playground
target.
  1. Clone this repository with git or Download sources.
  2. Open
    ./Sources/Playground/main.swift
    .
  3. Add monitored paths and processes.
  4. Run
    swift run Playground
    on Terminal.

LICENSE

Ocha is released under the MIT license. See LICENSE for details.

Header logo is released CC BY-NC 4.0 license. Original design by noainoue.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.