2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rust製のディレクトリお気に入りツール

Last updated at Posted at 2019-09-28

#自己紹介
最近Rustを学んでいる@1125__ruiです。
普段はPythonで競技プログラミングをしたり、ラーメンを食べたりしています。

#diar
開発をしているときに、頻繁に訪れるディレクトリのパスをいちいち入力するの、めんどくさくないですか??
Webブラウザにあるようなブックマーク機能があったら、移動が楽なのになぁとか思ったのでRust初心者の友人@4afS_と一緒にツールを作成しました。

作成したものがこれです。
"directory" の "dir" と "dear" をまぜて "diar"です。割と名前が気に入っていたりします。
使い方、インストール方法はREADMEに書いてあるので、そちらを参考にしてください。
Rust側からcdコマンドを実行する方法が見つからなかったのでシェルスクリプトを追記しないと動作しないのが残念です:cry:

diar-jump(){
  local selected=$(diar jump $1)
  local flag=0

  if [[ -n $selected ]]; then
    if [[ $selected =~ "Is this what you are jumping?" ]]; then
      diar jump $1
      flag=1
    fi
    if [[ $1 = "-h" ]]; then
      diar jump $1
      flag=1
    fi
    if [[ $flag -ne 1 ]]; then
      \cd $selected
    fi
  fi
}

非常に不格好に見えますし、jumpだけハイフンを間に挿入しないといけないのはイマイチ気に食わないので、近いうちに修正したいなとか考えています。

#使用したライブラリ

これがとても便利です。パスを渡すだけで手元にファイルとしてDBを構築できてしまいます。
今回はこのライブラリをメインに使用して、お気に入りのディレクトリとそれに対するキーを保持するようにしています。

Rustでコマンドラインツールを作るときに最も王道なライブラリだと思います。
紹介記事や詳しい仕様方法などは公式を参照してください。

#まとめ
Linux環境での動作は確認しています。ぜひ使い勝手などを教えてくださるととてもありがたいです。
よろしくお願いします:pray:

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?