Community
    • Login

    [Feature/Help Request] Add more items to function list for Windows batch files

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    3 Posts 3 Posters 2.4k Views 2 Watching
    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.
    • bege10B Offline
      bege10
      last edited by

      Hi,
      currently the function list shows only labels (:name) for batch files. I additionally need these items:

      • call
      • start
      • goto

      My request is to have these items added to functionlist.xml.
      Can someone help my with the code to do so myself in the meantime?
      Thank you very much.

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

        I strongly advise against showing more then just functions/sub-routines (i.e. labels in batch files) in the FunctionList tree but considering the following …

        CALL [drive:][path]filename [batch-parameters]
        CALL :label arguments
        
        START ["title"] [start-arguments] [command/program] [parameters]
        
        GOTO [:]label
        

        … what parts of the commands would you like to show up in the tree?

        1 Reply Last reply Reply Quote 0
        • guy038G Offline
          guy038
          last edited by guy038

          Hello bege10,

          To fully distinguish the different GOTO, CALL and START commands, of your batch file, I suppose that you need all the contents of the line, starting with these commands :-)

          If so, here is, below, a batch parser, which should work nice !!

          • Open your active functionList.xml file

          • Change the present batch_label id parser contents by the parser, below :

            <parser id=“batch_label” displayName=“BAT Label” commentExpr=“^[\t ](::|REM).?$”>
            <function
            mainExpr=“^[\t ]*\K.+?$”
            displayMode=“$functionName”>
            <functionName>
            <nameExpr expr=“(call |goto |start |(?<=:)).+?$”/>
            </functionName>
            </function>
            </parser>

          Notes :

          • The commentExpr string is, either, the word REM or the symbol ::, preceded by possible leading space/tabulation characters and followed by any range, even null, or characters

          • Then, the mainExpr string, from which the different entities, to display in the FunctionList window, will be extracted, is any, non-null, range of characters, which follows possible leading space/tabulation characters ( and different from comment ranges ! )

          • Finally, the expr string is, either :

            • The word call, goto or start, followed by a space and any non null range of characters
            • Any non null range of characters, following a colon ( : )

          IMPORTANT :

          The functionList regex engine does NOT act as the Notepad++ one. By default, it considers that the dot meta-character ( . ) match, absolutely, any character ( standard or EOL ones )

          But, as the Notepad++ regex engine does, it considers that the ^ and $ assertions stand for the beginning and the end of any line

          So, when you want to match, from any location, all the remaining characters of a line, TWO syntaxes are possible :

          .+?$ which matches any non-null range of any character, ( standard or EOL ones ), till the nearest EOL location, due to the lazy quantifier +?

          OR

          (?-s).+ which matches any non-null range of standard characters only, due to the in-line modifier (?-s)

          Of course, if the range of characters may be a zero-length string, prefer the syntax .*?$ OR (?-s).*

          Best Regards,

          guy038

          1 Reply Last reply Reply Quote 0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • First post
            Last post
          The Community of users of the Notepad++ text editor.
          Powered by NodeBB | Contributors