6.0
github-actions
released this
27 Sep 01:52
·
80 commits
to default
since this release
Scintillua 6.0 (27 Sep 2022)
Download:
Bugfixes:
- Updated Ruby, C++, D, Gleam, Nim, and Verilog lexers to fix binary number parsing.
- Fixed
lexer.line_from_position()
for start positions after 1. - Fixed inability for standalone Lua library to use lexers that call
lexer.line_from_position()
,
indexlexer.indent_amount
, or indexlexer.line_state
. - Updated Bash lexer to improve heredoc handling.
Changes:
- Removed support for old legacy lexers.
- Rewrote Scintillua lexer to behave like a typical Scintilla lexer.
- Renamed to Scintillua from LexLPeg.
- Renamed
lpeg.home
library property toscintillua.lexers
. - Removed
lpeg.color.theme
library property CreateLexer()
is the only way to load lexers now; no more private call API.- Removed all styling capability. Applications are responsible for setting styles.
- Implemented ILexer5's
NamedStyles()
andNameOfStyles()
so editors can construct style map. - Replaced Lua theme files with SciTE properties files in themes/ for demonstration.
- Renamed
fold.*
properties tofold.scintillua.*
. - Added
GetCreateLexerError()
function for fetchingCreateLexer()
errors.
- Replaced "token" concept with "tags".
- Deprecated
lexer.token()
in favor oflexer.tag()
and made it an instance method. - Dropped 32-bit Windows DLL support.
- Removed
lexer.property_expanded
. - Compile a very minimal subset of Lua into Scintillua (no bit32, coroutine, debug, io, package,
or os libraries). - Applications can use their own keyword lists for lexers that support it.
- More restricted sandbox environment for lexers.
- All lexers created with
lexer.new()
have a default whitespace rule; deprecated
lexer.WHITESPACE
. - Child lexers can extend their parent's keyword lists.
- Added more builtin tag/token names.
- Updated Perl lexer to recognize more numbers.
- Updated Fennel lexer.
- Updated Python lexer to highlight class definitions.
- Updated Makefile, R, Fortran, and Go lexers.
- Added Hare and RPM spec lexers.
- Updated a number of lexers to use the new lexer format.
- Added
allow_indent
option tolexer.starts_line()
. - Deprecated
lexer.last_char_includes()
in favor oflexer.after_set()
. - Removed
lexer.NOTHING
tag/token in favor of the existinglexer.DEFAULT
. - Removed
start_pos
argument tolexer.fold()
. lexer.word_match()
can be used as an instance method for enabling users to set, replace, or
extend word lists.- Added
lexer.number_()
and friends for creating patterns that match numbers separated
by arbitrary characters. - Allow prefix to be optional in
lexer.to_eol()
. - Added "output" lexer for recognizing tool errors and warnings, similar to Lexilla's errorlist
lexer. - Added Gemini, git-rebase, and strace lexers.
- Added "scintillua.comment" property for lexers with comments so applications can use them.
- Updated lexer template.
- Refreshed light and dark color themes.
- Added lexer detection via SCI_PRIVATELEXERCALL or
lexer.detect()
to help clients
determine which lexers are associated with which filenames and content line patterns. - Updated AWK and Django lexers with updated keywords and functions/filters.
- Removed
fold.line.groups
property andlexer.fold_consecutive_lines()
.