如何在Sublime Text 3中为斑点下划线着色?

时间:2017-01-20 07:19:04

标签: sublimetext3 sublime-text-plugin tmlanguage

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

我还有自定义tmLanguagetmTheme,因此我可以控制我设置的范围的字体样式/前景色等。

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

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

任何方向都会非常有用!

1 个答案:

答案 0 :(得分: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)
# ...

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