gpt4 book ai didi

css - Textmate语法高亮,从另一种语言扩展高亮

转载 作者:技术小花猫 更新时间:2023-10-29 11:37:55 24 4
gpt4 key购买 nike

我正在尝试在 Textmate 中扩展一些 CSS 突出显示。我的方法是这样的...

{ 
....
patterns = (
{ include = 'source.css'; },
{
name = 'support.function';
match = '\..*\);';
},
);
}

问题是“include = 'source.css';”。如果我删除那条线。我的自定义匹配器命中并应用了预期的突出显示。但是后来我失去了我想要的所有预定义的 css 突出显示。

我对如何覆盖我包含的现有 CSS 突出显示感到困惑。想法?

最佳答案

我遇到了类似的问题。我用头撞了一下它,然后 TextMate IRC channel 中的某个人直截了本地告诉我:出于某种原因(我忘记了)你需要重新包含你的语言语法。

我的模式部分现在看起来像

patterns = (
{ include = 'source.ruby'; },
{ include = '$self'; },
);

要向该示例添加更多信息,这是我正在创建的包的语言语法(在我感兴趣的文件部分,所有内容都在 meta.rails 范围内。模型。也许您的 CSS 包中没有它。

patterns = (
{ name = 'meta.rails.model';
comment = "Uses lookahead to match classes that (may) inherit from ActiveRecord::Base; includes 'source.ruby' to avoid infinite recursion";
begin = '(^\s*)(?=class\s+.+ActiveRecord::Base)';
end = '^\1(?=end)\b';
patterns = (
{ include = 'source.ruby'; },
{ include = '$self'; },
);
},
{ name = 'source.ruby.rails.aasm.event';
match = '(aasm_event\W*:\w+)';
captures = { 1 = { name = 'keyword.other.context.ruby.rails.aasm.event'; }; };
},
{ include = 'source.ruby.rails'; },
);

但是您会看到 $self 声明将其他模式引入到 meta.rails.model 模式中(我认为这就是为什么这很重要)。

关于css - Textmate语法高亮,从另一种语言扩展高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com