繁体   English   中英

如何检查高亮属性在终端上是否可显示?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM