plantumlの図の要素とソース行を紐付けるために、行番号とを追加する


テキストファイルからUML図を生成できるplantumlはとても便利です。
しかし、図を見て更新したい箇所がある場合に、ソースの位置を特定するのにワンクッションあります。

そこで、UML図にソースファイルの行番号を付加することを考えました。
以下のようなソースファイルがあるとします。

このソースファイルからは、以下の図が生成されます。

awkで、ソースファイルの”:”に行番号をつけることにします。

$ cat act.pu | gawk '{print gensub(/(^ *:)/, "\\1**"NR"**:", $0)}'

以下のように図に行番号が追加されるので、図を変更したい場合は、その行番号付近を修正すれば良いことがわかります。

このくらいの図ではあまりメリットは感じられませんが、もう少し大きくなると瞬時にわかって便利です。
副次効果としてユニークなIDがつくメリットもあります。