Skip to content

6.0

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Sep 01:52
· 78 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(),
    index lexer.indent_amount, or index lexer.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 to scintillua.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() and NameOfStyles() so editors can construct style map.
  • Replaced Lua theme files with SciTE properties files in themes/ for demonstration.
  • Renamed fold.* properties to fold.scintillua.*.
  • Added GetCreateLexerError() function for fetching CreateLexer() errors.
  • Replaced "token" concept with "tags".
  • Deprecated lexer.token() in favor of lexer.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 to lexer.starts_line().
  • Deprecated lexer.last_char_includes() in favor of lexer.after_set().
  • Removed lexer.NOTHING tag/token in favor of the existing lexer.DEFAULT.
  • Removed start_pos argument to lexer.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 and lexer.fold_consecutive_lines().