notepad-plus-plus/lexilla
Christian Grasser a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
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
2022-03-27 17:12:53 +02:00
..
.github/workflows Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
access Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
bin Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
doc Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
examples Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
include Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
lexers Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
lexlib Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
scripts Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
src Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
test Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
.gitattributes Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
.gitignore Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
.travis.yml Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
CONTRIBUTING Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
License.txt Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
README Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
cppcheck.suppress Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
delbin.bat Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
tgzsrc Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
version.txt Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
zipsrc.bat Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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