1

我有一个插件使用add_regions命令为某些区域绘制下划线。

我还有一个自定义的tmLanguageand tmTheme,所以我可以控制我设置的范围的字体样式/前景色等。

现在,我试图让我的下划线成为一种特定的颜色(而不是默认的白色 ST3 颜色)......我知道这是可能的,因为 ST3 中的拼写检查有一个红色的波浪下划线。

我已经在我的 tmTheme 和插件的 add_regions 命令中更改了范围/设置/键等,但似乎没有任何问题。

任何方向都会非常有帮助!

4

1 回答 1

1

您可以简单地在tmTheme文件中设置一个虚拟范围,并将foreground设置值设置为您希望下划线的颜色。然后将该范围名称传递给add_regions函数调用。

黄色下划线示例...

tmTheme文件中:

...
<dict>
  <key>name</key>
  <string>Yellow Underline</string>
  <key>scope</key>
  <string>underline.yellow.text</string>
  <key>settings</key>
  <dict>
    <key>foreground</key>
    <string>#FFFF00</string>
  </dict>
</dict>
...

在您的插件中:

# ...
# set regions variable above
view.add_regions('key', regions, 'underline.yellow.text', '', sublime.DRAW_STIPPLED_UNDERLINE | sublime.DRAW_NO_FILL | sublime.DRAW_NO_OUTLINE)
# ...

达达!你现在应该有黄色下划线:)

于 2017-01-20T08:58:54.293 回答