Community
    • Login

    Two suggestions

    Scheduled Pinned Locked Moved General Discussion
    32 Posts 7 Posters 7.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.
    • dailD
      dail @Alan Kilborn
      last edited by

      @Alan-Kilborn

      It is not a hard algorithm…until you consider undo/redo; then it all goes out the window.

      I too once tried to create a plugin to do this. It was several years ago and gave up because of this exact reason.

      EkopalypseE 1 Reply Last reply Reply Quote 3
      • EkopalypseE
        Ekopalypse @dail
        last edited by

        C’mon @dail , I haven’t even started and you’re already taking the wind out of my sails. :-D
        I thought memento pattern + deque list = solution.
        Phew - I guess I’m screwed now. ;-)

        dailD 1 Reply Last reply Reply Quote 3
        • dailD
          dail @Ekopalypse
          last edited by

          @Ekopalypse My naive approach was keep a counter per line. Increment when a change is made or a redo. Decrement when undo.

          This partially worked but once you start having to keep track of deleted lines, what to do when lines get merged, split, etc.

          My next attempt was to use the git diff core code to compute diffs in near real time but I didnt ever finish it.

          1 Reply Last reply Reply Quote 2
          • EkopalypseE
            Ekopalypse
            last edited by

            Hmm … I see, what started to be a nice project while waiting on firmware compilation/update is becoming a “don’t walk alone in the dark and do not go into that lonely woodden cabin”

            Yes, I have also thought about Python’s difflib and using it together with the stored history of the document to avoid comparing large documents.
            Hmm… I will try and probably report in two days that I failed miserably. :-)

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

              Any chance to have a look at LocationNavigate source and see how it handles it (undo/redo)?

              EkopalypseE Michael VincentM 2 Replies Last reply Reply Quote 0
              • EkopalypseE
                Ekopalypse @Alan Kilborn
                last edited by

                @Alan-Kilborn said in Two suggestions:

                LocationNavigate

                :-D - I’m currently doing this but there are a lot of ???
                Author seems to use a different encoding.

                1 Reply Last reply Reply Quote 2
                • Michael VincentM
                  Michael Vincent @Alan Kilborn
                  last edited by Michael Vincent

                  @Alan-Kilborn said in Two suggestions:

                  Any chance to have a look at LocationNavigate source and see how it handles it (undo/redo)?

                  What’s wrong with just using Location Navigate? I didn’t see that was a problem above (except lack of 64-bit version). I this just an attempt to implement with a script, or legitimately fix a problem with Location Navigate implementation?

                  Just curious before I potentially throw my hat in the ring …

                  Cheers.

                  Alan KilbornA 1 Reply Last reply Reply Quote 3
                  • Alan KilbornA
                    Alan Kilborn @Michael Vincent
                    last edited by Alan Kilborn

                    @Michael-Vincent

                    What’s wrong with just using Location Navigate?

                    Nothing, except:

                    • It’s overkill for just the changed-lines functionality (I’ve never found any use for the other things – really the advertised main things – that LocationNavigate does)

                    • It might be easier (says the guy that isn’t doing it) to recreate it than to understand the mass of what is there

                    • It feels maybe wrong to “take over” someone else’s work (this is a very minor reason)

                    Your hat is definitely welcome in the ring!

                    Michael VincentM 1 Reply Last reply Reply Quote 2
                    • Michael VincentM
                      Michael Vincent @Alan Kilborn
                      last edited by

                      @Alan-Kilborn said in Two suggestions:

                      It’s overkill for just the changed-lines functionality

                      Agreed. And it’s not 64-bit. And even on 32-bit, it always made N++ crash on exit. So I “extracted” the line marker only parts and made it 64/32-bit in a more simple change lines marker plugin.

                      @Alan-Kilborn said in Two suggestions:

                      Your hat is definitely welcome in the ring!

                      See Changed Lines. Again, it’s pretty much lifted right out of Location Navigate code so I do undo / redo they was Location Navigate does it. It’s not perfect, but works fine for me. One of the many reasons I’m reluctant to “announce” / “release” “my” plugins to the wild - they’re not my original work, they’re just tweaks to others’ and I don’t have the skill to support / fix bugs beyond really simple stuff.

                      Cheers.

                      EkopalypseE 1 Reply Last reply Reply Quote 4
                      • EkopalypseE
                        Ekopalypse @Michael Vincent
                        last edited by

                        Well, that means @Michael-Vincentsaved me the embarrassment then, fine, thank you. :-)

                        1 Reply Last reply Reply Quote 2
                        • favdishF
                          favdish
                          last edited by

                          Thanks to all for a lively discussion. I’ll have a look at @Michael-Vincent’s plugin. LocationNavigate seems to do the job, after a quick test, but a plugin for both 32/64 is of course better.

                          I’ve also discovered another contender, called cudatext. Looks also pretty good, this one, and has the added advantage to work natively with Linux (haven’t tested yet, just from the website blurb). What are the experiences with that one (if I can ask that in an NPP forum :-) )?

                          EkopalypseE 1 Reply Last reply Reply Quote 0
                          • EkopalypseE
                            Ekopalypse @favdish
                            last edited by Ekopalypse

                            @favdish said in Two suggestions:

                            What are the experiences with that one (if I can ask that in an NPP forum :-)

                            There are tons of editors out there.
                            VSCode, sublime, atom, geany, notepad2, pspad, eclipse… just to name a few
                            and they all have their strengths and weaknesses, but in the end it all comes down to one simple question?
                            Does it offer what YOU need, functionally and design-wise?

                            1 Reply Last reply Reply Quote 2
                            • guy038G
                              guy038
                              last edited by guy038

                              Hi, @michael-Vincent and All,

                              I’ve just downloaded and tried your 32-bits plugin, on my Win XP SP3 with N++ v7.8.5 portable configuration. Wooow, amazing ;-))

                              I do like :

                              • The possibility of changing the Margin width and the highlight option, too ( I personally adopted highlight for change marker and default for save marker ! )

                              • The two shortcuts Ctrl + ALt + Y and Ctrl + ALt + Z which allow to navigate :

                                • from the beginning of each changed zone, in forward direction

                                • from the end of each changed zone, in backward direction

                              • The Changed Lines panel with the ability to double-click on any changed line to immediately move to the exact location in current file, in the same way it is, in the N++ Find result panel !


                              Many thanks, Michael, for pointing us to this excellent plugin of yours ;-))

                              Best regards,

                              guy038

                              Michael VincentM 1 Reply Last reply Reply Quote 1
                              • Alan KilbornA
                                Alan Kilborn
                                last edited by

                                @Michael-Vincent

                                Thank you for your efforts.
                                I’m currently checking it out as well.
                                Question: What does the checkbox for Use N++ Colors do? I experimented with it but didn’t see any effect either way?

                                Michael VincentM 1 Reply Last reply Reply Quote 0
                                • Michael VincentM
                                  Michael Vincent @Alan Kilborn
                                  last edited by Michael Vincent

                                  @Alan-Kilborn

                                  It should change the background color of the listview in the docking panel to the background color of your N++ theme. If you’re using the default theme (white background) you’ll see no effect. If you’re using something like Obsidian it’ll look like:

                                  7dad337b-e230-4e73-b57c-b5ea7d9ff96d-image.png

                                  vs:

                                  102c27fd-f7be-4b7b-ae3d-503b18e3f8b9-image.png

                                  Cheers.

                                  1 Reply Last reply Reply Quote 4
                                  • Michael VincentM
                                    Michael Vincent @guy038
                                    last edited by

                                    @guy038 said in Two suggestions:

                                    Many thanks, Michael, for pointing us to this excellent plugin of yours ;-))

                                    Your welcome - remember it’s not my original work - it’s basically just extracting the line marking logic from Location Navigate and putting just that in a plugin. The issue I had with Location Navigate recompiling in 64-bit was all the logic in tracking location as you navigate around the document. I ignore all that and don’t implement it. I only took the line marking “logic”.

                                    Cheers.

                                    Alan KilbornA 1 Reply Last reply Reply Quote 1
                                    • Alan KilbornA
                                      Alan Kilborn @Michael Vincent
                                      last edited by

                                      @Michael-Vincent

                                      I have to agree with @guy038 after a day or so of working with ChangedLines replacing LocationNavigate. It seems to be working well. Many thanks.

                                      I’ve played a bit with the settings to customize it.
                                      One thing I like in a feature like this is that the changed but unsaved lines are REALLY emphasized, and the changed and saved lines are emphasized, but like they are an “afterthought”.

                                      To that end, I’ve adjusted the colors to my liking, sample:

                                      bc9ef236-ae46-411f-a118-a13cb4c95d8c-image.png

                                      If you are looking for enhancement requests [ probably not! :-) ], maybe if the color settings could be presented in the Settings box, something like this:

                                      73bd3088-10a9-495f-8427-6655cc62e870-image.png

                                      Truly not necessary, but if you want to play next time you are in the code! :-)

                                      Michael VincentM 2 Replies Last reply Reply Quote 2
                                      • Michael VincentM
                                        Michael Vincent @Alan Kilborn
                                        last edited by

                                        @Alan-Kilborn said in Two suggestions:

                                        Truly not necessary, but if you want to play next time you are in the code! :-)

                                        The location navigate plugin does this - colors its color selector buttons to the chosen color - but it looked complicated. My Win32 API understanding is very limited an consists of a lot of cut-paste examples. I haven’t looked at Changed Lines in a while because it’s been working nicely in the background for me but if i do revisit I’ll look at that part again.

                                        Cheers.

                                        Alan KilbornA 1 Reply Last reply Reply Quote 3
                                        • Alan KilbornA
                                          Alan Kilborn @Michael Vincent
                                          last edited by

                                          @Michael-Vincent said in Two suggestions:

                                          The location navigate plugin does this - colors its color selector buttons to the chosen color

                                          I had forgotten about this; truly I set Location Navigate up one time long ago, and never looked at it again. I think coloring a button would be a hard thing as I think Windows likes to control this, but a swatch to the left like I show doesn’t seem too bad. Note that I won’t go so far as to say easy.

                                          1 Reply Last reply Reply Quote 3
                                          • Michael VincentM
                                            Michael Vincent @Alan Kilborn
                                            last edited by

                                            @Alan-Kilborn said in Two suggestions:

                                            If you are looking for enhancement requests [ probably not! :-) ], maybe if the color settings could be presented in the Settings box, something like this:

                                            Truly not necessary, but if you want to play next time you are in the code! :-)

                                            If you want to try it out - see the latest development - no compiled release, you’ll need to do that yourself.

                                            https://github.com/vinsworldcom/nppChangedLines/tree/develop

                                            Also added:

                                            • click in ChangedLines margin goes to next change / Shift+Click goes to previous
                                            • Colorized buttons for change and save colors in Settings dialogue
                                            • Auto populate / update of ChangedLines panel for current file

                                            Cheers.

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