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
|