UDL: /* block comment in one line, error */



  • @Eko-palypse
    There were 2 problems.
    “\Notepad++\plugins\PythonScript.dll” instead of “\Notepad++\plugins\PythonScript\PythonScript.dll”. Wrong path packed in “PythonScript_Full_1.0.8.0.7z”.
    PythonScript is 32-bit and I had npp 64-bit.
    Solved.

    @Meta-Chuh
    I have saved the script under \Notepad++\plugins\Config\PythonScript\scripts. Initialization placed on ATSTARTUP. Click the script in the menu.
    Nothing. No red color to see. I have to learn python.
    self.lexer_name = ‘DSM_Sprache_gk_1902’ does not work too. This is the name of the imported language file.
    The configured toolbar icon is not displayed. Even the preview in “Toolbar Icons” is empty.
    With activated console and call from the menu

    Traceback (most recent call last):
      File "D:\Daten\PortableApps\Notepad++\plugins\Config\PythonScript\scripts\DSM_block-comment.py", line 10, in <module>
        EnhanceUDLLexer().main()
      File "D:\Daten\PortableApps\Notepad++\plugins\Config\PythonScript\scripts\DSM_block-comment.py", line 24, in __call__
        cls._instance = super(SingletonEnhanceUDLLexer, cls).__call__(*args, **kwargs)
      File "D:\Daten\PortableApps\Notepad++\plugins\Config\PythonScript\scripts\DSM_block-comment.py", line 117, in __init__
        self.configure()
      File "D:\Daten\PortableApps\Notepad++\plugins\Config\PythonScript\scripts\DSM_block-comment.py", line 70, in configure
        editor1.indicSetStyle(0, INDICATORSTYLE.TEXTFORE)
    AttributeError: type object 'INDICATORSTYLE' has no attribute 'TEXTFORE'
    

    And in PythonScript 1.0.8.0 documentation is missing TEXTFORE at INDICATORSTYLE



  • @Gerald-Kirchner said:

    PythonScript_Full_1.0.8.0.7

    overlooked this one, current version is 1.3

    error is most probably related to not having the current version installed.



  • I go to NPP -> ? -> Get More Plugins -> http://docs.notepad-plus-plus.org/index.php/Plugin_Central -> Python Script -> http://npppythonscript.sourceforge.net/download.shtml
    Latest Version 1.0.8.0
    No indication for newer versions. Please change the link to the newer version.

    Now with v1.3.0

    Traceback (most recent call last):
      File "D:\Daten\PortableApps\Notepad++\plugins\Config\PythonScript\scripts\DSM_block-comment.py", line 4, in <module>
        import ctypes
    ImportError: No module named ctypes


  • May I ask you which PythonScript package you installed?



  • It looks like the minimum package does not contain the ctypes module.
    I would propose to install the full package.



  • hi @Gerald-Kirchner @Eko-palypse @PeterJones and all,
    sorry i was offline for a while.

    here is the correct guide to install the latest 1.3.0.0 pythonscript on notepad++ according to your last debug info:

    Notepad++ v7.6.3 (64-bit)
    Build time : Jan 27 2019 - 17:16:47
    Path : D:\Daten\PortableApps\Notepad++\notepad++.exe
    Admin mode : OFF
    Local Conf mode : ON
    OS : Windows 10 (64-bit)
    Plugins : DSpellCheck.dll mimeTools.dll NppConverter.dll

    • download and extract PythonScript_Full_1.3.0.0_x64.zip from >>> here <<< (do not use any other release type except this zip).

    • copy PythonScript.dll from the plugins folder of this zip to:
      D:\Daten\PortableApps\Notepad++\plugins\PythonScript\PythonScript.dll

    • copy python27.dll to:
      D:\Daten\PortableApps\Notepad++\python27.dll

    • copy the folders scripts containing machine level scripts and lib containing python libraries, from the zip’s plugins\PythonScript folder to:
      D:\Daten\PortableApps\Notepad++\plugins\PythonScript\lib\
      D:\Daten\PortableApps\Notepad++\plugins\PythonScript\scripts\

    note: for a pythonscript installation guide on your installed notepad++ version, i would need another debug info of it, as it has to be adapted acordingly.



  • PythonScript_Min_1.3.0.0 changed to PythonScript_Full_1.3.0.0. I stay at 32-bit first.
    (Also in PythonScript_Full_1.3.0.0_x64.zip the PythonScript.dll is in the wrong folder.)

    Now it works for manual execution.
    Is there a way to automate that?
    “import DSM_block-comment” in startup.py not working
    It also does not work if I write the complete code to the end of startup.py (Initialization placed on ATSTARTUP).



  • @Gerald-Kirchner

    one more thing that might be helpful to you:
    to edit startup.py or any other script from the gui, instead of searching for it in an explorer window: go to plugins > python script > scripts and hold [ctrl] while clicking on a script.



  • @Gerald-Kirchner

    Also in PythonScript_Full_1.3.0.0_x64.zip the PythonScript.dll is in the wrong folder.

    yes, all pythonscript releases have the wrong (old) folders.
    that’s why we copy the files manually to their correct locations.

    Now it works for manual execution.
    Is there a way to automate that?

    i’m glad you’ve managed to get it running as an extra user script.
    i’ll have a look at why the auto startup does not work.



  • @Gerald-Kirchner

    Now it works for manual execution.
    Is there a way to automate that?
    “import DSM_block-comment” in startup.py not working
    It also does not work if I write the complete code to the end of startup.py (Initialization placed on ATSTARTUP).

    i’ve noticed, that 1.3.0.0 has startup.py disabled by default.
    please go to plugins > python script > configuration and recheck initialisation to ATSTARTUP instead of LAZY.

    (you have already done that, but just make sure)

    after you have done that, the script should work immediately on notepad++ startup, when added eg. below the last line of the original startup.py script, as you have correctly done before, unless startup.py itself is not visible at the plugins > python script > scripts dropdown menu. we then have to recheck where it has been copied to.


    easy way to check if startup works:
    paste :

    print "hello world"
    

    below the line:

    sys.stdout = console
    

    of a default startup.py.

    the text hello world should be visible when you open the python script console.



  • I recommend creating a new startup.py via the python script plugin menu New Script
    instead of using the default one, simply because the default one gets overwritten
    when a new version of python script gets installed.



  • I had to rename because “-” resulted in an error in the file name.
    In \Notepad++\plugins\Config\PythonScript\scripts\startup.py

    import DSM4COMblockComment
    

    and then in DSM4COMblockComment.py start the line

    print "hello DSM4COMblockComment"
    

    to. It is visible in console.
    Now, the coloring does not work manually anymore.

    After removing the print, works it.
    That would be done. Now I have to find a way to distribute this solution to my colleagues.
    But that is a new topic. Solved.



  • Regarding @Gerald-Kirchner’s 2019-02-16T22:54:10.388 post above,

    I go to NPP -> ? -> Get More Plugins -> http://docs.notepad-plus-plus.org/index.php/Plugin_Central

    It seems to me that the ? > Get More Plugins menu item is more dangerous than helpful, in Notepad++ v7.6.3 and beyond. I have thus submitted issue #5325 to either get the behavior of ? > Get More Plugins changed, or get that menu item removed.


Log in to reply