Skip to content

cwd-k2/roshi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roshi (濾紙)

ディレクトリ構成が決まっていて, 編集したいファイルのみを取ってきて作業したいときに利用できるようなツール.

インストール

# $GOBIN 以下にインストールされる
$ go get -u github.com/cwd-k2/roshi/cmd/roshi

利用の流れ

# ファイルを引っ張ってくる元のディレクトリを指定する
# .roshi ディレクトリと空の .roshi.json が生成される
# TODO: 元のディレクトリはカレントディレクトリのサブディレクトリになっていてはいけない
$ roshi init /path/to/origin

# .roshi.json を良い感じに編集する
$ vim .roshi.json

# .roshi.json に基いて元のディレクトリからファイルをコピーしてくる
$ roshi pull

# .roshi.json に基いて元のディレクトリにファイルを置きにいく
$ roshi push

.roshi.json の書き方

元ディレクトリのパターン: こちらのディレクトリのパターン という形式で書く.

{
  "contents/#1-#2/main.cpp": "cpp/#2-#1.cpp"
}

パターンについて

  • dir/#1-#2/#3.cpp のような書き方
  • #1 などは /, . 以外の一文字以上の連続にマッチする (最短一致)
    • 仮に「ナンバリング」と呼ぶ (良い呼称を募集中)

いくつか制限を設けている (開発を楽にするため).

  • 正規表現や .. のようなものは認めない
  • ひとつのパターンにナンバリングの重複を認めない
  • 複数のパターンについて, ナンバリングを空文字に置き換えたときに同一となるパターンが含まれる場合を認めない
  • ナンバリングは連続することができない.

.roshi-ignore

roshi が扱おうとするファイルの中で, 無視したいパターンを各行に書く.

これらは正規表現として扱われ, マッチするものを無視しようとする.

node_modules
\.git

なお, 空行及び # から始まる行は無視される.

ライブラリ

About

ファイル拾ったり戻したりするもの

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages