[英]How to check if a highlight attribute is displayable on a terminal?
我正在编写一个插件,需要检查突出显示属性(粗体,斜体,下划线等)在终端上是否可实际显示。 我试图用termcap进行检查。 例如下划线,
!empty(&t_us) && !empty(&t_ue)
在xterm上变为TRUE,并且可显示。
然而,
在win32上变为TRUE,但不可显示。
在nvim上变为FALSE,但可显示。
有人可以正确检查吗?
突出显示的颜色和属性应由用户控制; 这就是为什么我们通过:highlight
组和成束的colorchemes形式进行间接调用的原因 。
就是说,对于像HTML标记那样的WYSIWYG渲染,大多数用户可能希望将斜体渲染为斜体(以此类推...)
因此,我建议使此配置成为可配置的(通过:highlight default ...
g:pluginname_attributesForBlah
:highlight default ...
以便用户可以覆盖它,或者如果可能导致用户重复过多,则可以通过g:pluginname_attributesForBlah
覆盖)。 您仍然可以使用启发式方法(基于termcap info或$TERM
)来提供良好的配置默认值。 这为大多数插件用户(在通用平台和终端上)提供了舒适的默认设置,但仍允许针对特殊情况或有特殊需求的用户(例如,无法阅读低对比度或斜体的视觉障碍者)进行调整。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.