目录

1.简介
2.问题效果图
3.重点讲解
4.修复后效果图



1.简介

本文主要解决在修改notepad++程序根目录下functionList.xml 文件中添加lua函数解析代码片段后,函数列表仍无法显示问题。重点内容包含

  • 如何在functionList.xml 文件中添加lua函数解析代码片段;
  • 如何确保修改后的lua函数列表可以正常显示。

本文还有动态效果图、重点讲解和源码,读者们可以方便查看学习和交流。


回目录

2.问题效果图

无法显示函数列表的样式如下图所示:
函数功能列表为空
函数功能列表为空


回目录

3.重点讲解

1)如何在functionList.xml 文件中添加lua函数解析代码片段

参考下图添加代码片段1。

片段1代码插入位置

上图 片段1代码插入位置 添加代码片段1内容如下:

<association id="lua_function"      langID="23"       />

参考下图添加代码片段2。
片段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]*['&quot;]?[\w]+['&quot;]?">
			<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的函数功能列表
LUA的函数功能列表

回目录




加油,向未来!GO~
Come on!


Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐