[英]How to add Lua functions to the Notepad++ functionList.XML
[英]Extract Function name from Notepad++ for FunctionList
我正在尝试在Notepad ++中为新语言设置功能列表 。 为此,它需要我在functionlist.xml
添加一个解析器。 我添加了解析器,它可以工作,但它还在功能列表中添加了实际的单词function
。 如何从中删除单词功能? 我研究了正则表达式的后向功能。 但是我无法使其工作。
这是解析器。
<parser displayName="mylang" id="mylang_syntax">
<function mainExpr="^\s*(function|Function|FUNCTION)[\t ]+[\w]+">
<functionName>
<NameExpr expr="/(?<=^function /)[\w]+" />
<NameExpr expr="/(?<=^Function /)[\w]+" />
<nameexpr expr="/(?<=^FUNCTION /)[\w]+" />
</functionName>
</function>
</parser>
这是一个示例文本 。
FUNCTION uniqn, input_array
IF(!DEBUG) THEN PRINT, 'uniqn_no_sort'
counter = 0L
length = n_elements(input_array(*, 0))
duplicate_array = STRARR(length)
END
function get_algorithm_type, type
IF(!DEBUG) THEN PRINT, 'get_algorithm_type'
print, type
END
这是它在功能列表侧栏中的外观。 我想删除“功能”一词。 请注意 ,它需要在Notepad ++中工作。 (我不能使用任何其他文本编辑器)。 预先感谢您的帮助。
这是其他帮助。
请尝试以下正则表达式:
(?i)(?<=^function)\s+\K\w+
正则表达式说明:
(?i)
-使搜索不区分大小写的修饰符 (?<=^function)
-向后寻找正数,以找到行开头紧跟在子字符串function
之后的位置 \\s+
-匹配1+次出现的空白字符 \\K
忘记到目前为止匹配的所有内容 \\w+
-匹配出现在字符类别[a-zA-Z0-9_]
的所有字符的1+次出现 将以下parser
标记添加到文件functionList.xml
<parser id="mylang" displayName="mylang_syntax">
<function mainExpr="(?i)(?<=^function)\s+\K\w+" />
</parser>
OUTPUT
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.