首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sublime Text Comments语法Regex tmLanguage / tmTheme TODO:

Sublime Text Comments语法Regex tmLanguage / tmTheme TODO:
EN

Stack Overflow用户
提问于 2015-09-27 01:52:43
回答 1查看 401关注 0票数 0

我希望有文字TODO:作为任何语言的评论中的不同颜色。我在包TODOreview和SublimeLinter-annotations中使用了关键字TODO:,将TODO:这个词与其他注释区分开来会很好。

我已经为C++.tmLanguage尝试了以下正则表达式,但没有成功。在tmTheme中使用comment.todo确定正则表达式的作用域

代码语言:javascript
复制
/\/\/.*?(TODO:)/
(TODO:)
(?:\#|\/\/)[^\n\r]TODO:(?<![\?>])
/TODO:(?<![\?>])/

完整示例:

代码语言:javascript
复制
C++.tmLanguage
<dict>
    <key>match</key>
    <string>(\/\/.)*?(TODO:)</string>
    <key>name</key>
    <string>comment.todo</string>
</dict>

theme.tmTheme
<dict>
    <key>name</key>
    <string>Comment Todo</string>
    <key>scope</key>
    <string>comment.todo</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#9B859D</string>
    </dict>
</dict>
EN

回答 1

Stack Overflow用户

发布于 2015-09-28 18:04:20

这不是语法定义在SublimeText和Textmate中的工作方式。您不能在所有不同的语法中为像"TODO“这样的特定字符串提供作用域。但别担心,总会有办法的。

  1. 的一个解决方案是去编辑所有你喜欢的语法。(不推荐)创建一个小的独立语法文件,它只查找单词TODO并给它一个作用域。现在,打开所有其他语法文件,找到它们的注释规则定义,并包含这个外部语法定义。
  2. 使用Sublime的插件api为TODO单词动态添加一个作用域,在注释中选择TODO短语时要小心。查看add_regions(key, [regions], <scope>, <icon>, <flags>)
  3. plugin API reference,已经有几个包控件的插件可以做这样的事情。即,TodoReview

SublimeLinter (可能需要一些配置)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32800180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档