• Login
Community
  • Login

Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
9 Posts 4 Posters 1.7k 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.
  • D
    Demetrius
    last edited by Feb 1, 2022, 10:45 PM

    Edit > Blank operations > Tab to space ~ works on whole file.
    But I expect it to process only selected text.

    version: 8.1.9.3 win 64

    T D 2 Replies Last reply Feb 1, 2022, 11:26 PM Reply Quote 2
    • T
      Terry R @Demetrius
      last edited by Feb 1, 2022, 11:26 PM

      @demetrius said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

      But I expect it to process only selected text.

      The Notepad++ online manual is specific in this case:
      75004770-4fec-40f5-81cc-3a33c8e8ea1b-image.png
      See here , then down about a page.

      You could put in a feature request, see the FAQ section on how to do it.
      Since I see @guy038 has upvoted your post, maybe he also thinks it should be an option.

      Since all these sub-options (off Blank operations) act on all lines, it might be due to the way Notepad++ can access these functions. Maybe Scintilla (the API Notepad++ uses) doesn’t permit these operations to work on only portions of files/tabs.

      One way around it is to cut the portion you need to work on to another tab, perform the operation, then paste back. I know it’s a hassle but at least you can do it now, rather than wait for…?

      Terry

      M 1 Reply Last reply Feb 2, 2022, 4:19 AM Reply Quote 2
      • M
        mpheath @Terry R
        last edited by mpheath Feb 2, 2022, 4:21 AM Feb 2, 2022, 4:19 AM

        @terry-r said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

        Since all these sub-options (off Blank operations) act on all lines, it might be due to the way Notepad++ can access these functions. Maybe Scintilla (the API Notepad++ uses) doesn’t permit these operations to work on only portions of files/tabs.

        Scintilla has the functions. Notepad++ just has not implemented Selection or All combined option into one entry, AFAIK.

        I do see “Edit -> On Selection” does not offer much for selections.

        Here is a lua script as an example of Selection or All:

        function GetTextFromEditor()
            -- Get the selected text.
            local text = editor:GetSelText()
            local mode = 1
            
            if text == '' then
                -- Get all text.
                text = editor:GetText()
                mode = 2
                
                if text == '' then
                    return
                end
            end
        
            -- Spaces to Tab.
            text = string.gsub(text, '    ', '\t')
        
            -- Replace selection or all.
            if mode == 1 then
                editor:ReplaceSel(text .. '\r\n-- Selection Replace. --\r\n')
            elseif mode == 2 then
                editor:SetText(text .. '\r\n-- Full replace. --\r\n')
            end
        end
        
        GetTextFromEditor()
        
        --[[
        HightLight    Me
        ]]--
        
        

        Use LuaScript plugin and run run current file.

        For selection of HightLight Me, the bottom text changes to:

        --[[
        HightLight	Me
        -- Selection Replace. --
        
        ]]--
        
        

        No selection, the bottom text changes to:

        --[[
        HightLight	Me
        ]]--
        
        -- Full replace. --
        
        

        Shows it is possible with Scintilla. Each of 4 Spaces is replaced with Tabs and a line was added to show it visually changed.

        Probably the easiest solution in Notepad++ is to do selection replacement if a key is pressed while clicking the menu entry. Or as the example does, if text is selected, do selection, else do whole document. I am not stating that any of these are the ideal solution, though may help to avoid duplicating the menu entries. The problem might be that some menu entries may not be suitable for selection operations though I guess most menu entries would.

        1 Reply Last reply Reply Quote 0
        • D
          Demetrius @Demetrius
          last edited by Demetrius Feb 2, 2022, 1:22 PM Feb 2, 2022, 1:21 PM

          I not going to put feature request. Since it is a feature change.

          In my opinion it is very intuitive that this command should operate only on selected text. And if nothing is selected then be apply to full file.

          1 Reply Last reply Reply Quote 0
          • A
            Alan Kilborn
            last edited by Feb 2, 2022, 2:14 PM

            @demetrius said:

            I not going to put feature request. Since it is a feature change.

            Hmm, a change to an existing feature is also a feature request.
            So I would encourage you to put one in on this.

            @terry-r said:

            Since all these sub-options (off Blank operations) act on all lines, it might be due to the way Notepad++ can access these functions. Maybe Scintilla (the API Notepad++ uses) doesn’t permit these operations to work on only portions of files/tabs.

            It’s possible, I didn’t check the code.
            But even if so, this could be changed to do it a different way.

            @mpheath said:

            Probably the easiest solution in Notepad++ is to do selection replacement if a key is pressed while clicking the menu entry.

            This is not the way to do it, as for users to know it they would have no choice except to have to find it out by reading the manual.

            if text is selected, do selection, else do whole document.

            THIS is the way to do it; it is consistent with other already existing functions.

            In the meanwhile a replace-in-selection replace operation would seem to do the job, example:

            90515abf-5395-438b-b70f-44d09aa5c5ba-image.png

            A D 2 Replies Last reply Feb 2, 2022, 2:31 PM Reply Quote 2
            • A
              Alan Kilborn @Alan Kilborn
              last edited by Feb 2, 2022, 2:31 PM

              @alan-kilborn said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

              In the meanwhile a replace-in-selection replace operation would seem to do the job, example:

              I should have added that the “blue blob” in the Replace with box is however many spaces you desire for a tab.

              1 Reply Last reply Reply Quote 2
              • D
                Demetrius @Alan Kilborn
                last edited by Feb 2, 2022, 4:28 PM

                @alan-kilborn
                Replace \t to four spaces is not always leads to same results.

                'Coz: 1. Tab to space can access tab size setting. 2. It not always replaces with exact number of spaces, but preserve non-blank chars in same column positions!

                A 1 Reply Last reply Feb 2, 2022, 6:05 PM Reply Quote 0
                • A
                  Alan Kilborn @Demetrius
                  last edited by Feb 2, 2022, 6:05 PM

                  @demetrius said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

                  Replace \t to four spaces is not always leads to same results.

                  Well, I guess all sorts of people do all sorts of wacky things.
                  Personally I would not like to be in a situation like I think you’re describing.

                  If you’re happy with the suggested workaround of copying some data to a second tab and reformatting it there, I’d advocate going with that idea.

                  D 1 Reply Last reply Feb 2, 2022, 8:17 PM Reply Quote 0
                  • D
                    Demetrius @Alan Kilborn
                    last edited by Feb 2, 2022, 8:17 PM

                    @alan-kilborn said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

                    @demetrius said in Edit > Blank operations > Tab to space ~ works on whole file but not only on selected text.:

                    Replace \t to four spaces is not always leads to same results.

                    Well, I guess all sorts of people do all sorts of wacky things.
                    Personally I would not like to be in a situation like I think you’re describing.

                    There is rare cases when I have to paste code to some forum that incorrectly works with tab sizes. So I turn them to spaces.

                    If you’re happy with the suggested workaround of copying some data to a second tab and reformatting it there, I’d advocate going with that idea.

                    Yes, I know about this workaround. Even before I posted here.

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