• Login
Community
  • Login

User-defined language with function list

Scheduled Pinned Locked Moved General Discussion
7 Posts 4 Posters 947 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.
  • M
    Michael Suther
    last edited by Mar 26, 2021, 12:04 PM

    Hello Npp community,
    since version 7.9.x the functionList.xml doesn’t seem to work anymore.
    Here is a simple language with only 3 commands for demonstration.
    (Function, EndFunction, Print)

    <?xml version="1.0" encoding="UTF-8" ?>
    <NotepadPlus>
        <UserLang name="MyBasic" ext="myb" udlVersion="2.1">
            <Settings>
                <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
                <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
            </Settings>
            <KeywordLists>
                <Keywords name="Comments"></Keywords>
                <Keywords name="Numbers, prefix1"></Keywords>
                <Keywords name="Numbers, prefix2"></Keywords>
                <Keywords name="Numbers, extras1"></Keywords>
                <Keywords name="Numbers, extras2"></Keywords>
                <Keywords name="Numbers, suffix1"></Keywords>
                <Keywords name="Numbers, suffix2"></Keywords>
                <Keywords name="Numbers, range"></Keywords>
                <Keywords name="Operators1"></Keywords>
                <Keywords name="Operators2"></Keywords>
                <Keywords name="Folders in code1, open"></Keywords>
                <Keywords name="Folders in code1, middle"></Keywords>
                <Keywords name="Folders in code1, close"></Keywords>
                <Keywords name="Folders in code2, open"></Keywords>
                <Keywords name="Folders in code2, middle"></Keywords>
                <Keywords name="Folders in code2, close"></Keywords>
                <Keywords name="Folders in comment, open"></Keywords>
                <Keywords name="Folders in comment, middle"></Keywords>
                <Keywords name="Folders in comment, close"></Keywords>
                <Keywords name="Keywords1">Function&#x000D;&#x000A;EndFunction&#x000D;&#x000A;Print&#x000D;&#x000A;</Keywords>
                <Keywords name="Keywords2"></Keywords>
                <Keywords name="Keywords3"></Keywords>
                <Keywords name="Keywords4"></Keywords>
                <Keywords name="Keywords5"></Keywords>
                <Keywords name="Keywords6"></Keywords>
                <Keywords name="Keywords7"></Keywords>
                <Keywords name="Keywords8"></Keywords>
                <Keywords name="Delimiters"></Keywords>
            </KeywordLists>
            <Styles>
                <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="LINE COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS1" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
                <WordsStyle name="KEYWORDS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="OPERATORS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
                <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            </Styles>
        </UserLang>
    </NotepadPlus>
    

    What do I have to do now so that functions are displayed in the function list?

    Greetings

    E 1 Reply Last reply Mar 26, 2021, 12:13 PM Reply Quote 0
    • E
      Ekopalypse @Michael Suther
      last edited by Mar 26, 2021, 12:13 PM

      @Michael-Suther

      See here.

      1 Reply Last reply Reply Quote 2
      • M
        Michael Suther
        last edited by Mar 26, 2021, 12:46 PM

        Thanks @Ekopalypse!
        I hadn’t seen the overrideMap.xml.

        1 Reply Last reply Reply Quote 2
        • M
          Michael Suther
          last edited by Mar 26, 2021, 8:45 PM

          Why is the functionList.xml
          have been replaced?
          I don’t see any great advantages in the new system.

          A P 2 Replies Last reply Mar 26, 2021, 8:52 PM Reply Quote 0
          • A
            Alan Kilborn @Michael Suther
            last edited by Alan Kilborn Mar 26, 2021, 8:52 PM Mar 26, 2021, 8:52 PM

            @Michael-Suther said in User-defined language with function list:

            Why is the functionList.xml have been replaced?
            I don’t see any great advantages in the new system.

            You don’t?
            The obvious advantage is that before everything was in one file, and now…it’s not.

            1 Reply Last reply Reply Quote 0
            • P
              PeterJones @Michael Suther
              last edited by Mar 26, 2021, 11:21 PM

              @Michael-Suther said in User-defined language with function list:

              Why is the functionList.xml
              have been replaced?
              I don’t see any great advantages in the new system.

              As with @Alan-Kilborn , I am surprised you don’t see the advantage.

              See this anecdote, between Alice and Bob, with the old system:

              Alice : I have this Function List for my cool GobbledyGoop UDL
              Bob : Cool, how do I use it?
              Alice : Okay, here’s a snippet. Go find a random place in functionList.xml to place it.
              Bob : Okay
              Alice : No, not there. It has to go in the <parsers> section.
              Bob : Is here okay?
              Alice : No, it has to be between the closing </parser> of one parser, and the opening <parser> of another.
              Bob : Ah, okay. Is that all?
              Alice : No, now you have to take this other snippet, and place it in the same file, but in the <associationMap> section
              Bob : Got it.
              Alice : No, you need to have both the userDefinedLanguageName row and a separate row for every extension that GobbledyGoop uses.
              Bob : But doesn’t the GobbledyGoop UDL config already make the mapping from UDL to extension? I like following DRY/SPOT, after all.
              Alice: Yes, but you still need it. Sorry, I didn’t design the system, I just use it.
              Bob : Okay.
              Alice : Now restart Notepad++
              Bob : Cool, it’s working, thanks.

              Now compare that to with the new system:

              Alice : I have this Function List for my cool GobbledyGoop UDL
              Bob : Cool, how do I use it?
              Alice : put GobbledyGoop.xml in %AppData%\Notepad++\functionList\ folder
              Bob : done. Anything else?
              Alice : yep, we have to tell Notepad++ where to look for that file.
              Bob : Makes sense. How?
              Alice : put this one <associationId> line in %AppData%\Notepad++\functionList\, right after the three example UDL rows near the end`
              Bob : Done.
              Alice : Now restart Notepad++
              Bob : Wow! I can see the function list. Thanks for the help!

              Admittedly, I exaggerated. But the new system does make it easier to share function list definitions, IMO. And modularity makes maintenance less confusing. And not having to duplicate the extension-vs-UDL-name entries is a plus to me, too.

              You are allowed your opinion, of course, but I see the advantages of splitting those up.

              A 1 Reply Last reply Mar 27, 2021, 12:39 AM Reply Quote 3
              • A
                Alan Kilborn @PeterJones
                last edited by Mar 27, 2021, 12:39 AM

                @PeterJones

                Cool. I wonder if Bob and Alice are going to become regular contributors here? :-)

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