Next version of Perl5 plugin for IntelliJ IDEA has been released:
Features & Improvements:
- Added icons for retina displays
- Implemented imports processing for subs with explicit code sigil.
- Implemented basic CodeStyle settings and basic formatter (use with care with version control). Need feedbacks.
- Implemented automatic heredoc closing marker insertion.
- Plugin now knows that use v5.12; # and above includes use strict;.
- Here-doc without injection now highlighted as an appropriate string
- Implemented auto-completion of defined package names in the strings content
- Implemented Run configuration settings
- Implemented use lib support
- Implemented package names resolution in the current directory
- Added stacktrace and files paths hyperlinks in consoles (doesn't include terminal)
- Implemented 'Create Perl5 Test' action and live templates for Test::More
- Implemented Code Folding settings for Perl entities (Default settings: imports, doc comments and method bodies being used too).
- Implemented exceptions reporting mechanism, by @VISTALL.
- Adjusted signature position according to last Perl5 changes (see perldoc).
- Improved sub and vars attributes lexing and parsing.
- Implemented parsing for bare glob operator like my @list = <some/path/*>
- Implemented support for empty here-doc markers
- Implemented proper block dereference parsing
- Significally improved nested code interpolation parsing (Onion parsing comparision)
- Implemented simple getters/setters generation
- Implemented simple constructor generation
Fixes:
- Significally increased re-parsing performance on code typing
- It's not possible anymore to start identifier with digit, like $123abc
- Hexadecimal and binary numbers with underscores now being parsed right.
- Fixed parsing problem for concatenation of string and fractional number.
- Fixed parsing for simple dereferences like $$array_ref[1].
- Added requirement for 14 platform, no more buggy usages in outdated products.
- Fixed and tested interactions with perl process.
- Typeglobs for built-ins are not annotated as unused anymore.
- Fixed package file creation in specialized IDEs.
- Here-doc end marker, pod and formats are not being indented on block tabbing.
- Here-doc end marker is not being indented on live-template insertion.
- Tricky use vars declarations now being handled correctly. use vars @SOMELIST still not working. Also fixed declaration of hashes, code refs and typeglobs.
- Fixed bug with tail LF in convert string to here-doc intention.
- Fixed bug with lookup elements caching for subs.
- Cleaned up extended regex parsing.
- Replacement part of extended regex /x is now parsed properly.
- Fixed bug with broken line splitting in other languages.
- Fixed bug with print OF <<EOM; parsing.
- Suppressed livetemplates inside a string
- Suppressed string to namespace resolution for top-level namespaces.
- Pod block now may starts with =cut.
- Fixed an error creating new file outside of the module.
- Implemented distinction of array index from characters group in regexes.
- Improved parser recovery before compound statements.
- Fixed scoping problem for if/elsif/else compound statement.
- Fixed autocompletion behaviour problem with global variables auto-completion with short main:: form.
- Fixed problems with packages refactoring.
- Fixed recovery after annotations.
- Fixed POSIX character group classes within regex with bracketed delimiters.
- Fixed single-argument grep and map parsing.
- Improved anon hash from code block distinction.
Special thanks to
- Eli Abramovitch (Booking.com)
- Mattias Björklund (Vizone)
Links
Bugreports and feature requests are always welcome!