On 14 December 2010 18:23, Murray Collingwood murray@focus-computing.com.au wrote:
Hello (first time on this list)
Just a question, maybe something I can hack, maybe something somebody else needs to hack?
I have php code that looks like this:
function puctstatus($puctid) { ... }
The 'Symbols' list in the sidebar then lists for me the function name and all is good.
However if my code is like this:
function puctstatus($puctid, $category, $flags) { ..... }
Then the function is not recognised and does not appear in the symbols list.
Is there a file somewhere full of regex type codes that I can edit to modify this or is it all hardcoded in a program somewhere?
Yes there is a regex, but its hard coded.
This is it, where ALPHA and ALNUM are the ranges you would expect
"^[ \t]*[(public|protected|private|static|final)[ \t]*]*[ \t]*function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)[[:space:]]*(\(.*\))"
I'd guess the problem is that \(.*\) matches anything in () after the function name but the regex code only matches against a line at a time and has no way of continuing the match beyond a line.
The only way to go beyond a line seems to be to use a character by character hardcoded parser such as C uses.
In tagmanager/php.c there is a bunch of code that looks like someone started to do it, status unknown.
Cheers Lex
Cheers mc
-- Murray Collingwood Focus Computing p +61 415 24 26 24 http://www.focus-computing.com.au
Geany mailing list Geany@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany