gjq v0.2.0 をリリースした

no extension

昨日の今日で恐縮だが [spiegel-im-spiegel/gjq] v0.2.0 をリリースした。

2つほどオプションを追加した。

$ gjq -h
Usage:
  gjq [flags] <filter string>

Flags:
  -c, --clipboard     copy to clipboard in interactive mode
  -C, --color         colorize JSON
      --debug         for debug
  -f, --file string   JSON data (file path)
  -h, --help          help for gjq
  -i, --indent int    indent size for formatted JSON string (default 2)
  -I, --interactive   interactive mode
  -t, --tab           use tabs for indentation
  -u, --url string    JSON data (URL)
  -v, --version       output version of gjq

小文字の -c をつけると対話モード時にフィルタリング結果をクリップボードにコピーする。 逆にこのオプションを付けないとクリップボードへのコピーは行わないようにした。 対話モードは Ctrl+C を入力するまで続くが,この割り込みタイミングで直前の結果をクリップボードにコピーする。

大文字の -C オプションでフィルタリング結果をカラー表示できるようにした。 ファイルやクリップボードへの出力には影響しない(筈)。

JSON 文字列のカラー化には以下の2つのパッケージを利用している。

いやぁ,おかげさまで実装がめっさ簡単だったわ(笑)

あと Windows とそれ以外のプラットフォームとの差を吸収するために

を利用している。 たとえば

fmt.Fprintln(colorable.NewColorableStdout(), string(coloredJSONbytes))

とかすればプラットフォームに関係なく ANSI 標準のエスケープシーケンスを使って文字に色を付けることができる。

これで「jq ぽい何か」でやりたいことはだいたい実装できたので本来の作業へ戻るとしよう。

ブックマーク

[spiegel-im-spiegel/gjq]: https://github.com/spiegel-im-spiegel/gjq “spiegel-im-spiegel/gjq: Another Implementation of “jq” by golang”

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
丸善出版 2016-06-20
単行本(ソフトカバー)
4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2016-07-13 (powered by PA-APIv5)