FunctionList parsing bug - ?!(if|while|for)

  • I just noticed that when I tried to create a function called “format_something”, it did not show up in the function list. The reason for this is because it begins with the word “for”, which, in the default functionList.xml file, has expressions defined in a number of locations, and for a number of languages, with a portion of them having: “(?!(if|while|for))\w+”. This (and similar variants of that portion) can easily be changed to “(?!(if|while|for)\s)\w+”, as a correction, in order to ensure those keywords are followed by a space before they are discounted as function names or whatever the expression is attempting to identify with the match.

    This is certainly true for PHP and it looks like C source and probably several other languages as well. Whomever manages the default functionsList.xml file should be notified and directed to fix this… (whomever that is.)

    Thanks, Damian

  • Whenever I update a parser this issue gets addressed, allthough I use \b(?!(?:if|while|for)\b).

Log in to reply