解决notepad++l修改后函数列表⽆法显⽰
⽬录
1.简介
本⽂主要解决在修改notepad++程序根⽬录下l ⽂件中添加lua函数解析代码⽚段后,函数列表仍⽆法显⽰问题。重点内容包含
如何在l ⽂件中添加lua函数解析代码⽚段;
如何确保修改后的lua函数列表可以正常显⽰。
本⽂还有动态效果图、重点讲解和源码,读者们可以⽅便查看学习和交流。
2.问题效果图
⽆法显⽰函数列表的样式如下图所⽰:
3.重点讲解
1)如何在l ⽂件中添加lua函数解析代码⽚段
参考下图添加代码⽚段1。
上图 添加代码⽚段1内容如下:
<association id="lua_function"langID="23"/>
参考下图添加代码⽚段2。
上图 添加代码⽚段2内容如下:
<!-- Basic lua parser l in Notepad++ -->
<!-- See /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函数列表可以正常显⽰
参考以下链接中的说明需要删除缓存⽂件才可以让新修改的函数列表⽂件解析功能⽣效。
l in the %APPDATA% (= C:\Documents and Settings< User >< App Data >\Notepad++) need to be deleted (or renamed).
按上图删除缓存⽂件后,重启notepad++即可看到LUA函数功能列表了。
(重启后,以上路径还会重新⽣成新的⽂件,⽆需理会。)
notepad++4.修复后效果图
重启Notepad++后,可以看到LUA的函数
加油,向未来!GO~
Come on!