Function List and PL/SQL packagesbrowsing

I’m trying to configure Function List in order to parse Oracle PL/SQL scripts. The PL/SQL procedures and functions are correctly identified but I cannot set it up to identify PL/SQL packages as classes.

The following RegEx search string works fine to identify the package declarations:
^[\t]{0,}(create)\s+(or\sreplace){0,1}\s*(package)\s+(body){0,1}\s*\w+(.{0,1}\w+){0,1}\s*(as|is){0,1}

Unfortunately, when I use this search string in the functionList.xml configuration file, in the classRange section, the packages are not identified by the plugin?

Does someone know how to configure Function List to identify Oracle PL/SQL packages?

Although my regular expressions work in RegexBuddy I’m not able to get them to show any packages in Notepad++ Function List.
This needs more investigation, sorry I can’t give you a solution any time soon :(

by any chance, are you using python script?
I do have an updated regular expression tester script which might be useful for such cases
as it is using the boost re engine.
If you are interested, let me know.

First some notes what needs to be done and how it works.
The script assumes that you use both views,
view0 being the text which needs to be searched and
view1 containing the file RegexTester.txt (where you add your regexes)

RegexTester.txt needs to be configured within the configuration area, TEMP_FILE_NAME, of the script.
In addition create the file on the disk.

When you have both views open you run the script you should see an status line added to RegexTester.txt
Something like

RegexTester Active [s] flags:sitp, fwd:F9 bwd:SHIFT+F9

and marked in green, meaning the script is active.
When running a second time, you should see inActive and no more green mark,
meaning you stopped it.

The re flags are s (dot match new line) and i (ignorecase) only.
For function list, guy mentioned this to me, you need to use s.
t is for timing a regex and p for using python re engine instead of boost.
Timing doesn’t make sense if you use only one iteration (from my point of view)
So in case you want to compare different regexes I would modify the regex_exec
funtion to have at least 1000 iterations and using lambda research instead of
showing real matches.

When you check the code you will see that some regexes don’t get executed.
Namely a regex containing spaces only, or a dot only or a line starting with
the comment char - you will see.

In addition you can select more lines to create a regex meaning if first line
has the word “the” and second line " re flags" and you select the lines
it will treat it as “the re flags”. Sometimes it makes sense to use it that way.

So Script follows in the following post because of maximum bytes restriction.

Although my regular expressions work in RegexBuddy I’m not able to get them to show any packages in Notepad++ Function List.
This needs more investigation, sorry I can’t give you a solution any time soon :(

I’m not surprised since my regular expression worked too outside Function List.
Anyway, thank you very much for trying.