2016-09-16 33 views
0

我目前正在尝试从文本文件中提取信息(手动)。该文本文件有一个体面的格式(可解析),但它包含像'随机字符'的东西。这些随机字符不是完全随机的,通过对它们运行算法我可以收集信息。我给每个字符一个正整数。崇高的文本更改文本颜色

的问题是,是否我可以写一个崇高的文本3的插件,这将有助于我看到这些字符。

我想改变那些字符的颜色。

注意:在两个颜色的同一个字符串中可以有一个字符。颜色取决于位置。

这样的插件可以写为崇高的文字3吗?如果不是,我可以用什么来代替?给每个char分数的算法都是用python编写的。

+0

为什么你不试试? – innoSPG

+0

我正在尝试,但我不知道崇高的API很好。我无法设定任何设置前景色的方法 – Tandura

回答

0

虽然我没有做任何直接的崇高API的工作经验,我有,突出在我的文件的东西用矩形/轮廓插件。从api reference看来,区域用于处理这个问题。有一个add_regions()函数,你可能想看看。引用列出了Packages/Default/mark.py作为使用此函数的示例插件。

至于具体改变前景,帖子的最后in this thread表明,它是不可能的。

+1

您的论坛链接自2013年1月起,并且指的是Sublime Text 2.从那以后,API得到了显着改进(还有一个半官方的bug跟踪器,并且大多数默认软件包已经开源),现在可以了 - 请参阅我的答案。 – MattDMo

+0

@MattDMo好信息! – plast1k

1

为了设置文本的Region的颜色,您需要在自己的配色方案中有自定义的scope selector。然后,一旦你选择要突出显示,并转换为区域文本,你可以使用sublime.Viewadd_regions()方法(访问您的sublime_plugin.TextCommand子类作为self.view内)的区域添加到视图和范围分配给他们。这些地区应该根据你的配色方案来突出显示。

+0

'add_regions'中的作用域参数用于检索高亮和阴影标记的颜色。该范围不适用于相应的地区。因此文字颜色保持不变。 API文档显示“范围用于提供颜色以绘制区域”。你能澄清MattDMo吗? – pykong

+0

我发现如果你没有将标志参数传递给方法,它确实为范围着色。使用标志参数,它不起作用。你的回答应该反映这一点,MattDMo! – pykong

0

有可能在CudaText应用,与Python API。 API有on_change_slow事件来运行你的代码。您的代码必须找到文本的x/y位置,然后拨打ed.attr()以x/y的任何颜色突出显示子字符串。这很简单。