Progress 4GL / ABL support for Notepad++ by Yuval Papish Usage 1. Download and install Notepad++ from SourceForge: http://notepad-plus-plus.org/download 2. Overwrite original files with the patch files (.\*.dll,.\*.xml, .\plugins\APIs\*.xml) 3. In the language menu choose "Postscript" for Progress 4GL Note: Under certain circumstances (multiple-installations, changes in N++ of default file locations, etc...) there is a need in additional step: 3b. Find other instances of stylers.xml and langs.xml on the local harddisk, and replace them with the package xml files *IMPORTANT* This software is complatibale with Notepad++ till 7.3.2. It would break from Notepad++ 7.3.3 and on. Details are in https://notepad-plus-plus.org/news/notepad-7.3.3-fix-cia-hacking-issue.html Change Log 15/09/16 (compared to 4GL_N++_6_9_2.7z): - Removing dead / bloated code per Neil Hodgson code review - Upgrading MinGW: mingwrt 3.21.1, w32api-3.18-1 - Updating compiler standard from c++11 to gnu++11 - Supporting single-line comments (with a separate style identifier) contributed by Matt G from PSC - Supporting abbreviated keywords contributed by Matt G from PSC - this is supported but not implemented. This feature allows to define language keywords using a compressed syntax, e.g.: char(acter, disp(lay, i(nt(eger, etc... - Fixing a stability issue of nested comments 18/06/16 (compared to 4GL_N++_6_8_8.7z): - Recompiled to Notepad++ 6.9.2, Scintilla 3.6.6 - Upgrading to GCC 4.9.3-1, binutils 2.25-1 - Upgrading Boost to ver 1.6.1 - Cleaning the code - Compilation is now against Notepad++ sources - Bug fixing (discovered by Darker): Named include parameters could have identified as preprocessor when scrolling down 01/04/16 (compared to 4GL_N++_6_6_7c.7z): - Recompiled to Notepad++ 6.8.8, Scintilla 3.5.6 - Upgrading Boost to ver 1.6.0 - Adding feature: OOABL support: catch, class, finish, method, try, using - Adding feature: ADM support: fn, fnarg - Clean unused styles codes - Adding feature: New style: TASK MARKER (SCE_ABL_TASKMARKER). Highlight the words ADD DELETE MODIFY TODO when found in comment (case sensitive) - Bug fixing: '&' as a continuation was not recognized as Preprocessor identification - Bug fixing: macro that uses keywords, e.g. {&end} are now handled correctly - Bug fixing: apostrophe style strings went endless when the last character was back-slash. e.g.: 'open-ended\' - "Marking" scilexer.dll, so version and description identify the 4GL patch - Adding *.model.xml files to the binaries distribution. - Technical and documentation improvements 31/01/15 (compared to 4GL_N++_6_6_7b.7z): - Converting the lexer to implement ILexer This improves the support in displaying the same document in multiple views - Updating stylers.xml - Adding RSS subscription to web site, via SourceForge - Downloads are now available only through SourceForge - Separate downloads for source and for binaries - Enhancing regex support with Boost (Ver 1.56). Based on the work of Francois R Boyer based on the work of Dave Brotherstone based on the work of Simon Steele - support UTF8 - support modern lookarounds - performance improvements - Removing the below lexer's limitations: - "end triggers" phrase was not handled as a folding point - "last-event:function" was handled as a folding point - Indefinite comment level depth - Improved compilation script - make.cmd options: make clean, make all, make "NOBOOST=1" - Compiling against Notepad++ sources, Scintilla 3.4.3 02/11/14 (compared to 4GL_N++_6_6_7.7z): - Adjustments to config.xml - Enhancements to src folder (which is the src package) - Updating to OpenEdge 11.3 keywords and auto-completion API Thanks to Landry Dubus for this contribution - Compilation is now done against the Scintilla sources, rather then Notepad++ sources - Updating contextMenu.xml to follow changes in Notepad++ menus 11/08/14 (compared to 4GL_N++_6_1_6_uni.zip): - Recompiled to Notepad++ 6.6.7, Scintilla 3.4.4 (3.3.4 used by Notepad++) - Upgrading to GCC 4.8.1-4, binutils 2.24-1, mingwrt 3.21.1 - Removing some new unreferenced lexers - Adding auto-completion API 8/3/13 - Updating documentation 17/9/12 (compared to 4GL_N++_5_9_3_uni.zip): - Recompiled to Notepad++ 6.1.7 UniCode, Scintilla 2.28 (2.27 used by Notepad++) - Upgrading to GCC 4.7.0-1, binutils-2.22-1 - Fixing a possible memory leak issue in some lexers 10/9/11 (compared to 4GL_N++_5_9_uni.zip): - Recompiled to Notepad++ 5.9.3 UniCode, Scintilla 2.28 (2.27 used by Notepad++) - Upgrading MinGW with mingwrt-3.20, binutils-2.21.53 - Removing some new unreferenced lexers 1/5/11 (compared to 4GL_N++_5_8_6_uni.zip): - Recompiled to Notepad++ 5.9 UniCode, Scintilla 2.25 - Fixing bug (discovered by Darker) of paired {} which weren't identified by the lexer as a pair - Upgrading MinGW with binutils-2.21-3, make-3.82-5, w32api-3.17-2 - Upgrading to GCC 4.5.2 26/12/2010 (compared to 4GL_N++_5_6_8N1_ansi.zip): - Recompiled to Notepad++ 5.8.6 UniCode, Scintilla 2.23 UniCode version is now used in order to support Function List plugin - Removing unreferenced lexers: Scintilla has much more lexers than Notepad++ - Upgrading MinGW with binutils-2.21-2, make-3.82-4, w32api-3.15-1 18/07/2010 4GL_N++_5_6_8N1_ansi.zip release (compared to 4GL_N++_5_6_8N_ansi.zip): - Changing behaviour of "}" character as a line termination, from {&abc} to {abc.i} 01/05/2010 4GL_N++_5_6_8N_ansi.zip release (compared to 5.6.8): - Recompiled to Notepad++ 5.6.8 with MinGW:GCC 4.5.0, mingwrt 3.18 - Upgrade to Scintilla 2.0.3 (from 2.0.1 used by Notepad++) - Linking SciLexer.dll with "g++ -shared" (instead of dllwrap) - Compiling directly from Windows (before: through MSys) - Adding namespace convention to LexUser.cxx,LexSearchResult.cxx - Changing behaviour of "}" character as a line termination, from {abc.i} to {&abc} the later option is more frequent and also can be workarounded by EOL after {abc.i} Thanks to Darker for pointing it out 11/03/2010 4GL_N++_5_6_8_ansi.zip release (compared to 5.6.3): - Recompiled to Notepad++ 5.6.8 with MinGW:GCC 4.4.0, mingwrt 3.18 - Adding Objective-C support 18/12/2009 4GL_N++_5_6_3_ansi.zip release (compared to 5.5.1): - Refreshed the manual - Added this change.log file - thanks to Darker - Recompiled to Notepad++ 5.6.3 with MinGW:GCC 4.4.0, mingwrt 3.17 - Adding keyword "trans" to langs.xml, Progress ("postscript") section, "instre1" list. 24/11/2009 4GL_N++_5_5_1_ansi.zip release (compared to 5.4.4): - Recompiled to Notepad++ 5.5.1 with MinGW:GCC 4.4.0, mingwrt 3.15.2 - allow comments inside preprocessor