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.
    • 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