Community
    • 登入

    Regex] Rounding numbers python script does not run properly

    已排程 已置頂 已鎖定 已移動 Help wanted · · · – – – · · ·
    28 貼文 4 Posters 3.9k 瀏覽
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • EkopalypseE
      Ekopalypse @Alan Kilborn
      最後由 編輯

      @Alan-Kilborn

      I used it here.

      1 條回覆 最後回覆 回覆 引用 2
      • EkopalypseE
        Ekopalypse @Alan Kilborn
        最後由 編輯

        @Alan-Kilborn

        just be careful about notepad.destroyScintilla(self.hidden_scintilla)
        Currently npp crashes when using this and then request another buffer.
        There is already a merged fix but only available on next release.

        Alan KilbornA 1 條回覆 最後回覆 回覆 引用 2
        • Alan KilbornA
          Alan Kilborn @Ekopalypse
          最後由 編輯

          @Ekopalypse

          This is the issue, I assume: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4487

          EkopalypseE 1 條回覆 最後回覆 回覆 引用 1
          • EkopalypseE
            Ekopalypse @Alan Kilborn
            最後由 編輯

            @Alan-Kilborn

            correct, that is the one.

            1 條回覆 最後回覆 回覆 引用 0
            • Alan KilbornA
              Alan Kilborn @Ekopalypse
              最後由 編輯

              @Ekopalypse said:

              what about using a hidden scintilla instance?

              So, like this: hidden = notepad.createScintilla()

              That is actually a nice solution. The hidden instance’s entire text can be set to the matched text from the editor.research(). Then the hidden.rereplace() can be called and the result of the replacement read out into a Python string variable. Thanks, Eko; clearly I would not have thought of this technique without your pointer.

              just be careful about notepad.destroyScintilla()

              This is not a problem as I will do this near the top of the script, and never do a “destroy”:

              try:
                  hidden
              except NameError:
                  hidden = notepad.createScintilla()
              

              and never do a “destroy”

              Alan KilbornA EkopalypseE 2 條回覆 最後回覆 回覆 引用 2
              • Alan KilbornA
                Alan Kilborn @Alan Kilborn
                最後由 編輯

                @Alan-Kilborn said:

                I will do this near the top of the script, and never do a “destroy”:

                and never do a “destroy”

                There really is an “echo” in here, or just me repeating myself and not noticing.

                1 條回覆 最後回覆 回覆 引用 0
                • EkopalypseE
                  Ekopalypse @Alan Kilborn
                  最後由 編輯

                  @Alan-Kilborn

                  and never do a “destroy”

                  :-D never ever - don’t even THINK about it unless your npp version is > 7.7.1 :-D

                  The hidden instance’s entire text can be set to the matched text from the editor.research(). Then the hidden.rereplace() can b

                  I guess, hidden.rereplace() is enough if you keep the text from editor and hidden in sync.
                  The replace function gets a match object which contains the position of the text to be replaced so from the replace function you could start the dialog, or?

                  Alan KilbornA 1 條回覆 最後回覆 回覆 引用 2
                  • Alan KilbornA
                    Alan Kilborn @Ekopalypse
                    最後由 編輯

                    @Ekopalypse

                    No, I’m not trying to “parallel” the text in the real editor and the hidden. If I set as the hidden editor’s entire text the match from the search, doing the replace on that guarantees the replace will succeed and the entire text left in the hidden editor’s buffer will be the replacement preview text. Long to explain but it seems to work.

                    1 條回覆 最後回覆 回覆 引用 3
                    • 第一個貼文
                      最後的貼文
                    The Community of users of the Notepad++ text editor.
                    Powered by NodeBB | Contributors