mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-04-08 17:15:37 +02:00
Update with https://www.scintilla.org/scintilla521.zip https://www.scintilla.org/lexilla515.zip - fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR - add workaround to enable lexer for searchResult commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer, added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer - corrected usage of ObjC lexer - removed unnecessary filter stuff - use own sections for scintilla and lexilla build targets and allow parallel builds - as libscilex is no longer existing, changed to libscintilla - adapt makefiles and cmake - use VS2019 - started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour - movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning - changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html - just commented out: SCI_LOADLEXERLIBRARY Fix #10504, close #11419
50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
README for Lexilla library.
|
|
|
|
The Lexilla library contains a set of lexers and folders that provides support for
|
|
programming, mark-up, and data languages for the Scintilla source code editing
|
|
component.
|
|
|
|
Lexilla is made available as both a shared library and static library.
|
|
The shared library is called liblexilla.so / liblexilla.dylib / lexilla.dll on Linux / macOS /
|
|
Windows.
|
|
The static library is called liblexilla.a when built with GCC or Clang and liblexilla.lib
|
|
when built with MSVC.
|
|
|
|
Lexilla is developed on Windows, Linux, and macOS and requires a C++17 compiler.
|
|
It may work on other Unix platforms like BSD but that is not a development focus.
|
|
MSVC 2019.4, GCC 9.0, Clang 9.0, and Apple Clang 11.0 are known to work.
|
|
|
|
MSVC is only available on Windows.
|
|
|
|
GCC and Clang work on Windows and Linux.
|
|
|
|
On macOS, only Apple Clang is available.
|
|
|
|
Lexilla requires some headers from Scintilla to build and expects a directory named
|
|
"scintilla" containing a copy of Scintilla 5+ to be a peer of the Lexilla top level
|
|
directory conventionally called "lexilla".
|
|
|
|
To use GCC, run lexilla/src/makefile:
|
|
make
|
|
|
|
To use Clang, run lexilla/test/makefile:
|
|
make CLANG=1
|
|
On macOS, CLANG is set automatically so this can just be
|
|
make
|
|
|
|
To use MSVC, run lexilla/test/lexilla.mak:
|
|
nmake -f lexilla.mak
|
|
|
|
To build a debugging version of the library, add DEBUG=1 to the command:
|
|
make DEBUG=1
|
|
|
|
The built libraries are copied into lexilla/bin.
|
|
|
|
Lexilla relies on a list of lexers from the lexilla/lexers directory. If any changes are
|
|
made to the set of lexers then source and build files can be regenerated with the
|
|
lexilla/scripts/LexillaGen.py script which requires Python 3 and is tested with 3.7+.
|
|
Unix:
|
|
python3 LexillaGen.py
|
|
Windows:
|
|
pyw LexillaGen.py
|