Community
    • Login

    Using Mark (Markers) and Styles

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    34 Posts 6 Posters 20.0k 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.
    • Alan KilbornA
      Alan Kilborn @Sridhar Raghavan
      last edited by

      @Sridhar-Raghavan said in Using Mark (Markers) and Styles:

      unless Scripting is done carefully, one may easily break the consistencies ensured rigorously in the core code.

      Well, to be honest, I think in the core code the hidden line feature is just not that good. So much for the need for “consistencies ensured rigorously”. :-)

      And, strangely, in all of the forum postings here, hiding and showing lines again is very rarely discussed. Probably, because in Notepad++ the feature is very basic as I described earlier.

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

        @Alan-Kilborn said in Using Mark (Markers) and Styles:

        I think in the core code the hidden line feature is just not that good

        As an example, it is easy to get the UI out of sync just using the built-in features (no scripting).

        Example:

        Start with text:

        one
        two
        three
        four
        five
        six
        seven
        eight
        nine
        ten
        

        Make a selection of some lines:

        7d1b8e7d-3b23-4cf9-a08a-e36bf12f21cb-image.png

        Right-click that selection and pick Hide Lines to obtain:

        b1f41544-63c7-45aa-9258-5087ba51078e-image.png

        Make another selection, like so:

        b30efab0-2fb3-4a13-93ff-95d52c414754-image.png

        Right-click that selection and pick Hide Lines to obtain:

        62fa30c0-990a-4d46-87bc-2cd9f3a75866-image.png

        Left-click the green arrow in the margin on line 2.
        This seems like it should expand the text back to a no-lines-hidden state, or perhaps the previous state where lines 5, 6 and 7 were the only hidden ones.
        But what we get is:

        d98da195-f284-46a5-ae01-8a42b60dd8bf-image.png

        So we do get the state where lines 5, 6 and 7 are the hidden ones.
        But…there’s no way to ever unhide them (well, switching tabs and back does it!)
        There’s no right-pointing green arrow, and clicking on the left-pointing arrow does nothing.

        So the conclusion is that this feature is broken (if I can break it so easily).

        Victorel PetrovichV 3 Replies Last reply Reply Quote 1
        • Sridhar RaghavanS
          Sridhar Raghavan
          last edited by

          Thanks Alan for that tip. I would have never found it by trying things (hoping for the hidden commands!). That gets me going now.

          Thanks for the quick work on the code for the “windowed” display. Great.

          I think your code with additional check boxes and drop downs is rapidly getting to becoming a good plugin!!

          It was a general experiential statement on my part that APIs and Scripting languages are after-thought add-ons, done with less rigor. But not always the case, including the example you cite.

          br Sri.

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

            Hi, @sridhar-raghavan, @alan-kilborn and All,

            Just tried your second version, using 1 line before hit and 1 line after it. Interesting, indeed, with the “Hide Lines” mechanism. Just enable the line number margin !

            Of course, as soon as you switch to another tab and switch back to your file, all the hidden lines appear again !


            Now, I thought about two improvements. But, Alan, they are just suggestions and ONLY IF @sridhar-raghavan would need it, too !

            • By default, the Python search is sensible to case et does not care about the whole word notion. So, could it possible to search for any case and to search for whole words only ?

            • I thought that you could also enter all the parameters in an unique prompt window !

            • With double quotes to surround expressions containing space characters

            • With inside a couple of parentheses :

              • w would mean Word only

              • i would mean Ignore case

              • r would mean Remove all styles

              • # would mean Style #

            When absent, each parameter would be supposed to be the default present Python script behavior !


            So, for instance, the text License (rw5) software (i3) "GNU GENERAL PUBLIC LICENSE" (iw43) would mean :

            • Remove all styles first

            • Highlight any word License, with this exact case, in style 5

            • Highlight any string software, whatever its case, in style 3

            • Highlight any exact expression GNU GENERAL PUBLIC LICENSE, whatever its case, in style 4 AND in style 3, too

            Best Regards,

            guy038

            Alan KilbornA 1 Reply Last reply Reply Quote 0
            • Alan KilbornA
              Alan Kilborn @guy038
              last edited by

              @guy038 said in Using Mark (Markers) and Styles:

              Of course, as soon as you switch to another tab and switch back to your file, all the hidden lines appear again !

              Yes, this limitation was mentioned earlier.
              It can be avoided with more code, but as this was just intended to be a demo to show @Sridhar-Raghavan the possibilities of scripting, I didn’t do it.

              Regarding other changes: Yes, with scripting the possibilities are limitless! :-)

              1 Reply Last reply Reply Quote 1
              • Victorel PetrovichV
                Victorel Petrovich @Alan Kilborn
                last edited by

                @Alan-Kilborn said in Using Mark (Markers) and Styles:

                But…there’s no way to ever unhide them (well, switching tabs and back does it!)
                There’s no right-pointing green arrow, and clicking on the left-pointing arrow does nothing.
                So the conclusion is that this feature is broken (if I can break it so easily).

                Maybe you already know, as > 2 years passed, but if not: I could not reproduce that bug, so I guess it’s been fixed.

                Alan KilbornA 1 Reply Last reply Reply Quote 0
                • Alan KilbornA
                  Alan Kilborn @Victorel Petrovich
                  last edited by

                  @Victorel-Petrovich said in Using Mark (Markers) and Styles:

                  Maybe you already know, as > 2 years passed, but if not: I could not reproduce that bug, so I guess it’s been fixed.

                  Not sure what you mean has been fixed…

                  1 Reply Last reply Reply Quote 0
                  • Victorel PetrovichV
                    Victorel Petrovich @Alan Kilborn
                    last edited by Victorel Petrovich

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • Victorel PetrovichV
                      Victorel Petrovich @Alan Kilborn
                      last edited by

                      @Alan-Kilborn , the bug in your message above:

                      As an example, it is easy to get the UI out of sync just using the built-in features (no scripting).

                      Example:

                      Start with text:

                      one
                      two
                      three
                      four
                      five
                      six
                      seven
                      eight
                      nine
                      ten
                      

                      Make a selection of some lines:

                      7d1b8e7d-3b23-4cf9-a08a-e36bf12f21cb-image.png

                      Right-click that selection and pick Hide Lines to obtain:

                      b1f41544-63c7-45aa-9258-5087ba51078e-image.png

                      Make another selection, like so:

                      b30efab0-2fb3-4a13-93ff-95d52c414754-image.png

                      Right-click that selection and pick Hide Lines to obtain:

                      62fa30c0-990a-4d46-87bc-2cd9f3a75866-image.png

                      Left-click the green arrow in the margin on line 2.
                      This seems like it should expand the text back to a no-lines-hidden state, or perhaps the previous state where lines 5, 6 and 7 were the only hidden ones.
                      But what we get is:

                      d98da195-f284-46a5-ae01-8a42b60dd8bf-image.png

                      So we do get the state where lines 5, 6 and 7 are the hidden ones.
                      But…there’s no way to ever unhide them (well, switching tabs and back does it!)
                      There’s no right-pointing green arrow, and clicking on the left-pointing arrow does nothing.

                      So the conclusion is that this feature is broken (if I can break it so easily).

                      Alan KilbornA 1 Reply Last reply Reply Quote 0
                      • Alan KilbornA
                        Alan Kilborn @Victorel Petrovich
                        last edited by Alan Kilborn

                        @Victorel-Petrovich said in Using Mark (Markers) and Styles:

                        the conclusion is that this feature is broken (if I can break it so easily).

                        it is easy to get the UI out of sync just using the built-in features (no scripting).

                        Ah, OK – I thought you meant something with the script.
                        Yes, the feature is very broken, for many reasons.
                        This has long been known.

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