Pre-5.0 code

39 views
Skip to first unread message

Neil Hodgson

unread,
Nov 18, 2020, 5:12:47 PM11/18/20
to Scintilla mailing list, scite-i...@googlegroups.com
An initial version of splitting Lexilla out of Scintilla is available from the Scintilla site.

This version builds for all four platforms and runs most of the test and maintenance scripts. Most documentation has not been updated so far.

To allow this work to be reapplied if Scintilla changes, the primary copy of the changes, pre5splitsci1.zip contains a set of win32 batch scripts and patches. The scripts (transform_lexilla.bat, transform_scintilla.bat, and transform_scite.bat) clone from a particular revision in the hg repositories; perform a list of directory and file deletes and moves; then applies a set of patches. People that want to make changes to the splitting process may want to download this and it is also quite small at 90K. To run all the scripts there is transform_all.bat.

There is also a download of all the Lexilla, Scintilla, and SciTE source code as pre5scite1.zip.

Lexilla uses interfaces IDocument and ILexer* defined by Scintilla so Scintilla needs to be present in a sibling directory of lexilla called scintilla for Lexilla to build. Scintilla can be built without Lexilla being available. However, Scintilla’s tests (in test/simpleTests.py) have a soft dependency on Lexilla - if a Lexilla shared library can be found, some tests involving lexers will be run but they will be skipped if Lexilla can’t be loaded.

To avoid strong dependencies between Scintilla and Lexilla, two modules that are used in both, CharacterSet and CharacterCategory are duplicated. If these are changed then the change will be made to Scintilla then copied into Lexilla.

A new release of Scintilla and SciTE 4.4.6 with just a few high priority changes will be made soon. 4.4.6 will then become the base version for the splitting procedure. After 4.4.6 is released, the splitting procedure will be run, Lexilla will be converted to git, and the repositories pushed. A 5.0 release will be made after that. 5.0 will not be a stable release and is not meant to be widely used but will allow other people to contribute to the definition of the 5.x series. Other changes will be made, particularly to the platform interface before a stable 5.1 is produced.

If anyone wants to maintain a long-term stable 4.x release then 4.4.6 can also be the base for that.

https://www.scintilla.org/pre5splitsci1.zip
https://www.scintilla.org/pre5scite1.zip

Neil

Reply all
Reply to author
Forward
0 new messages