notepad-plus-plus/lexilla
SnipUndercover 3f322faf62 Fix a crash in UDL
Fix infinite loop while lexing UDL multi-part keyword in prefix mode.

Fix #11434, close #11543
2022-05-01 02:07:19 +02:00
..
.github/workflows
access Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
bin
doc Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
examples
include
lexers Fix a crash in UDL 2022-05-01 02:07:19 +02:00
lexlib Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
scripts Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
src Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
test Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
.gitattributes Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
.gitignore
.travis.yml
CONTRIBUTING
License.txt
README
cppcheck.suppress
delbin.bat
tgzsrc
version.txt Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6 2022-04-28 23:27:54 +02:00
zipsrc.bat

README

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

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