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