如何在终端中绘制交互式时间表

如何在终端中绘制交互式时间表

我有一些数据,我想在终端中从中生成交互式图片。我该怎么做?

例如数据可能是这样的:

Date,Start-time,End-time,Comment,Tag
2017-04-01,09:00,09:30,Read Newspaper,Read
2017-04-01,09:30,11:00,LT-103,Class
2017-04-01,11:00,11:10,Buy pens,Misc
2017-04-01,11:10,11:30,Stumble upon XYZ,Social
2017-04-01,11:30,12:00,Lunch,Upkeep

然后我想在终端中画一张这样的图:

例子

关联是,对于每个标签,我都有一个颜色代码,当我处理数据行时,我想在终端上一个接一个地打印适当长度的颜色块。 (在上文中,图片与数据不对应,两者都是为了代表一个想法。)

那么如何在终端上打印色块?我还希望输出显示具有交互性(就像在基于终端的游戏中一样)。

这些是我想要的互动:

  1. 屏幕太小,无法显示全年的记录。所以我希望能够分别使用j和键向上或向下滚动k
  2. 我想查看与每个颜色块相关的评论。我想分别使用h和循环显示上一条评论或下一条评论l

相关内容