Navigation

    Community

    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    UDL: Suffix Mode

    Help wanted · · · – – – · · ·
    8
    54
    4231
    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.
    • Michael Miller31
      Michael Miller31 last edited by

      Thanks for putting the time into this!

      First, will this work on 64 bit N++?

      I had some trouble finding a version of Python Script that was compatible but I managed to find a beta version.

      also, I’m getting this error.

      Traceback (most recent call last):
      File “C:\Users\mmiller\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\create_strings.py”, line 4, in <module>
      import ctypes
      File “C:\Program Files\Notepad++\plugins\PythonScript\lib\ctypes_init_.py”, line 7, in <module>
      from _ctypes import Union, Structure, Array
      ImportError: No module named _ctypes

      Eko palypse 1 Reply Last reply Reply Quote 1
      • Eko palypse
        Eko palypse @Michael Miller31 last edited by

        Yes, as I’m using x64 version as well.
        Where did you download pythonscript plugin from?
        Why didn’t you use Plugin Manager?
        The official release channel for python script plugin is here.

        1 Reply Last reply Reply Quote 2
        • Michael Miller31
          Michael Miller31 last edited by

          I don’t have plugin manager so I went through http://docs.notepad-plus-plus.org/index.php?title=Plugin_Central .

          Thanks for dealing with my idiocy. Going through plugin manager worked perfectly. Is there any way I can donate for your time?

          Meta Chuh 1 Reply Last reply Reply Quote 4
          • Meta Chuh
            Meta Chuh @Michael Miller31 last edited by

            @Michael-Miller31

            Is there any way I can donate for your time?

            yes, we urgently need 5 macbook pro’s. 👍
            thanks in advance. 😂

            Eko palypse 1 Reply Last reply Reply Quote 0
            • Eko palypse
              Eko palypse last edited by

              Thank you very much for asking and yes there is one thing
              you could do if you like :-)
              It might sound strange but if you have or know a cooking recipe
              which is worth testing - I would appreciate.
              I know tastes are different so … :-)

              1 Reply Last reply Reply Quote 1
              • Eko palypse
                Eko palypse @Meta Chuh last edited by

                @Meta-Chuh

                REALLY - macbooks … NOWADAYS … :-D

                1 Reply Last reply Reply Quote 0
                • Michael Miller31
                  Michael Miller31 last edited by

                  I will get you a recipe when I get home from work. :-)

                  The macbooks will take some time. :-D

                  Eko palypse 1 Reply Last reply Reply Quote 2
                  • Michael Miller31
                    Michael Miller31 last edited by

                    https://imgur.com/a/GWRaqec @Eko-palypse here’s my favorite recipe for muffins. :-D

                    Thanks again for your help.

                    I also realized afterwards that there are a few internal functions that end with $ and don’t start with fn but I just modified the regex to take care of them.

                    Eko palypse Alan Kilborn 2 Replies Last reply Reply Quote 4
                    • Eko palypse
                      Eko palypse @Michael Miller31 last edited by

                      @Michael-Miller31

                      thank you thank you very much - very much appreciated - I LOVE MUFFINS (who doesn’t ?)
                      And also nice to see that you already made the script do what you want.
                      Have a nice day.

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

                        @Michael-Miller31

                        Much better to have an actual recipe than simply all the talk of “baking cookies” that goes on around here sometimes!

                        1 Reply Last reply Reply Quote 3
                        • Eko palypse
                          Eko palypse last edited by

                          Help, I need somebody help I need somebody heeeelllppp :-D

                          Meta Chuh 1 Reply Last reply Reply Quote 1
                          • Meta Chuh
                            Meta Chuh @Eko palypse last edited by

                            @Eko-palypse

                            yesterday … all my troubles seemed so far away :-D

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

                              I see the Beatles song lyrics references, but I’m unsure why Eko started it??

                              Eko palypse 1 Reply Last reply Reply Quote 0
                              • Eko palypse
                                Eko palypse @Michael Miller31 last edited by Eko palypse

                                @Michael-Miller31

                                I found a little bug in the script.
                                The area which needs to be styled is wrongly calculated if there are folded parts within this area.
                                Please replace, within the style function, this line
                                end_line = start_line + editor.linesOnScreen()
                                with that line
                                end_line = editor.docLineFromVisible(start_line + editor.linesOnScreen())

                                1 Reply Last reply Reply Quote 3
                                • Eko palypse
                                  Eko palypse @Alan Kilborn last edited by

                                  @Alan-Kilborn said:

                                  I see the Beatles song lyrics references, but I’m unsure why Eko started it??

                                  because this was the first thing which came into my mind after reading your comment about Scott-Sumner’s baking cookie comments :-D

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

                                    Hello, @michael-miller31, @eko-palypse, @alan-kilborn, @meta-chuh and All,

                                    Eko, I’ve just tried your python script and it works fine :-))

                                    I was a bit intrigued by your regex and I wanted to test other syntaxes. But after a while, I understood that your just take care of group 1 and dismiss the solution fn[A-Za-z0-9_]+?\$ Don’t you ?

                                    I tested this other solution (\b(?!fn)\w+\$), with success ! Of course, we could get rid of the group 1 but I suppose that your script should be slightly modified !


                                    Secondly, I tried to build, from the michael’s picture and text, an equivalent UDL, what I named… EKO and after some tests I was surprised because, although I just missed to update the UDL name, in your script, as below :

                                                self.lexer_name = 'User Defined language file - EKO'
                                    

                                    Seemingly, it does not care about it ?! ( Just a comment : my BR Basic test file has no extension and I didn’t associate the EKO UDL to a specific extension )

                                    Cheers,

                                    guy038

                                    Eko palypse 1 Reply Last reply Reply Quote 3
                                    • Eko palypse
                                      Eko palypse @guy038 last edited by Eko palypse

                                      @guy038

                                      thanks for testing and sharing an alternative regex.
                                      Concerning the script, if you just run the script it will flag the current
                                      document being of interest.
                                      If you would open multiple UDL documents and switch between them,
                                      then you should see that those documents work only if the UDL name
                                      is the one configured in the script.

                                      1 Reply Last reply Reply Quote 1
                                      • Alexander Seidel
                                        Alexander Seidel last edited by

                                        Thanks for this great piece of code, Eko, I had a very similar problem, and simply changed the symbol and the color in the relevant line to fit my case.

                                        I was just wondering if you could help me with two additions, if it isn’t too much work to integrate:

                                        1. I have some cases where I don’t just want to change the color of the text, but also change the text from italic to non italic:
                                          int( —> int(
                                          Is this possible?

                                        2. In an ideal case, I would like comment lines to be excluded from this. In my case every line that start with, or contains # would have to be ignored by the python script.

                                        Thanks in advance, and have a nice day :)

                                        Ekopalypse 2 Replies Last reply Reply Quote 0
                                        • Ekopalypse
                                          Ekopalypse @Alexander Seidel last edited by

                                          @Alexander-Seidel

                                          I will follow up on this later today from at home as I’m finished with work today. YEAH :-D

                                          1 Reply Last reply Reply Quote 0
                                          • Ekopalypse
                                            Ekopalypse @Alexander Seidel last edited by

                                            @Alexander-Seidel

                                            Hi Alexander, concerning number 2 I would add

                                            self.excluded_styles = [1, 2]  # SCE_USER_STYLE_COMMENT=1  SCE_USER_STYLE_COMMENTLINE=2
                                            

                                            to the init function like

                                                    def __init__(self):
                                                        editor.callbackSync(self.on_updateui, [SCINTILLANOTIFICATION.UPDATEUI])
                                                        notepad.callback(self.on_langchanged, [NOTIFICATION.LANGCHANGED])
                                                        notepad.callback(self.on_bufferactivated, [NOTIFICATION.BUFFERACTIVATED])
                                                        self.excluded_styles = [1, 2]  # SCE_USER_STYLE_COMMENT=1  SCE_USER_STYLE_COMMENTLINE=2
                                                        self.__is_lexer_doc = False
                                                        self.lexer_name = None
                                                        self.npp_hwnd = user32.FindWindowW(u'Notepad++', None)
                                                        self.configure()
                                            

                                            and modify the if clause line in paint_it function to

                                            if (pos >= 0) and (editor.getStyleAt(pos) not in self.excluded_styles):
                                            

                                            that would skip painting if the matched position is in a comment line or block

                                            Regarding the first point, no, unfortunately scintilla doesn’t allow to modify
                                            the font attributes via an indicator other than the foreground color.
                                            But I’m confused why it is italic at all, in UDL you must have it set explicitly, didn’t you?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright © 2014 NodeBB Forums | Contributors