Function List: Innate vs Plugin

  • Loreia2

    Loreia2 - 2013-08-30

    You are right.
    The built-in version is relatively new and still under development. So, it will include new features in next few N++ versions, where as plugin version in not under development any longer.


  • Gn13l

    Gn13l - 2013-08-30

    When upgrading to the latest np++ version I automatically disabled my Function List plugin because of "Stability Issues". Thus I decided to try the innate version.

    I've been having trouble getting the built in version to work. I've added a php parser and initialization, but I can't get it run. It always shows up blank. Any ideas?


  • Roy Riggs

    Roy Riggs - 2013-08-31

    I had trouble writing my own at first too, it was always blank. I had copied the regexp for comment lines from one of the examples, but for some reason it just didn't like it and kept thinking the entire file was one huge comment, and thus, never showed any functions. I rewrote the regexp for comments and it was fine after that.

  • Roy Riggs

    Roy Riggs - 2013-08-31

    I just wrote another one for YAML. Some helpful tips debugging this stuff:

    If the function list panel is completely empty, that means it didn't match the association tag. If you see the file name at the top, that means the associate worked, but there is a problem in your parser definition.

    Note: when using a file extension to match your association tag I had to define it with the leading dot, although other examples I found weren't doing this.

      <association ext=".EXT" id="my_new_lang_function"/>
    • Gn13l

      Gn13l - 2013-09-04

      This was very helpful, thank you! <quote>"If the function list panel is completely empty, that means it didn't match the association tag."</quote> in particular helped me figure out that I needed to add extensions even for the built in languages.

  • Gn13l

    Gn13l - 2013-09-04

    While I was able to get a test .cpp file to be recognized, I was not able to get it to parse. More importantly, I couldn't even get my .php files to be recognized and associated :(

    Here is my association tag:
    \<association langID = "1" ext=".php" id="php_function"/>
    (minus the '\' of course)

    Any advice?

    Last edit: Gn13l 2013-09-04
  • Roy Riggs

    Roy Riggs - 2013-09-04

    You wouldn't need both ext= AND langID in the same tag, just langID="1" for PHP should suffice.

    Last edit: Roy Riggs 2013-09-04
  • Gn13l

    Gn13l - 2013-09-05

    Whether it should or not, it did help my cpp get recognized when I added "ext='.cpp'".
    \<association langID = "3" ext=".cpp" id="c_cpp_function"/>

    Removing ext=".php" did not help any. Oddly enough, javascript doesn't have any trouble.

    Last edit: Gn13l 2013-09-05
    • Don HO

      Don HO - 2013-09-08

      Are you sure you edit the right "functionList.xml"?
      You should edit "%APPDATA%\notepad++\functionList.xml" but not "NPP_INSTALLED_DIR\functionList.xml".
      The second one is use as model to copy in "%APPDATA%\notepad++\" directory, in case "%APPDATA%\notepad++\functionList.xml" is absent.


      • Gn13l

        Gn13l - 2013-09-09

        Thank you for the reminder! That got it to work for me. :)

  • Gn13l

    Gn13l - 2013-09-09
    Last edit: Gn13l 2013-09-09
  • cchris

    cchris - 2013-09-15

    Does this apply even when Don't use %APPDATA% was chosen at install time?
    May I suggest to keep the names consistent by renaming the local function list file to "functionList.model.xml", just like for langs and config?


  • Michael Milette

    Michael Milette - 2013-10-04

    I resolved the issue of the function list not recognizing the newly supported file types (php in my case) by:

    • Closing Notepad++
    • Deleting "%APPDATA%\notepad++\functionList.xml"
    • Restarting Notepad++

    Apparently, the installer didn't update the files in "%APPDATA%\notepad++\ when I upgraded Notepad++.

    Best regards,

    Michael Milette


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks