我想为 Notepad++ 中的访问日志编写自定义语言。
问题是数字(这里:HTTP 状态代码)不会像真正的关键字(即 GET)那样突出显示。Notepad++ 通常只为数字提供高亮颜色。
如何处理文本等数字?
示例日志文件
192.23.0.9 - - [10/Sep/2012:13:46:42 +0200] "GET /js/jquery-ui.custom.min.js HTTP/1.1" 200 206731
192.23.0.9 - - [10/Sep/2012:13:46:43 +0200] "GET /js/onmediaquery.min.js HTTP/1.1" 200 1229
192.23.0.9 - - [10/Sep/2012:13:46:43 +0200] "GET /en/contact HTTP/1.1" 200 12836
192.23.0.9 - - [10/Sep/2012:13:46:44 +0200] "GET /en/imprint HTTP/1.1" 200 17380
192.23.0.9 - - [10/Sep/2012:13:46:46 +0200] "GET /en/nothere HTTP/1.1" 404 2785
示例自定义语言
http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Language_Files
我还尝试编辑和导入这样的预定义语言:http:
//notepad-plus.sourceforge.net/commun/userDefinedLang/Log4Net.xml
我认为自定义语言应该是这样的:
<KeywordLists>
[...]
<Keywords name="Words1">404 501</Keywords>
<Keywords name="Words2">301 303</Keywords>
<Keywords name="Words3">200</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" colorStyle="0" fontName="Courier New" fontStyle="0"/>
[...]
<WordsStyle name="KEYWORD1" styleID="5" fgColor="FF0000" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0"/>
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1"/>
<WordsStyle name="KEYWORD3" styleID="7" fgColor="00FF00" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0"/>
[...]
// This line causes number highlighting. Deletion doesn't work either.
<WordsStyle name="NUMBER" styleID="4" fgColor="0F7F00" bgColor="FFFFFF" fontName="" fontStyle="0"/>
</Styles>
不幸的是,数字将以相同的颜色着色。
我想给它们上色:
等等
有什么建议么?如何处理关键字等数字?