我试图在sweet.js中编写 case 宏但我不知道如何匹配块的结尾。
特别是我想匹配宏调用和包含它的块结尾之间的代码。
例如,如果我的宏是myMacro
,代码如下
var foo = function() {
console.log('log1');
myMacro(someArg);
console.log('log2');
console.log('log3');
}
我希望能够将这些行与' log2'匹配。和' log3'。 我的猜测是我无法做到,但是我无法找到一个明确的定义,如何在文档中进行匹配(指针会受到赞赏)。 有可能吗?
答案 0 :(得分:2)
...
模式会将标记与分隔符(或文件,如果没有分隔符)的末尾匹配,因此您可以执行以下操作:
macro myMacro {
rule { $x ... } => {
function bar() {
$x ...
}
}
}
这只会将myMacro
之后的所有标记粘贴到bar
函数内的结束分隔符。