• Login
Community
  • Login

Remove duplicate numerical lines

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
48 Posts 8 Posters 14.5k 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.
  • S
    Scott Sumner @PeterJones
    last edited by Dec 13, 2018, 6:47 PM

    @PeterJones said:

    the oldID=activeID, activate(args), edit, activate(oldID) should work

    Yea, I had something like that (but even more involved) in my original over-complicated version (mentioned yesterday, originally), but I found some cases where even that didn’t always work right…so I cut it out entirely before posting. Maybe I’ll revisit it…

    1 Reply Last reply Reply Quote 1
    • E
      Eko palypse @Scott Sumner
      last edited by Dec 13, 2018, 7:08 PM

      @Scott-Sumner

      yes, that is what I like about open source project in general.
      Everyone can learn from others from different point of views or styles etc …

      Yes, but you forgot something. :-)

      Correct, different size - damn it. :-)

      editor.getText()[-1]
      but maybe that pulls a lot of text just to look at the last character…

      I thought so too but after rechecking scintilla documentation it looks like
      SCI_GETCHARACTERPOINTER is what we are looking for because from the document it states
      Grant temporary direct read-only access to the memory used by Scintilla to store the document.

      So, editor.getCharacterPointer()[-1] shouldn’t allocate any heap memory at all or maybe just a little tiny bit.

      @PeterJones nice one - works for me as well :-)

      Eko

      S 1 Reply Last reply Dec 13, 2018, 7:32 PM Reply Quote 2
      • S
        Scott Sumner @Eko palypse
        last edited by Dec 13, 2018, 7:32 PM

        @Eko-palypse

        I get nervous about editor.getCharacterPointer() because of my lack of full understanding about multibyte character encodings (as stated previously, I’m an A-Z person). I suppose, though, in this case we are talking about, there could be no issues…

        E 1 Reply Last reply Dec 13, 2018, 7:39 PM Reply Quote 0
        • E
          Eko palypse @Scott Sumner
          last edited by Dec 13, 2018, 7:39 PM

          @Scott-Sumner

          not sure I understand your concerns about this.
          I assume it is only the pointer to the text buffer returned and pythonscript
          plugin has the python buffer protocol implemented so it should be safe always.
          But as written, I assume - don’t really know how it is implemented.

          Eko

          1 Reply Last reply Reply Quote 0
          • S
            Scott Sumner @PeterJones
            last edited by Dec 13, 2018, 7:54 PM

            @PeterJones

            So to revisit this:

            if all open files were missing EOL, it would save all files, but only fix the EOL on the active file

            I just re-tested after disabling my more-complicated script, restarting N++, and then activating my script as posted above. I created 3 new named files and make sure each had only a single line of text (only a 1 showing in the line-number margin–thus NO line-ending at end-of-buffer, or anywhere in the buffer for that matter). I activated a different file from these 3 and pressed the Save All toolbar button. Checking all 3 files in turn I found that all had a line 2 in the line number margin and this were all appropriately affected by my callback script.

            Not sure why you would see different behavior. I’m running PS 1.3.0.0 and N++ 7.2.2, which for the latter, I’m confident you are not… ;-)

            E 1 Reply Last reply Dec 13, 2018, 8:05 PM Reply Quote 1
            • E
              Eko palypse @Scott Sumner
              last edited by Dec 13, 2018, 8:05 PM

              @Scott-Sumner

              I’m in the same position as @PeterJones - only the current active file
              does get the eol added.
              PS 1.3
              Npp 7.5.9

              Eko

              S 1 Reply Last reply Dec 13, 2018, 8:11 PM Reply Quote 0
              • S
                Scott Sumner @Eko palypse
                last edited by Dec 13, 2018, 8:11 PM

                @Eko-palypse @PeterJones

                I guess I will stop posting scripts now…let others do the heavy lifting. :-)

                …unless and until I move to a newer N++…

                E 1 Reply Last reply Dec 13, 2018, 8:14 PM Reply Quote 1
                • E
                  Eko palypse @Scott Sumner
                  last edited by Dec 13, 2018, 8:14 PM

                  @Scott-Sumner

                  No, no, no … don’t do that … forget all about I wrote :-)
                  It never happened - everything is good - bright nice day
                  and bugs are just animals :-)

                  Eko

                  1 Reply Last reply Reply Quote 2
                  • M
                    Meta Chuh moderator
                    last edited by Dec 13, 2018, 8:51 PM

                    @PeterJones said:

                    To continue with the hijack-tangent of this thread… :-)

                    hahahaha, i like … word of the day: hijack-tangent ;-D 👍

                    it’s really refreshing, it is different to other bbs’es where this kind of thought exchange is and has to be done via the bbs’ chat and pm systems, often leaving a sterile one post product at the end without any leads how the author(s) got there.

                    i think this can be very useful to new interested users to get a better grip of how much time you really need to think about a seemingly simple task and/or consult with others to get a good or perfected result within a short period of time.

                    and i guess no one could come up with a good and plausible reason to mind about this kind of hijacking anyways.
                    especially because the op is probably happy since yesterday and the rest is a nice brain storming, coding, testing and sharing.

                    aaaaand … my post (this one) was the real hijacking … lol

                    1 Reply Last reply Reply Quote 3
                    • P
                      PeterJones
                      last edited by PeterJones Dec 13, 2018, 9:40 PM Dec 13, 2018, 9:38 PM

                      I’m on 7.5.8 32-bit, with PythonScript 1.3.0.0…

                      And now @Scott-Sumner has actually given me a valid reason to downvote him, because if he stops posting PythonScript, it will be up to me… and I just don’t have the py-knowledge to keep up for long. :-)

                      S 1 Reply Last reply Dec 13, 2018, 9:45 PM Reply Quote 1
                      • S
                        Scott Sumner @PeterJones
                        last edited by Dec 13, 2018, 9:45 PM

                        @PeterJones

                        valid reason to downvote

                        First labeled a “retard”, then spanked vigorously by Don Ho in perhaps an interesting overreaction…and now downvoted by Peter… I’m super unpopular. :-(

                        E 1 Reply Last reply Dec 15, 2018, 9:05 PM Reply Quote 2
                        • M
                          Meta Chuh moderator
                          last edited by Dec 13, 2018, 9:54 PM

                          @Scott-Sumner:

                          don’t worry, you’re not … i’m currently googling for a specific helping hack:

                          nodebb plugin hack that downvotes from specific users triggers a double upvote
                          (alternative: hack that there are two upvote buttons left and right of the counter for specific user accounts)

                          @PeterJones

                          also don’t worry, i’m currently googling for a specific helping hack:

                          nodebb browser hack that specific users, who refuse to post scripts, are unable to close the np++ browser window ever again
                          (alternative: they can close it, but as soon as they do, the same page will pop up on their cellular phones)

                          looool ;-)

                          1 Reply Last reply Reply Quote 2
                          • P
                            PeterJones
                            last edited by Dec 13, 2018, 10:23 PM

                            I’m super unpopular

                            … says the one who has 70% higher reputation than anyone else in these forums. :-) Fortunately, downvotes can be transitory: 'Twas done as a joke, referring back to the time that the interface made it look like I had downvoted Scott. But my real downvotes are reserved for egregious behavior – posting spam in the forums, primarily – so I removed this one.

                            And yes, it does seem to have been rather rough in the forums recently: gang up on Scott this week; last week, I got so frustrated due to a certain conversation that I was within moments of deciding to not bother reading/posting here; and, I’m sure Don hasn’t had the best time, with all the problems that showed up in the transition to 7.6. Hopefully, it will mellow out again soon.

                            Anyway, I learned a lot through all the code examples and the experiments they prompted. Thanks all.

                            M 1 Reply Last reply Dec 13, 2018, 11:27 PM Reply Quote 1
                            • M
                              Meta Chuh moderator @PeterJones
                              last edited by Dec 13, 2018, 11:27 PM

                              @PeterJones

                              transition to 7.6. Hopefully, it will mellow out again soon.

                              i think i’m afraid not.
                              there have been new complaints that, now that all plugins reside at a single, all users accessible location inside %programdata% as the active posters wished, others that were silent before want it either in a different location or the way it was in 7.6 … or the way it was in 7.5.9 … or inside of %programfiles%

                              1 Reply Last reply Reply Quote 0
                              • E
                                Eko palypse
                                last edited by Dec 14, 2018, 12:15 PM

                                This is where real life and software development goes hand in hand - you can’t make everyone happy.

                                Eko

                                R 1 Reply Last reply Dec 14, 2018, 3:04 PM Reply Quote 0
                                • R
                                  rinku singh @Eko palypse
                                  last edited by Dec 14, 2018, 3:04 PM

                                  @Eko-palypse
                                  https://drive.google.com/file/d/1i3xhDiybd6FWb0hC2Pu72oeCQEhTYF4W/view?usp=sharing

                                  E 1 Reply Last reply Dec 14, 2018, 3:32 PM Reply Quote 0
                                  • E
                                    Eko palypse @rinku singh
                                    last edited by Dec 14, 2018, 3:32 PM

                                    @gurikbal-singh

                                    not sure what to do!?? What about the uploaded zip?

                                    Eko

                                    R 1 Reply Last reply Dec 14, 2018, 3:37 PM Reply Quote 0
                                    • R
                                      rinku singh @Eko palypse
                                      last edited by Dec 14, 2018, 3:37 PM

                                      @Eko-palypse
                                      zip file has contain a plugin for you
                                      this plugin can remove duplicate lines

                                      E 1 Reply Last reply Dec 14, 2018, 3:40 PM Reply Quote 0
                                      • E
                                        Eko palypse @rinku singh
                                        last edited by Dec 14, 2018, 3:40 PM

                                        @gurikbal-singh

                                        Thank you very much for your effort but I wasn’t asking for one,
                                        I offered a possible solution by using the pythonscript plugin
                                        but maybe @rizla-kostas, the original poster, finds this useful.

                                        Eko

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Alan Kilborn
                                          last edited by Dec 14, 2018, 10:02 PM

                                          I was looking at the EOL at EOF thing and I liked the scripts presented in regards to same. However, after the script is in place…what if I WANT to create a file without the final EOL, a very occasional need maybe?

                                          So I came up with this few lines of code that can be inserted into the scripts, which will prevent the script from doing anything if the Alt key is held while a save is being done.

                                          import ctypes
                                          VK_MENU = VK_ALT = 0x12
                                          if ctypes.windll.user32.GetKeyState(VK_ALT) & 0x8000: return
                                          

                                          In practice this only works when Save or SaveAll is done via toolbar button. :)

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