转义括号在甜蜜.js宏名称

Escape Parentheses in sweet.js Macro Name

本文关键字:js 甜蜜 转义      更新时间:2023-09-26

我想写一个扩展宏,但为了做到这一点,我需要像这样覆盖函数的调用方式:

someFn(..>someArray)

其中需要输出:

someFn.apply(null, someArray)

我尝试通过创建一个名为 ( 的宏。我已经看到你不需要在宏体中转义括号,括号用于转义多令牌名称......但到目前为止,我在尝试创建具有该名称的宏时遇到了问题。

使用该名称,它在解析宏时出错 Error: Line 16: Unexpected end of input .是否有我可以使用的转义字符,或者这是否需要在 Github 中报告?

因此(不是可用于宏的有效令牌。这是因为在发生任何宏扩展之前,必须平衡所有分隔符(这是 sweet.js 的读取器部分)。因此,错误说出意外的输入结束,读者仍在寻找结束分隔符。

我认为我们现在没有覆盖函数调用的好方法。我们对如何解决这个问题有一些想法(请参阅此处的一些相关问题),但尚未实现。