如何检查终端上是否显示突出显示属性?



我正在编写一个插件,需要检查突出显示属性(粗体、斜体、 下划线等)实际上是可以在终端上显示的。 我试图用termcap检查它。例如下划线,

!empty(&t_us) && !empty(&t_ue)

在 xterm 上变为 TRUE,并可显示。
但是,
在 win32 上变为 TRUE,但不可显示。
在 nvim 上变为 FALSE,但可显示。

有人可以有一个好主意来正确检查它吗?

突出显示颜色和属性应该可以由用户控制; 这就是为什么我们通过配色方案形式的:highlight组和捆绑包进行间接处理。

也就是说,对于像HTML标签这样的所见即所得渲染,大多数用户可能希望斜体呈现为斜体(等等......

因此,我建议将其配置为可配置的(通常通过:highlight default ...,以便用户可以覆盖它,或者通过g:pluginname_attributesForBlah如果这会导致用户重复太多)。您仍然可以使用启发式方法(基于术语帽信息或$TERM)来提供良好的配置默认值。这为大多数插件用户(在通用平台和终端上)提供了舒适的默认值,但仍允许针对特殊情况或有特殊需求的用户(例如,无法很好地阅读低对比度或斜体的视觉障碍)进行调整。

相关内容

  • 没有找到相关文章

最新更新