Python 我们可以在Sublime Text 3中添加/更改插件的作用域吗?

Python 我们可以在Sublime Text 3中添加/更改插件的作用域吗?,python,sublimetext3,Python,Sublimetext3,在自定义的*.sublime语法文件中,我有以下内容: - match: '(\d+)/(\d+)x (.+)$' captures: 1: constant.numeric.owned.items_tracker 2: constant.numeric.needed.items_tracker 3: variable.description.items_tracker 如果捕获1大于捕获2,我想将捕获3的作用域设置为variable.description.don

在自定义的*.sublime语法文件中,我有以下内容:

- match: '(\d+)/(\d+)x (.+)$'
  captures:
    1: constant.numeric.owned.items_tracker
    2: constant.numeric.needed.items_tracker
    3: variable.description.items_tracker
如果捕获1大于捕获2,我想将捕获3的作用域设置为
variable.description.done.items\u tracker


我认为用崇高的语法是不可能做到这一点的;那么,我可以在插件中使用python并如何使用它吗?

在Sublime中,语法定义是应用作用域的唯一方法,而作用域是通过使用正则表达式匹配来应用的,如您在问题中所述

语法工具没有任何类型的直接“条件”逻辑,允许它执行编程操作,例如将匹配项转换为整数,然后比较它们并执行不同的操作

此外,尽管插件可以随意修改文件源,但它不能应用范围;这完全是语法定义本身的权限


因此,在一般情况下,您想要做的事情是不可能直接实现的。一个潜在的解决办法可能是拥有与数值组合一样多的规则,但这并不实用,除非值的总范围和它们之间的分布非常小。

在Sublime中,语法定义是应用范围的唯一方法,范围是通过使用正则表达式匹配来应用的,比如在您的问题中概述的那些

语法工具没有任何类型的直接“条件”逻辑,允许它执行编程操作,例如将匹配项转换为整数,然后比较它们并执行不同的操作

此外,尽管插件可以随意修改文件源,但它不能应用范围;这完全是语法定义本身的权限


因此,在一般情况下,您想要做的事情是不可能直接实现的。一个潜在的解决方法可能是有尽可能多的规则,因为有数值的组合,但这是不实际的,除非值的总范围和它们之间的分布非常小。

崇高语法
只能突出显示您的代码;如果你想修改文件,你需要一个插件。一个插件可以随意编辑一个打开的文件,但从你的问题来看,你不清楚什么时候或者如何想这样的事情发生。我编辑并澄清了我想要的(我认为)
sublime syntax
只能突出显示你的代码;如果你想修改文件,你需要一个插件。一个插件可以随意编辑一个打开的文件,但是从你的问题来看,你不清楚什么时候或者怎样想这样的事情发生