我正在尝试为pl / sql源文件创建一个函数列表。我有spc和bdy文件(包的规格和正文)。
这就是我在functionList.xml
中定义的关联(也尝试使用"。"在扩展名之前):
<association ext="bdy" id="plsql_func"/>
<association ext="spc" id="plsql_func"/>
现在,在<parsers>
内(与其他解析器处于同一级别):
<parser id="plsql_func" displayName="PLSQL Function Parser" commentExp="--.*$">
<function
mainExpr="^[\t ]*FUNCTION[\t ]*[\w]*\(*"
displayMode="$functionName">
<functionName>
<nameExpr expr="[\w]+\("/>
</functionName>
</function>
</parser>
当我在文件中搜索时,正则表达式^[\t ]*FUNCTION[\t ]*[\w]*\(*
匹配所有函数名称(没有问题)。
我也试过&#34;。*&#34;作为名称解析器,但仍然没有运气。功能列表窗格保持为空。
我错过了什么吗?
PS:
示例函数头:
FUNCTION TEST_FUNCTION(O_error VARCHAR2(300),
I_args VARCHAR2(10))
return BOOLEAN IS
答案 0 :(得分:2)
我的pl / sql源文件有扩展名sql所以我定义了:
<association langID="17" id="plsql_func"/>
并改善你的解析器。
<parser id="plsql_func" displayName="PL/SQL" commentExpr="((/\*.*?\*)/|(--.**$))">
<function
mainExpr="^[\t ]*(FUNCTION|PROCEDURE)[\s]*[\w]*[\s]*(\(|IS|AS)*"
displayMode="$functionName">
<functionName>
<nameExpr expr="[\w]+[\s]*(\(|IS|AS)"/>
</functionName>
</function>
</parser>
在我的情况下它起作用(notepad ++ v6.6.9)
答案 1 :(得分:0)
我猜你正在为PL-SQL使用用户定义的语言。
尝试在functionList.xml中添加它
<association userDefinedLangName="PL-SQL" id="plsql_func"/>
PL-SQL就是你用户定义的语言。