コード上の複数行コメントを翻訳用に一行に変換するツールを作った

モチベーション

/// Custom scalars defined in a schema are generated to conform to the ``CustomScalarType``
/// protocol. By default, these are generated as typealiases to `String`. You can edit the
/// implementation of a custom scalar in the generated file. *Changes to generated custom scalar
/// types will not be overwritten when running code generation again.

コードリーディングをしている時に上記のような複数行コメントに出くわす時がある。時々スラッと読めないことがあって、翻訳するために人力で複数行のコメントから //# を除去して一行に繋げている。大変面倒なので除去して連結するツールを作りたい。

つくったもの

複数行コメントから //# を除去して一行にまとめる。

in

// 1
// 2
// 3
// 4
// 5

out

"1 2 3 4 5"

リポジトリ

github.com

なぜRustで書いたのか

  • 一番書いているSwiftで作ったら配布まですぐに完成できるイメージがあったので面白みに欠ける
  • 食い扶持を増やすためにSwift以外の言語を手札に加えたい
    • Swift, Python, Go, Rustがちょっとしたことなら程度の違いはあれど書ける言語で、このうちまだ一銭も稼いでいないのはRust

雑感

  • RustでCLIアプリケーションを作るチュートリアルがあったのでそれをやってから作った
  • 入力受付時に入力受付中であることを分かりやすくするために何かしら標準出力をしたかったが、翻訳にかけるためにpbcopyに渡すことを考えるとノイズになるので困っている
  • こういう簡単なツールは作れるが、それ止まりなのでネクストステップ的な何かを探す旅に出る