簡體   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