创建Sublime Text 2 Snippets时是否可以定义某种capitalize()
或toLowerCase()
函数?
例如:
<snippet>
<content><![CDATA[
<?php
class ${1} extends Datamapper
{
var \$has_one = array();
var \$has_many = array();
var \$table = '${1}s';
//constructor and other stuff next...
}
?>
]]></content>
<tabTrigger>dmm</tabTrigger>
</snippet>
这个特殊的片段可以帮助我动态创建Datamapper ORM模型。当我键入dmm
时,会触发Snippet并将光标同时放在两个区域中;班级名称&amp;分配给$table
。第一个游标需要大写,而第二个游标不需要大写。我可以强制使用Snippet的案例吗?像{1.toLowerCase}
简单的例子,但我可以想到其他时候我可以使用它。
答案 0 :(得分:17)
您可以使用substitution和Perl format string syntax
我已经测试了这段代码:
<snippet>
<content><![CDATA[
<?php
class ${1} extends Datamapper
{
var \$has_one = array();
var \$has_many = array();
var \$table = '${1/(.+)/\L\1/g}s';
//constructor and other stuff next...
}
?>
]]></content>
<tabTrigger>dmm</tabTrigger>
</snippet>
此致 阿曼多