Community
    • Login

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

    Scheduled Pinned Locked Moved Notepad++ & Plugin Development
    2 Posts 2 Posters 1.6k 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.
    • Damian GreenD
      Damian Green
      last edited by

      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
      • MAPJe71M
        MAPJe71
        last edited by

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

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