• Login
Community
  • Login

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

Scheduled Pinned Locked Moved Notepad++ & Plugin Development
2 Posts 2 Posters 1.7k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    Damian Green
    last edited by Jun 17, 2017, 12:22 AM

    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

    1 Reply Last reply Reply Quote 1
    • M
      MAPJe71
      last edited by Jun 17, 2017, 3:39 PM

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

      1 Reply Last reply Reply Quote 1
      1 out of 2
      • First post
        1/2
        Last post
      The Community of users of the Notepad++ text editor.
      Powered by NodeBB | Contributors