Ticket #257 (closed enhancement: fixed)

Opened 5 years ago

Last modified 3 years ago

Backport Scintilla Perl lexer for wxWidgets 2.8.10?

Reported by: hjansen Owned by: azawawi
Priority: major Milestone:
Component: External dependency Version: 0.27
Keywords: scintilla Cc: alexchorny@…

Description

wxWidgets 2.8.x only contains Scintilla 1.70 and the Perl lexer has improved significantly in later Scintilla versions (including support for features found in Perl 5.10).

But due to ABI compatibility concerns the wxWidgets folks are not willing to update Scintilla to a newer version in the 2.8 branch.

We _may_, however, be able to convince them to include a backported Perl lexer from Scintilla 1.77 in the wxStyledTextCtrl of Perl 2.8.10. (cf. http://lists.wxwidgets.org/pipermail/wx-dev/2009-February/111633.html and follow-ups).

Would be nice if anyone with better C++ knowledge than me could jump in and have a look.
It's rather urgent because the first release candidate for wxWidgets 2.8.10 is already out.

Change History

comment:1 Changed 5 years ago by chorny

  • Cc alexchorny@… added
  • Component changed from editor to External dependency

comment:2 Changed 3 years ago by zenogantner

related to #138

comment:3 Changed 3 years ago by zenogantner

  • Keywords scintilla added

comment:4 Changed 3 years ago by azawawi

  • Owner set to azawawi
  • Status changed from new to assigned

comment:5 Changed 3 years ago by azawawi

wxWidgets 2.9.1 and trunk has 2.03 so far. I searched for Perl lexer changes in scintilla history and here is what we will be getting when we upgrade to 2.20+

Release 2.20

Perl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at DATA, D and Z.

Release 1.78

Perl lexer fixes problem with string matching caused by line endings.

Release 1.77

Perl lexer update.

Release 1.76

Perl lexer handles defined-or operator "".

Release 1.75

Perl lexer enhanced for handling minus-prefixed barewords, underscores in numeric literals and vector/version strings, D and Z similar to END, subroutine prototypes as a new lexical class, formats and format blocks as new lexical classes, and '/' suffixed keywords and barewords.

Release 1.79

Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and subroutine prototype styling to not be correct.

Release 1.71

Perl lexer allows UTF-8 identifiers and has some other small improvements.

comment:6 Changed 3 years ago by azawawi

Initial version of Wx::Scintilla which works on Strawberry Perl now satisfies this bug. Once it is more stable (i.e. compiles to more platforms, has more tests, ..etc), I will turn it on via a Padre feature configuration parameter.

Thanks for your patience,
Ahmad M. Zawawi

comment:7 Changed 3 years ago by azawawi

  • Status changed from assigned to closed
  • Resolution set to fixed

Padre now loads Wx::Scintilla if it is installed and feature_wx_scintilla is true. Wx::Scintilla can be installed on Linux and win32.

Finally!
Fixed!!! :)

If you build it, will they come? :)

Thanks,
Ahmad M. Zawawi

Note: See TracTickets for help on using tickets.