因此,为了更多地了解ST3的内部结构,我正在为一个为Laravel的Blade模板制作新包的存储库做出贡献。
在.sublime-syntax file
中,范围当前设置为scope: text.blade
,除了我无法为我的代码段显示自动完成弹出窗口这一事实外,其工作正常。为此,我需要将范围更改为source.blade
。但这样做会导致使用div.foo
+ tab
将其扩展为<div class="foo"></div>
的能力。
我知道我可以根据自己的偏好更改auto_complete_selector
以包含text
,但这只是我的解决方案。我们不希望有一个包裹要求您更改您的偏好,我们希望它能够正常工作。
在我的语法文件中,是否有办法在text
范围内激活自动完成弹出窗口并保留两个功能(自动填充弹出窗口和扩展选项卡)?
答案 0 :(得分:2)
我不确定哪种解决方案最好。可能有必要auto_complete_selector
的默认设置在text
范围内不起作用,但我不明白为什么它在text.html
中不起作用。无论如何,我看到它的方式,你有两种选择,每种选择都有它们的缺点。
请勿弄乱用户的设置,但需要调整auto_complete_selector
,例如使用Package Control提供的Messaging系统。 Con:用户可能会忽略README或安装消息。
通过添加.sublime-settings
text.blade
来覆盖用户的设置auto_complete_selector
text.html.blade
(我已经看到packages这样做了!)Con:interferences使用用户设置。
在旁注中,我想知道使用$transclude(function(clone, scope) {
element.append(clone);
transcludedContent = clone;
transclusionScope = scope;
});
作为范围是否更合适。