Community
    • Login

    Function List: Is file extension of User Defined Language still working?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    16 Posts 5 Posters 1.1k 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.
    • donhoD
      donho
      last edited by donho

      Could anyone confirm the file extension of User Defined Language still working in Function List (with the latest version, of course) ?

      For example:

      <association id= "krl_function"   ext=".src"/>
      <association id= "krl_function"   ext=".sub"/>
      

      in functionList.xml

      Michael VincentM 1 Reply Last reply Reply Quote 2
      • Michael VincentM
        Michael Vincent @donho
        last edited by Michael Vincent

        @donho said in Function List: Is file extension of User Defined Language still working?:

        Could anyone confirm the file extension of User Defined Language still working in Function List (with the latest version, of course) ?

        Yes for me. Note I’m on the “bleeding edge” latest version - using the latest commit artifact for 64-bit:

        Notepad++ v7.9 (64-bit)
        Build time : Oct 6 2020 - 14:12:11
        Path : C:\usr\bin\npp64\notepad++.exe
        Admin mode : OFF
        Local Conf mode : ON
        OS Name : Windows 10 Enterprise (64-bit)
        OS Version : 1909
        OS Build : 18363.1082
        Current ANSI codepage : 1252
        Plugins : AutoSave.dll BetterMultiSelection.dll ChangedLines.dll CodeAlignmentNpp.dll ColumnTools.dll ComparePlugin.dll CsvQuery.dll CustomizeToolbar.dll DoxyIt.dll DSpellCheck.dll Explorer.dll GitSCM.dll JSMinNPP.dll NppConsole.dll NppConverter.dll NppExec.dll NppExport.dll NppFTP.dll NppMarkdownPanel.dll NppMenuSearch.dll Python Indent.dll QuickText.dll SurroundSelection.dll TagLEET.dll XMLTools.dll ZoomDisabler.dll

        I have regular function list working:

        a24ac5d0-3681-459a-9bd8-8ee1579c1100-image.png

        I have a “standard” language (ASN.1) for which I created a custom parser working:

        <association id=        "asn1_syntax"     langID="65"                          />
        

        32d0a7c4-6dc9-4a36-9aa3-fea7f2b3671d-image.png

        and I have a user-defined language (UDL Markdown) for which I created a custom parser working:

        <association id=    "markdown"            userDefinedLangName="Markdown"       />
        <association id=    "markdown"            ext=".md"                            />
        

        27e89b01-80c1-4722-a385-059a2d292e59-image.png

        As well as some other UDLs working (NppExec for example) for which I need to select the language type because I don’t specifically have a unique extension (just uses .txt):

        <association id=  "nppexec_syntax"        userDefinedLangName="NppExec"        />
        

        d4fb3883-97f3-4c8b-b752-5c4d8a332f42-image.png

        I don’t have any files of your example (KRL / .src, .sub) to test with, but I think you get the picture. I can provide the parsers as well, but assuming you just wanted to see UDL working in Function List?

        And the new Tab to search box and list view is working great!

        Cheers.

        1 Reply Last reply Reply Quote 3
        • donhoD
          donho
          last edited by donho

          @Michael-Vincent said in Function List: Is file extension of User Defined Language still working?:

          <association id= “markdown” ext=“.md” />

          If you remove the above line from your functionList.xml, then restart your Notepad++, your *.md files will still work.

          If you add <association id= "markdown" ext=".xd" /> then rename the ext of your MD files to xd, and open renamed file, your function list will be empty.

          Could you confirm these 2 points?

          Michael VincentM dinkumoilD 2 Replies Last reply Reply Quote 1
          • Michael VincentM
            Michael Vincent @donho
            last edited by Michael Vincent

            @donho said in Function List: Is file extension of User Defined Language still working?:

            Could you confirm these 2 points?

            Yes on both accounts, you predict correctly:

            If you remove the above line from your functionList.xml, then restart your Notepad++, your *.md files will still work.

            Removing:

            <association id= “markdown” ext=".md" />
            

            and then starting Notepad++ and opening the Markdown file, Function List still shows the parsed Markdown headers (like my picture above). Assuming because I have “.md” as a file extension in the User Defined Language config:

            a7cf7f77-59ee-4e9b-9e3c-820be35a51f7-image.png

            ===

            If you add <association id= "markdown" ext=".xd" /> then rename the ext of your MD files to xd, and open renamed file, your function list will be empty.

            Adding the line in functionList.xml, opening Notepad++ and then opening a renamed README.xd (from the original README.md) does not show in Function List - the panel is empty.

            Hope this helps!

            Cheers.

            1 Reply Last reply Reply Quote 2
            • donhoD
              donho
              last edited by

              @Michael-Vincent Thank you very much for your help!

              1 Reply Last reply Reply Quote 2
              • dinkumoilD
                dinkumoil @donho
                last edited by dinkumoil

                @donho , @Michael-Vincent

                When I’ve created a NppExec script UDL and also a function list parser, I noticed that it is necessary to have an UDL in order to get a working function list. It seems the function list parser is not triggered by the file’s extension but by the language type which is, of course, only present if one has an UDL.

                @Michael-Vincent

                If you are interested in how to activate NppExec syntax highlighting and function list parser automatically when the file npes_saved.txt is loaded with Notepad++, have a look at >> this comment << in the NppExec bug tracker.

                1 Reply Last reply Reply Quote 3
                • donhoD
                  donho
                  last edited by

                  @dinkumoil

                  . It seems the function list parser is not triggered by the file’s extension but by the language type

                  I’m doing this ticket:
                  https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4896

                  With ext it makes new implementation more complex so less easy to maintain. Since ext part doesn’t work, I will remove this part.

                  MAPJe71M 1 Reply Last reply Reply Quote 1
                  • MAPJe71M
                    MAPJe71 @donho
                    last edited by

                    @donho see also #298 and Function List known issue #4

                    donhoD 1 Reply Last reply Reply Quote 1
                    • donhoD
                      donho @MAPJe71
                      last edited by

                      @MAPJe71
                      Hmm… I think the file ext to apply function list is not necessary anymore. Users can set several exts in UDL, and once the file is recognized as UDL, function list will work on it if its parser is present.

                      MAPJe71M 1 Reply Last reply Reply Quote 1
                      • ArkadiuszMichalskiA
                        ArkadiuszMichalski
                        last edited by

                        So to have working list we need two things, a parser and a UDL file (even without styles)?

                        1 Reply Last reply Reply Quote 0
                        • ArkadiuszMichalskiA
                          ArkadiuszMichalski
                          last edited by

                          Although in the case of UDL it’s obvious. There was no question.

                          1 Reply Last reply Reply Quote 0
                          • MAPJe71M
                            MAPJe71 @donho
                            last edited by

                            @donho
                            The problem of FL ext not working is that it requires an UDL i.e. you can’t use an FL parser without an UDL.

                            1 Reply Last reply Reply Quote 0
                            • MAPJe71M
                              MAPJe71
                              last edited by

                              @ArkadiuszMichalski appearently beat me to it.
                              You need both FL parser and UDL (can be a “dummy” i.e. with name and extension but without styles) because FL ext does not work.

                              1 Reply Last reply Reply Quote 0
                              • MAPJe71M
                                MAPJe71
                                last edited by

                                Furthermore, for every UDL FunctionList parser deployed with Notepad++ you would also have to include the UDL definition in order for those parsers to work.

                                1 Reply Last reply Reply Quote 0
                                • donhoD
                                  donho
                                  last edited by donho

                                  So to have working list we need two things, a parser and a UDL file (even without styles)?

                                  Yes. Set an empty UDL with the exts + the name via the UDL dialog - it took me 5 seconds only.

                                  Furthermore, for every UDL FunctionList parser deployed with Notepad++ you would also have to include the UDL definition in order for those parsers to work.

                                  Not necessary. A simple explanation in npp-user-manual will be enough.

                                  1 Reply Last reply Reply Quote 0
                                  • ArkadiuszMichalskiA
                                    ArkadiuszMichalski
                                    last edited by

                                    @donho But few UDL is not problem, what if someone has to make a lot of them and gets a trash on the menu?
                                    https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4896#issuecomment-706421610

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