目录
1.简介
本文主要解决在修改notepad++程序根目录下functionList.xml 文件中添加lua函数解析代码片段后,函数列表仍无法显示问题。重点内容包含
- 如何在functionList.xml 文件中添加lua函数解析代码片段;
- 如何确保修改后的lua函数列表可以正常显示。
本文还有动态效果图、重点讲解和源码,读者们可以方便查看学习和交流。
回目录
2.问题效果图
无法显示函数列表的样式如下图所示:
函数功能列表为空
3.重点讲解
1)如何在functionList.xml 文件中添加lua函数解析代码片段
参考下图添加代码片段1。
上图 片段1代码插入位置 添加代码片段1内容如下:
<association id="lua_function" langID="23" />
参考下图添加代码片段2。
上图 片段2代码插入位置 添加代码片段2内容如下:
<!-- Basic lua parser for functionList.xml in Notepad++ -->
<!-- See http://notepad-plus-plus.org/features/function-list.html -->
<parser id="lua_function" displayName="Lua" commentExpr="--.*?$">
<!-- Basic lua table view, nested lua table not supported -->
<classRange
mainExpr="[.\w]+[\s]*=[\s]*\{"
openSymbole="\{"
closeSymbole="\}"
displayMode="node">
<className>
<nameExpr expr="[.\w]+"/>
</className>
<function
mainExpr="[.\w]+[\s]*=[\s]*['"]?[\w]+['"]?">
<functionName>
<funcNameExpr expr=".*"/>
</functionName>
</function>
</classRange>
<!-- Basic lua functions support -->
<function
mainExpr="(function[\s]+[.\w]+(:[\w]+)?)|([.\w]+[\s]*=[\s]*function)"
displayMode="$className->$functionName">
<functionName>
<nameExpr expr="((?<=function)[\s]+[.:\w]+)|(([.\w]+)(?=([\s]*=[\s]*function)))"/>
</functionName>
<className>
<nameExpr expr="[.\w]+(?=:)"/>
</className>
</function>
</parser>
2)如何确保修改后的lua函数列表可以正常显示
参考以下链接中的说明需要删除缓存文件才可以让新修改的函数列表文件解析功能生效。
https://stackoverflow.com/questions/35341004/how-to-activate-function-lists-in-notepad
The functionList.xml in the %APPDATA% (= C:\Documents and Settings< User >< App Data >\Notepad++) need to be deleted (or renamed).
按上图删除缓存文件后,重启notepad++即可看到LUA函数功能列表了。
(重启后,以上路径还会重新生成新的文件,无需理会。)
回目录
4.修复后效果图
参考的functionList.xml文件下载地址
https://download.csdn.net/download/Redboy_Crazy/21090082
重启Notepad++后,可以看到LUA的函数LUA的函数功能列表
加油,向未来!GO~
Come on!