从ack "'_'"
Git 源代码看来,下划线打印在函数内部的第graph.c
1120 行graph_output_collapsing_line
:
/*
* Output out a line based on the new mapping info
*/
for (i = 0; i < graph->mapping_size; i++) {
int target = graph->new_mapping[i];
if (target < 0)
strbuf_addch(sb, ' ');
else if (target * 2 == i)
strbuf_write_column(sb, &graph->new_columns[target], '|');
else if (target == horizontal_edge_target &&
i != horizontal_edge - 1) {
/*
* Set the mappings for all but the
* first segment to -1 so that they
* won't continue into the next line.
*/
if (i != (target * 2)+3)
graph->new_mapping[i] = -1;
used_horizontal = 1;
strbuf_write_column(sb, &graph->new_columns[target], '_');
} else {
if (used_horizontal && i < horizontal_edge)
graph->new_mapping[i] = -1;
strbuf_write_column(sb, &graph->new_columns[target], '/');
}
}
但是想了一会儿,还是觉得没什么意思。下划线是从当前分支向左穿过不相关分支的符号,以到达更左侧的分支点。这可以在您的屏幕截图的其他地方看到,但这个特殊的下划线看起来确实丢失了。