通过添加选项卡组织不同级别的输出

Organise the output in different levels by adding tabs

我的程序打印了大量信息作为输出。为了更好的可读性,一种方法是通过添加不同数量的选项卡将它们组织在不同的级别。例如,下面的布局可以通过在打印某些东西之前总是打印多个选项卡来实现,并且选项卡的数量可以通过全局引用变量来控制。

level_1_begin
... ...
   level_2_begin
   ... ...
     level_3_begin
     ... ...
     level_3_end 
   level_2_end
... ...
   level_2_begin
   level_2_end
... ...
level_1_end   

但是,这种方式有一个问题:当文本很长而不得不转到另一行时(因为window的宽度),它会忽略制表符并从最开始左边。例如,

level_1_begin
... ...
   level_2_begin
   a very very very very very very very very very very
very very very very long line
   ... ...
   level_2_end

相反,我希望显示是这样的:

level_1_begin
... ...
   level_2_begin
   a very very very very very very very very very very 
   very very very very long line
   ... ...
   level_2_end

有人知道 OCaml 是否有解决方案吗?

使用 Format module. There is a tutorial on boxes here.