Dev-Toysというものが流行っているらしい
なんか、色々なツールを十徳ナイフ1的に集めた物らしい。
https://devtoys.app/
https://qiita.com/danishi/items/2de6a4ab028d27a8f4ab
https://qiita.com/ObuchiYuki/items/fa4cdebab2399a24d57d
プラットホームはWindowsな上にGUIです…\(^o^)/
クローンも作られているようですが、こちらはMacかつGUI\(^o^)/
つまり**「vimmerとかそんな人は自分で書きなさい👹」**ってことです。
でも、内容的には単に色々かき集めただけの物。
こういう物はCUIならなんてことはない。
言語の選定と実装
依存先を増やしたくなかったので、Rubyに絞って実装してみました。
内容は、標準入力から入力して、標準出力から出力するだけ。
例えばこんなファイル名に統一して、補完で辿る。拡張子が無いのはshebangのおかげ。
- toys-number-base
- toys-convert-json2yaml
- toys-convert-yaml2json
実際はもう一寸たくさんあります。
実装は…結構ひどい。例えばこんな風。実質一行。
require "yaml"
require "json"
begin
puts(YAML.dump(JSON.load(STDIN)))
rescue
puts('Invalid JSON! Abort!')
end
まさに他力本願!
使い方
シェルからならこんな感じ。補完が効くから迷いはしない。(重要)
echo '{"hoge": "fuga"}' | toys-convert-json2yaml
vimからなら、visualモードで選択した上で、こんな感じ。
'<,'>!toys-convert-json2yaml
vimならコピペの必要すら無く、その場で即変換になる。
ただし、行単位の変換になるのが玉に瑕。
どうにかしたいならvimscriptを書けばいい。僕はしないけど。
で、これ必要なの?
便利だしバグる要素極限に少ないかも知れないけど、根本的に不要と思います。
ほとんどコマンドの名前を付け替えてるだけで、プログラミングとすら言えない。
Dev-Toysは「『Visual Studio』の開発に携わっているメンバー」が
作ったから意味があるし支持されるし信頼できるんだと思います。
なお、僕は便利だからという理由で、
僕の欲しいものだけ実装して使う…かもしれない。
-
まぁ、その…UNIX哲学的にはありえない思想ではあるけど、気持ちはよく分かる。 ↩