我的目标ASCII文本是:
[red]#Some prompt[x]# Make sure the option is [checked]
但它不会在ASCII 中显示
在进一步的调查中,我发现任何以方括号中的[颜色]开头、以右括号结尾的行都同样不会显示。
现在,在这种情况下,我通过将整个提示部分加粗来解决这个问题,如下所示:
*[red]#Some prompt[x]#* Make sure the option is [checked]
但这并不理想。在最后一个右括号]
之后添加句点也避免了这个问题,但在我的用例中,我不喜欢它
我想知道是否有更好的方法。到目前为止,我已经尝试过:
- 逃离领先的开放式支架
[
- 逃离最终闭合支架
]
- 去掉中间的
[x]
,去掉中间的附加括号可能会影响结果
但这些都不起作用。
所以我的问题是:
有没有办法解决以[color]属性开头、以]结尾的行不以ASCII显示的问题
在我看来,以左括号开始、以右括号结束的行被解释为块属性行。
有很多方法可以缓解这种情况。
使用字符替换属性。有许多内置属性,或者您可以轻松定义自己的属性。
例如:
[.red]#Some prompt[x]# Make sure the option is [checked{endsb}
使用一种内联直通语法,例如++
:
[.red]#Some prompt[x]# Make sure the option is [checked++]++
防止第一个左括号成为行的第一个字符。此外,使用内置属性,并且标记需要更改为不受约束。
例如:
{empty}[.red]##Some prompt[x]## Make sure the option is [checked]