Skip to content

Releases: Ekopalypse/EnhanceAnyLexer

Adding an option that enables the use of the RGB color format

01 Nov 09:35
Compare
Choose a tag to compare

Allows users to use the RGB color format instead of the default BGR color format by setting the use_rgb_format configuration variable to 1.

Support for assigning IndicatorIDs through Notepad++

18 Oct 11:08
Compare
Choose a tag to compare

Support for assigning IndicatorIDs through Notepad++ (nppm_allocateindicator) and fallback to configured value in case of error.

v.1.3.0 Add support for plugin communication via NPPM_MSGTOPLUGIN

06 Oct 09:27
1993f87
Compare
Choose a tag to compare

Add support for plugin communication via NPPM_MSGTOPLUGIN.
For an example of a Python script, see the following:

import ctypes
from ctypes import wintypes
from Npp import editor, console

NPPM_MSGTOPLUGIN = 2071  # 1000 + 1024 + 47

class CommunicationInfo(ctypes.Structure):
    _fields_ = [
        ('internalMsg', wintypes.INT),
        ('srcModuleName', wintypes.LPCWSTR),
        ('info', ctypes.c_void_p),
    ]

user32 = ctypes.WinDLL('user32', use_last_error=True)

SendMessage = user32.SendMessageW
SendMessage.argtypes = [wintypes.HWND, wintypes.UINT, wintypes.WPARAM, wintypes.LPARAM]
SendMessage.restype = ctypes.c_ssize_t

FindWindow = user32.FindWindowW
FindWindow.argtypes = [wintypes.LPCWSTR, wintypes.LPCWSTR]
FindWindow.restype = wintypes.HWND

ci = CommunicationInfo()
ci.internalMsg = 1  # file saved message
ci.srcModuleName = u"PythonScript.dll"
ci.info = 0
destModuleName = ctypes.create_unicode_buffer("EnhanceAnyLexer.dll")

def on_error(msg):
    console.show()
    print('Error:', msg)

def main():


    npp_hwnd = FindWindow(u'Notepad++', None) # Only required if using PythonScript2, if using Python3 use notepad.hwnd instead
    if not npp_hwnd:  # This should never happen, but who knows ...
        on_error('The Notepad++ window was not found!!')
        return
    if not SendMessage(npp_hwnd, NPPM_MSGTOPLUGIN, ctypes.addressof(destModuleName), ctypes.addressof(ci)):
        # When we come here it usually means that the corresponding plugin was not found.
        on_error('Sending the file saved message to EnhanceAnyLexer plugin failed!!')
        return

main()

Introduce a per-regex whitelist option

23 Aug 11:31
Compare
Choose a tag to compare

Introducing an optional feature to define a whitelist for regular expressions to override the lexer styled text only for certain regexes.

Extend visual area

16 Aug 15:35
Compare
Choose a tag to compare

Define visible area by using smallest and greatest possible values returned

Revert optimization attempt

15 Aug 16:21
Compare
Choose a tag to compare
v.1.1.2

Revert optimization attempts

Fix issue that Npp hangs when using word wrap and match reports a position outside defined range.

15 Aug 06:02
Compare
Choose a tag to compare

Documentation update

10 Aug 06:10
Compare
Choose a tag to compare

Documentation update

Support scrolling inactive view

05 Aug 16:00
Compare
Choose a tag to compare
v.1.0.0

Support scrolling inactive view, code cleanup

v.0.5.0 beta

26 Jul 19:11
f77d460
Compare
Choose a tag to compare

Add a poor man regex linter functionality