Skip to content

sndpl/clangsay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clangsay

version license issues build

default

マルチバイト準対応のUnicode環境専用cowsayクローン。
ただし、特殊文字が含まれる場合は、相変わらずズレてしまいます。 cowsayの-Wオプションに該当するものはありません。(常に-nつきの状態)

Requirements

  • GNU Make
  • gcc or clang
  • pkg-config
  • glib-2.0

Install

Debian/GNU Linux or Debian based system.(amd64)

# echo 'deb http://ssiserver.moe.hm/pub/debian ./' >> /etc/apt/sources.list	
# apt-get update	
# apt-get install clangsay

Mac OS X/Homebrew

依存パッケージとしてcowsay、pkg-config、glibがインストールされます。

  • 全てインストールする場合(cowファイルを共有) cowsay側のパスに対して、cowファイルのインストールが行われます。

     % brew install 844196/Renge/clangsay
  • zsh補完関数もインストールする場合

     % brew install --zsh-completion 844196/Renge/clangsay

    上記のコマンドを実行した際に、補完関数をインストールしたディレクトリを示す下記のようなメッセージが出ます。

     zsh completion has been installed to:
     /usr/local/share/zsh/site-functions	# Homebrewの導入先により異なります 

    このパスを$fpathに追加するか、既にパスの通っている任意のディレクトリに_clangsayを移動して下さい。

  • cowsayとcowファイルを共有せずにインストールする場合 cowsay側のパスではなく $(brew --prefix)/cellar/clangsay/<version>/share/clangsay/cows に対してcowファイルがインストールされます。

     % brew install --without-cows 844196/Renge/clangsay

Other systems.

  • 全てインストールする場合

     % make
     # make install
  • 実行ファイルのみをインストールし、cowsayとcowsを共有する場合

     % make COWPATH="/usr/local/share/cowsay/cows"	# パスは環境に合わせてください
     # make install-bin

zshでの補完

$(PREFIX)/share/clangsay/compdef/_clangsay.zsh_clangsayとして、$fpathの通ったディレクトリにコピーして下さい。 現状では、シェルの環境変数$COWPATHに対して複数のディレクトリを登録している場合、優先順位の一番高いディレクトリの補完しかできません。(ごめんなさい)

Usage

基本的にcowsayのオプションと同様です。

% export COWPATH="~/.cows"	# COWPATHを指定したい場合
% clangsay foo bar baz
 ____
/ foo \
| bar |
\ baz /
 ----
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
% clangsay "foo bar baz"
 ____________
< foo bar baz >
 ------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
% cat /proc/meminfo | head -n 10 | clangsay
 ____________________________
/ MemTotal:        6107204 kB \
| MemFree:          614952 kB |
| MemAvailable:    4587172 kB |
| Buffers:          865520 kB |
| Cached:           666056 kB |
| SwapCached:            0 kB |
| Active:          1873528 kB |
| Inactive:         765352 kB |
| Active(anon):    1157912 kB |
\ Inactive(anon):    37476 kB /
 ----------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

--thinkオプションでは、cowthinkのような「牛さんが考える」動作になります。

% echo "プカプカ" | clangsay --think -f iwashi.cow
 _______
< プカプカ >
 -------
   o
    o
         ____ _______
      ィ''  @ :. ,! ,, , , ̄ ̄ ¨` ‐-            __
       \    ノ   i            ’ ’’ ’’、_;:`:‐.-_-‐ニ==彳
         ` <. _  .ー 、                       !三  <
                 `¨  ‐= . ____.. ニ=-‐‐`'´`ミ、   三>
                                                  ̄ ̄

cowsayに於ける-Wオプションはありませんが、nkf-fオプションを介すことで、同等の機能を実現できます。

詳しくはclangsay --helpをご覧下さい。

Environment variable

環境変数$COWPATHは、シェルの様々な検索パスと同様に:区切りで、複数ディレクトリの指定ができます。

% export COWPATH="/foo/bar/baz:/hoge/fuga/piyo:~/body_sensor"

しかし「zshでの補完」で書いた通り、同補完ファイルを利用する際には優先順位の一番高いディレクトリしか補完されません。 補完対象外のファイルの詳細は、-l, --listオプションにてご確認下さい。 なお、環境変数$COWPATHに存在しないディレクトリが登録されている場合は無視されます。

Thanks

  • Masaya Tk yasunaに続き、clangsayのHomebrew用リポジトリまで提供して頂き
    更にはユニークなcowfileまで作って頂きました。本当に有難うございました。
    詳細はAUTHORSのクレジットをご覧下さい。

License

WTFPL version 2

Author

sasairc (https://github.com/sasairc)

About

The classic cowsay program, written in C.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 89.7%
  • Makefile 6.1%
  • Shell 2.9%
  • C++ 1.3%