我目前正在为一种混合了 lua 和 xml 的语言编写一些自定义语法突出显示(不要问)。由于 lua 包含在 xml 节点中,因此 lua 代码必须放在引号内,因此我将 " 设置为分隔符,并将所有与 lua 相关的关键字和分隔符嵌套在 " 分隔符中。
这完全没问题,除了当我嵌套数字时,这会导致变量名称末尾的数字出于某种原因被突出显示为数字,尽管引号之外的情况并非如此。为什么字符串末尾的数字(例如 foo23)在嵌套时突然被视为数字?
注意:字符串中间的数字没有突出显示,因此 foo23f 正常出现。
答案1
我找到了解决方案在 notepad++ 讨论论坛上:
我设法通过在前缀模式下将所有数字添加为关键字来解决这个问题。然后只在 () 分隔符中嵌套关键字而不是数字。我认为有一个选项可以强制数字要求前面有空格才能突出显示(当然不包括指定的前缀),这可能是不错的选择。但这可能没有任何意义。
这非常有效。