LoginSignup
0
0

More than 1 year has passed since last update.

Asciinema による再生時の文字を色付けする方法.

Last updated at Posted at 2021-06-30

2021/06/30 時点での Asciinema には、再生時の文字色を変更する機能は無い.

そこで独自に色付けするための方法を検討したので、書き残しておく.

概要

ここでは次のように「cd /tmp」を一文字ずつ色を変えて、「pwd」は反転表示させて再生させる

Before           After
Screenshot from 2021-06-30 22-29-25.png  Screenshot from 2021-06-30 22-31-12.png

手順

1. 録画をする

単に cd /tmppwd を実行するだけの処理を記録する

$ 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

 
以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0