b39ca37c3a
update to Scinitlla Release 5.3.5 (https://www.scintilla.org/scintilla535.zip) Released 31 May 2023. On Win32, implement IME context sensitivity with IMR_DOCUMENTFEED. Feature #1310. On Win32 remove dependence on MSIMG32.DLL by replacing AlphaBlend by GdiAlphaBlend. Bug #1923. On Qt, stop movement of IME candidate box. On Qt, report correct caret position within paragraph for IME retrieve surrounding text. On Qt for Cocoa, fix crash in entry of multi-character strings with IME. and Lexilla Release 5.2.5 (https://www.scintilla.org/lexilla525.zip) Released 31 May 2023. Add CharacterSetArray constructor without setBase initial argument for common case where this is setNone and the initialSet argument completely defines the characters. This shortens and clarifies use of CharacterSetArray. Bash: implement highlighting inside quoted elements and here-docs. Controlled with properties lexer.bash.styling.inside.string, lexer.bash.styling.inside.backticks, lexer.bash.styling.inside.parameter, and lexer.bash.styling.inside.heredoc. Issue #154, Issue #153, Feature #1033. Bash: add property lexer.bash.command.substitution to choose how to style command substitutions. 0 → SCE_SH_BACKTICKS; 1 → surrounding "$(" and ")" as operators and contents styled as bash code; 2 → use distinct styles (base style + 64) for contents. Choice (2) is a provisional feature and details may change before it is finalized. Issue #153. Bash: fix nesting of parameters (SCE_SH_PARAM) like ${var/$sub/"${rep}}"}. Issue #154. Bash: fix single character special parameters like $? by limiting style. Issue #154. Bash: treat "$$" as special parameter and end scalars before "$". Issue #154. Bash: treat "<<" in arithmetic contexts as left bitwise shift operator instead of here-doc. Issue #137. Batch: style SCE_BAT_AFTER_LABEL used for rest of line after label which is not executed. Issue #148. F#: Lex interpolated verbatim strings as verbatim. Issue #156. VB: allow multiline strings when lexer.vb.strings.multiline set. Issue #151. Close #13729 |
||
---|---|---|
.. | ||
.github/workflows | ||
access | ||
bin | ||
doc | ||
examples | ||
include | ||
lexers | ||
lexlib | ||
scripts | ||
src | ||
test | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING | ||
License.txt | ||
README | ||
cppcheck.suppress | ||
delbin.bat | ||
tgzsrc | ||
version.txt | ||
zipsrc.bat |
README
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