2021/06/30 時点での Asciinema には、再生時の文字色を変更する機能は無い.
そこで独自に色付けするための方法を検討したので、書き残しておく.
概要
ここでは次のように「cd /tmp」を一文字ずつ色を変えて、「pwd」は反転表示させて再生させる
手順
1. 録画をする
単に cd /tmp
と pwd
を実行するだけの処理を記録する
$ asciinema rec ./demo.cast # 録画開始
$ cd /tmp
$ pwd
/tmp
$ exit # 録画終了
2. 録画ファイルを編集して色付けする
次のように、録画ファイル ./demo.cast
に対して次のように ANSIカラーコードを付与してやる.
$ diff -u demo.cast.ORIG demo.cast
--- demo.cast.ORIG 2021-06-30 22:15:28.526810575 +0900
+++ demo.cast 2021-06-30 22:21:06.726480164 +0900
@@ -1,17 +1,17 @@
{"version": 2, "width": 143, "height": 48, "timestamp": 1625058784, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.09784, "o", "\u001b]0;foo@mypc: /tmp\u0007$ "]
-[3.171138, "o", "c"]
-[3.339062, "o", "d"]
+[3.171138, "o", "\u001b[31mc\u001b[0m"]
+[3.339062, "o", "\u001b[32md\u001b[0m"]
[3.451687, "o", " "]
-[3.580648, "o", "/"]
-[3.721906, "o", "t"]
-[3.818249, "o", "m"]
-[4.018552, "o", "p"]
+[3.580648, "o", "\u001b[33m/\u001b[0m"]
+[3.721906, "o", "\u001b[34mt\u001b[0m"]
+[3.818249, "o", "\u001b[35mm\u001b[0m"]
+[4.018552, "o", "\u001b[36mp\u001b[0m"]
[4.291077, "o", "\r\n"]
[4.291348, "o", "\u001b]0;foo@mypc: /tmp\u0007$ "]
-[4.882962, "o", "p"]
-[4.931557, "o", "w"]
-[5.02746, "o", "d"]
+[4.882962, "o", "\u001b[07mp\u001b[0m"]
+[4.931557, "o", "\u001b[07mw\u001b[0m"]
+[5.02746, "o", "\u001b[07md\u001b[0m"]
[5.260433, "o", "\r\n"]
[5.26078, "o", "/tmp\r\n\u001b]0;foo@mypc: /tmp\u0007$ "]
[6.491377, "o", "e"]
3. 再生する
$ asciinema play ./demo.cast
以上