Highlighting matching brace in the attached Perl file is wrong. See the attached image. Reproducible: Always
Created attachment 99743 [details] Screenshot with a bug
Created attachment 99744 [details] A Perl file
Confirmed. Arch Linux 64-bit Kate 16.04.2 KDE Frameworks 5.23.0 Qt 5.7 xcb wm
reproducable with current hl file.
Git commit d0c698198ec8abc2245ee3d2ab38eabf8f62f444 by Nibaldo González. Committed on 10/09/2018 at 08:19. Pushed by ngonzalez into branch 'master'. Perl: fix brackets, variables, string references and others Summary: ### Fix incorrect bracket closures in RegExp patterns Related: bug 348765, bug 355300, bug 391577 Recursive subgroups are added inside brackets `{}` and `()`, to avoid incorrect closures in RegExp patterns. This correction is in accordance with other text editors (VS Code, Atom, gedit & Sublime Text), which highlight the RegExp patterns in that way. {F6247870} ### Allow strings as scalar references Previously, the characters `"` and `'` were escaped, which caused an erroneous highlight when using references such as `\'string'` (see ref. [1] and [2]). {F6247874} ### Fix incorrect highlighting of variables that start with underscores This error was caused by the order of the RegExpr rules to detect variables: `[@\$][\+\-_]` had priority over `\$[#_][\w_]` (`$_` is a special variable) (ref. [3] & [4]). {F6247872} ### Fix incorrect highlighting of characters in variables Previously, characters such as `()[]}` were highlighted after `*` in some variables, such as `@*)`, causing incorrect closures of brackets. {F6247871} ### Other fixes: * Add variables with carret, such as: `${^Foo}` or `$^V` (ref. [3]). * Add special variables: `%+`, `%-`, `%!` & `%^H` (ref. [3]). * Missing escapes are added, such as `\x{NN..}`, `\o{NN..}` (full list in ref. [5]). **References:** * [1] Perl References: https://gist.github.com/afair/2402068 * [2] PerlMonks. Constant string reference: https://www.perlmonks.org/?node_id=413500 * [3] Perl Programming Documentation. perlvar: https://perldoc.perl.org/perlvar.html * [4] PerlMonks. Perl Special Variables Quick Reference: https://www.perlmonks.org/?node_id=353259 * [5] Perl Programming Documentation. perlrebackslash: https://perldoc.perl.org/perlrebackslash.html FIXED-IN: 5.51.0 Reviewers: cullmann, dhaumann, #framework_syntax_highlighting Reviewed By: cullmann, #framework_syntax_highlighting Subscribers: kwrite-devel, kde-frameworks-devel Tags: #kate, #frameworks Differential Revision: https://phabricator.kde.org/D15397 M +20 -0 autotests/folding/highlight.pl.fold M +20 -0 autotests/html/highlight.pl.html M +20 -0 autotests/input/highlight.pl M +20 -0 autotests/reference/highlight.pl.ref M +58 -13 data/syntax/perl.xml https://commits.kde.org/syntax-highlighting/d0c698198ec8abc2245ee3d2ab38eabf8f62f444