Skip to content

Instantly share code, notes, and snippets.

@kako-jun
Created March 22, 2019 02:47
Show Gist options
  • Save kako-jun/f514f3b7faccaa9314e09493bc7c7254 to your computer and use it in GitHub Desktop.
Save kako-jun/f514f3b7faccaa9314e09493bc7c7254 to your computer and use it in GitHub Desktop.
genderのREADME下書き

kako-junです

好きな金田一の犯人は 桐江想子です


genderのREADME.mdを下書くよー


English

📖 gender

Build Status

gender は、シンプルなコマンドラインツールです

カレントディレクトリにしか効果の及ばないコマンド(gityarn など)を、カレントディレクトリを変更することなく実行します

Goで書かれているため、多くのOSで動作します

アラビア語、フランス語、ドイツ語、ヒンディー語、イタリア語、ポルトガル語、スペイン語、ロシア語 に対応 英語は必ず 言語を1つも指定しなかった場合は全てを指定したことになる

名詞の性別だけを取得できるような辞書は この世に無いようで 作ろうと思った人もいなかったみたいなので作りました

名詞性別大全 MBです 自由にお使いください

いきなりSQLiteのファイルだけあっても使いにくいと思うので CLIにしました

4541名詞 * 8言語 = 36328 あります

さらに翻訳が複数ある場合は第3候補まで収録したので 60,000件くらいだと思います

オンライン版への案内 tempにdbができること

UTF-8なので、 Windowsのコマンドプロンプトだと文字化けします Windowsで実行する場合は、デフォルトがUTF-8の端末を使ってください

gender-coreのExecだけを使ってもいいし 間接的に呼んで標準出力をパースしても いろんなアプリに組み込めるでしょう

英語圏の人が性別のある言語を学ぶ時と 性別のある言語のスピーカーが英語に翻訳する時 両方で便利でしょう

イタリア人が性別を忘れたときにも使える イタリア人の友達がいたら見せて喜ばせてあげてください

誤った訳があっても責任は持ちません 追加要望用テンプレート

現代ドイツ語では文頭や固有名詞のみならず名詞全般を大文字で始める習慣がある なのでexactは大文字、小文字は無視する

 

Description

Demo

demo

VS.

「カレントディレクトリを移動してからでなければ、実行できないコマンド」は多くあります

例えば、pwd

$ pwd

/media/removable/SD Card/current

$ pwd subdir/subsubdir

/media/removable/SD Card/current

 

gender を使うと、簡潔に書けます

$ gender subdir/subsubdir pwd

/media/removable/SD Card/current/subdir/subsubdir

使わない場合、カレントディレクトリが変化してしまうため、戻るコマンドが必要になります

$ cd subdir/subsubdir; pwd
$ cd ../..

gender にPATHを通すことで、cd ../.. にお別れできます

 

Installation

Requirements

  • Operating System

    • Windows
    • macOS
    • Linux

Download binaries

go get

$ go get github.com/kako-jun/gender

 

Features

Usage

$ gender subdir/subsubdir ls -alF

drwxrwxr-x.  2 kako-jun kako-jun 4096  Apr  2 04:20 ./
drwxr-xr-x. 10 kako-jun kako-jun 4096  Apr  2 04:20 ../
-rw-rw-r--.  1 kako-jun kako-jun    0  Apr  2 04:20 my_secrets.txt

 

「なぜ gender が便利なのか……?」の例を、以下に挙げます

Examples

e.g. Gitリポジトリのディレクトリに cd する必要がない
$ gender your/git/repository git status
e.g. Nodeプロジェクトのディレクトリに cd する必要がない
$ gender your/node/project yarn

 

つまり、実行ディレクトリを変えるオプションを、コマンドごとに覚える必要がなくなります

カレントディレクトリ以外で実行するオプションとして、

  • git には -C オプションが
  • node には -prefix-cwd オプションが

それぞれあります

でも覚えにくいです

 

$ (cd subdir/subsubdir; ls)

という書き方もあります

でも面倒です

 

gender ならば cd と打ち、「あ……めんどいな……」と思ったら and と打ち足せばイイだけです

その後、ディレクトリ名を打つ時には cd と同じくTABでの補完が効くため、違和感なく高速に打てます

$ gender ../sister_project npm install

親方向に使っても便利

 

e.g. おまけ

gender 自身を入れ子にして呼べます

$ gender subdir gender .. gender subdir gender .. ls

特にメリットはありませんが、可能です

 

Unsupported

端末の文字色変更の効果は失われる

ls -G でも色はつきません

1コマンドで完結しないコマンドは呼べない
  • vim は起動しますが、端末に表示されません
  • less は起動しますが、ページ送りはできません
  • 対話型コマンドも対話できず、結果がまとめて表示されます
パイプ、リダイレクトの対象は、gender コマンド自身である

例えば、

$ gender subdir cat my_secrets.txt | grep treasure

と書いた場合、

$ gender subdir cat my_secrets.txt

した結果をカレントディレクトリで

$ grep treasure

するという意味になります

パイプの場合、それでも特に結果は変わらないでしょう

 

しかし、リダイレクトの場合、結果が変わります

$ gender subdir cat my_secrets.txt > my_will.txt

を実行すると、my_will.txt が作られるのは subdir 内でなく、カレントディレクトリ内です

 

どうしても subdir 内に作りたい場合は

cat my_secrets.txt > my_will.txt

という内容の foo.sh ファイルを作って subdir 内に置き、

$ gender subdir foo.sh

とすれば可能です (あまり意味はない気もしますが……)

 

Coding

import "github.com/kako-jun/gender/gender-core"

gender.Exec("subdir/subsubdir", "ls", "-alF")

Contributing

Pull Requestを歓迎します

  • gender をより便利にする機能の追加
  • より洗練されたGoでの書き方
  • バグの発見、修正
  • もっと良い英訳、日本語訳があると教えたい

など、アイデアを教えてください

 

Authors

kako-jun

🍋 Lemonade stand

寄付を頂けたら、少し豪華な猫エサを買おうと思います

下のリンクから、Amazonギフト券(Eメールタイプ)を送ってください

「受取人」欄には kako.hydrajin@gmail.com と入力してください

 ♥️ Donate

  • 「メッセージ」欄を使って、感想を伝えることもできます
  • 送り主が誰かは分かりません
  • ¥15 から送れます

 

License

This project is licensed under the MIT License.

See the LICENSE file for details.

Acknowledgments

  • Go
  • and you
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment