Notepad++用户自定义语言十六进制数字

4
我有一个适用于Notepad++的用户定义语言。数字存在问题。我将数字设置为0xFF0000(鲜艳的红色)以进行高亮。这适用于像5、844、108293这样的数字。问题出现在16进制数字上,比如0x50、0x83等。在这些16进制数字中,0正确地高亮显示,但x50将会显示默认颜色。
我知道可以将其设置正确,使整个0x50都被高亮,如果我切换到C++,数字会被正确地高亮显示。
感谢任何帮助。
1个回答

7
在Notepad++ 6.2.2中,您可以像下图UDF对话框中所示定义十六进制数字的样式: enter image description here 但是,我发现UDF词法分析器中许多选项的一个警告是:除了在行末的数字之外,数字后必须有一个空格才能让词法分析器确定它是一个数字。
例如,0xFF和0x00将被视为数字,而0x9F则不会。
white = 0xFF
black = 0x00
SetColor(i, x, r.Min.Y, 0x9F)

18
Notepad++ 6.4.5可以完全定义十六进制表示,但有点棘手。将前缀2设置为“0x”,将额外的1设置为“A B C D E F a b c d e f”。(不要交换前缀2和1或者额外的1和2,否则它会失效) - Sérgio
我们现在已经过了十年,但它仍然不支持对项进行正则表达式匹配,或者至少支持某种通配符,要么是有其他插件可以做到这一点,要么就是他们不想让npp比它目前更加灵活。真是让人费解啊... - osirisgothra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接