notepad-plus-plus/lexilla
Christian Grasser feb454ad6f Update scintilla 5.3.4 and lexilla 5.2.4 with:
https://www.scintilla.org/scintilla534.zip

    Released 8 March 2023.
    Add multithreaded wrap to significantly improve performance of wrapping large files.
    More typesafe bindings of *Full APIs in ScintillaCall. Feature #1477.
    Fix overlapping of text with line end wrap marker. Bug #2378.
    Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.
    Where a multi-byte character contains multiple styles, display each byte as a representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
    Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED handler retriggered an autocompletion list, but with no items that match the typed character.

lexilla523

    Released 8 March 2023.
    Add scripts/PromoteNew.bat script to promote .new files after checking.
    Makefile: Remove 1024-byte line length limit..
    Ruby: Add new lexical classes for % literals SCE_RB_STRING_W (%w non-interpolable string array), SCE_RB_STRING_I (%i non-interpolable symbol array), SCE_RB_STRING_QI (%I interpolable symbol array), and SCE_RB_STRING_QS (%s symbol). Issue #124.
    Ruby: Disambiguate %= which may be a quote or modulo assignment. Issue #124, Bug #1255, Bug #2182.
    Ruby: Fix additional fold level for single character in SCE_RB_STRING_QW. Issue #132.
    Ruby: Set SCE_RB_HERE_QQ for unquoted and double-quoted heredocs and SCE_RB_HERE_QX for backticks-quoted heredocs. Issue #134.
    Ruby: Recognise #{} inside SCE_RB_HERE_QQ and SCE_RB_HERE_QX. Issue #134.
    Ruby: Improve regex and heredoc recognition. Issue #136.
    Ruby: Highlight #@, #@@ and #$ style interpolation. Issue #140.
    Ruby: Fix folding for multiple heredocs started on one line. Fix folding when there is a space after heredoc opening delimiter. Issue #135.
    YAML: Remove 1024-byte line length limit.

https://www.scintilla.org/lexilla524.zip

    Released 13 March 2023.
    C++: Fix failure to recognize keywords containing upper case. Issue #149.
    GDScript: Support % and $ node paths. Issue #145, Pull request #146.

Close #13338
2023-03-13 21:06:09 +01:00
..
.github/workflows Update to Scintilla 5.3.2 and Lexilla 5.2.1 2022-12-15 13:11:17 +01:00
access Update to Scintilla 5.3.3 and Lexilla 5.2.2 2023-02-12 17:11:57 +01: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 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
examples Update to Scintilla 5.3.3 and Lexilla 5.2.2 2023-02-12 17:11:57 +01:00
include Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
lexers Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
lexlib Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
scripts Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
src Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
test Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
.gitattributes Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01: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 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
delbin.bat Update to Scintilla 5.3.2 and Lexilla 5.2.1 2022-12-15 13:11:17 +01: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 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00
zipsrc.bat Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00

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