Community

    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    SaveAs as last command in macro; possible?

    Help wanted · · · – – – · · ·
    2
    5
    164
    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.
    • Alan Kilborn
      Alan Kilborn last edited by

      Title says it all. LOL. Just kidding.

      So I have a macro that does a big replace on a log file.
      I want to make sure I don’t overwrite the original log file, so I had the idea to prompt myself with a Save As after my macro does its work. So it would be the last command in the macro, and things would end with the user (me) looking at a Save As prompt box.

      Doing some testing, I see that I can record a macro doing a Save As (only!, not my replace stuff too), but playing it back does nothing.

      If I save the macro, what gets put in shortcuts.xml is:

              <Macro name="saveas_test" Ctrl="no" Alt="no" Shift="no" Key="0">
                  <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
                  <Action type="2" message="0" wParam="45001" lParam="0" sParam="" />
              </Macro>
      
      

      42024 seems to be a “trim trailing” operation (that I didn’t ask for – could this be influenced by the editorconfig plugin??)

      45001 seems to be a “windows line ending” command (ok, now I’m more convinced editorconfig is having an effect)

      In spite of my findings, is there any way to achieve this functionality, specifically, Save As as last command in a macro?

      Sure, could turn to scripting…

      PeterJones 1 Reply Last reply Reply Quote 1
      • PeterJones
        PeterJones @Alan Kilborn last edited by

        @Alan-Kilborn said in SaveAs as last command in macro; possible?:

        Save As as last command in a macro?

        Save As is NPP Message 41008, but appears to be one of the many menu commands that cannot be recorded, but can be played back. If you manually insert

                <Action type="2" message="0" wParam="41008" lParam="0" sParam="" />
        

        and then reload, your macro should now bring up the Save As dialog

        PeterJones 1 Reply Last reply Reply Quote 3
        • PeterJones
          PeterJones @PeterJones last edited by

          Addendum:

          My guess as to the reason that Save As isn’t recordable: because half the users would want it to record the Save As including the filename, and will be upset if it doesn’t save the name in the macro; and the other half would yell and scream if the macro did record the filename, because obviously they wanted a different filename every time Save As is run. And there’s enough of that arguing for other issues, so the developers just disabled recording for Save As, upsetting the third half of the users. ;-)

          Well, okay, the real reason is they probably just forgot to put it in the list of recordable messages. But that might be a reason why they haven’t added it when doing other fixes of which actions are recordable.

          1 Reply Last reply Reply Quote 4
          • Alan Kilborn
            Alan Kilborn last edited by

            Thanks @PeterJones ; worked like a charm.
            One day I’ll think to just try the manual add, instead of relying on the recorder (I’m certainly not afraid to hand-edit shortcuts.xml).

            PeterJones 1 Reply Last reply Reply Quote 3
            • PeterJones
              PeterJones @Alan Kilborn last edited by

              @Alan-Kilborn ,

              The end of NppCommands.cpp has the list of IDM_ entries (ie, the menu commands) that are macro-recordable. So any not listed there are not.

              1 Reply Last reply Reply Quote 3
              • First post
                Last post
              Copyright © 2014 NodeBB Forums | Contributors