Sublimetext3 Atom编辑器语法:如何匹配函数调用?

Sublimetext3 Atom编辑器语法:如何匹配函数调用?,sublimetext3,textmate,sublime-text-plugin,atom-editor,textmatebundles,Sublimetext3,Textmate,Sublime Text Plugin,Atom Editor,Textmatebundles,我正在为特定(但不受支持的语言)的编写语法文件 虽然到目前为止我得到了预期的结果,但我不确定如何实现以下目标 我希望高亮显示当前文件中声明的函数,这些函数在同一文件中调用。目前,函数调用没有匹配/突出显示 我知道这是可能的,因为C文件被正确地突出显示。例如,在以下屏幕截图中,对函数my_function()的调用以蓝色突出显示: 现在,函数定义与以下cson代码段匹配: { 'comment': 'Functions' 'match': '^\\s*(function)

我正在为特定(但不受支持的语言)的编写语法文件

虽然到目前为止我得到了预期的结果,但我不确定如何实现以下目标

我希望高亮显示当前文件中声明的函数,这些函数在同一文件中调用。目前,函数调用没有匹配/突出显示

我知道这是可能的,因为C文件被正确地突出显示。例如,在以下屏幕截图中,对函数
my_function()
的调用以蓝色突出显示:

现在,函数定义与以下cson代码段匹配:

{
    'comment':  'Functions'
    'match':    '^\\s*(function)\\s*(\\w*)'
    'captures':
        '1':
            'name':     'variable.other.newlang'
        '2':
            'name':     'support.function.any-method.newlang'
}
这是非常基本的,但工作很好。但不幸的是,函数调用不会以与C中相同的方式突出显示

我怎样才能做到这一点

请注意,Atom使用的语法文件语法与Sublime Text 3和TextMate几乎相同


谢谢

从我现在的理解来看,这是不可能的。Atom的C语法能够突出显示函数调用,因为它可以识别函数调用,而不是函数调用。因此,在上述示例中,第3行和第11行不相关;这是语法中两种不同的匹配规则。我说这是不可能的,因为在我使用的新语言中,没有可靠的方法来识别函数调用;它不像在C语言中那样使用括号(或任何其他字符)。你的语言必须有某种定义的语法来描述函数调用的样子;该语言没有用于函数调用的分隔符!例如,您可以像下面这样链接多个命令
result=commandOne commandTwo commandThree参数
,其中一个
command*
的输出是另一个的输入。。。