首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使自定义语法突出显示在TextMate中工作

无法使自定义语法突出显示在TextMate中工作
EN

Stack Overflow用户
提问于 2010-06-03 20:44:35
回答 1查看 708关注 0票数 0

我试图在TextMate中突出显示一种自定义语言。但是,以下定义没有突出显示PHP插入(我确实为我的*.serpent文件选择了它):

代码语言:javascript
复制
{ scopeName = 'source.serpent';
 fileTypes = ( 'serpent' );
 patterns = (
  { begin = '<\?';
   end = '\?>';
   patterns = ( { include = 'source.php'; } );
  },
 );
}

如果选择PHP语言,则会突出显示PHP部件。

原因是什么?它应该有效吗?

我还考虑了带有<% %>分隔符的ruby插入,但它不适用于最简单的设置。

更新

显然,这只是PHP的一个问题。下面的语言定义突出了我的文本中的Ruby和Serpent语言,而不是PHP插入!这里怎么了?

代码语言:javascript
复制
{   scopeName = 'source.phpruby.serpent';
    fileTypes = ( 'serpent', 'serpent.php', 'serpent.erb' );
    patterns = (
        {   begin = '<\?(php|=)?';
            end = '\?>';
            patterns = ( { include = 'source.php'; } );
        },
        {   begin = '<%';
            end = '%>';
            patterns = ( { include = 'source.ruby'; } );
        },
        {   include = 'source.serpent'; },
    );
}

我通过在我的模式中用#语言替换source.php和从PHP复制存储库来实现它的工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-09 16:49:31

On Fri,7月9日,2010年7月9日08:02,Allan Odgaard写道:

我们使PHP语法本身与构造相匹配,因此在使用语法时,包含的语法已经被包含的语法所消耗,因此所包含的PHP语法将是不操作的。

我们这样做的原因是为了使PHP语法在用作根语法时可以工作,因为许多用户坚持以这种方式使用它,尽管我们努力教育它;)

1-1- http://wiki.macromates.com/Troubleshooting/PHPSyntaxHighlight

在上帝的帮助下,我明白了我的错误,并且能够工作(至少强调一下!)定义:

代码语言:javascript
复制
{   scopeName = 'source.phpruby.serpent';
    fileTypes = ( 'serpent', 'serpent.php', 'serpent.erb' );
    patterns = (
        {   begin = '<\?(php|=|)';
            end = '\?>';
            include = 'source.php';
        },
        {   begin = '<%';
            end = '%>';
            patterns = ( { include = 'source.ruby'; } );
        },
        {   include = 'source.serpent'; },
    );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2969626

复制
相关文章

相似问题

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