我正在编写插件,需要检查是否有突出显示属性(粗体,斜体, 下划线等等)实际上可以在终端上显示。 我试着用termcap来检查它。例如下划线,
!empty(&t_us) && !empty(&t_ue)
在xterm上变为TRUE,并且可显示
然而,
在win32上变为TRUE,但不可显示
在nvim上变为FALSE,但是可以显示。
有人可能有一个好主意正确检查吗?
答案 0 :(得分:-1)
用户可以控制突出显示颜色和属性;这就是为什么我们通过:highlight
组以及 colorschemes 形式的捆绑包进行间接的方式。
也就是说,对于像HTML标签那样的WYSIWYG渲染,大多数用户可能希望斜体呈现为斜体(依此类推......)
因此,我建议将其设置为可配置(典型地通过:highlight default ...
,以便用户可以覆盖它,或者通过g:pluginname_attributesForBlah
覆盖,如果这会导致用户过多重复)。您仍然可以使用您的启发式(基于termcap信息或$TERM
)来提供良好的配置默认值。这为大多数插件用户(在通用平台和终端上)提供了一个舒适的默认设置,但仍允许针对特殊情况或有特殊需求的用户进行调整(例如,视觉残疾无法很好地读取低对比度或斜体)。