Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Camelcade - Perl5 plugin for IntelliJ IDEA, v1.3 released

by hurricup (Pilgrim)
on Feb 01, 2016 at 16:20 UTC ( [id://1154192]=perlnews: print w/replies, xml ) Need Help??

Next version of Perl5 plugin for IntelliJ IDEA has been released:

Features & Improvements

  • Plugin once again compatible with IDEA 14 and 15
  • File level variables inspection. (Pretty useful while migrating from CGI to some persistent environment)
  • Autocompletion and Code Generation
    • Significally improved live templates and autocompletion.
    • Convert string to last used here-doc marker action added (also fixed conversion on multi-line strings)
    • Quote handler for regex and quote-like operators
    • Names suggestion for new subs/methods based on unresolved sub names in current file
    • Names suggestion for variables declarations based on unresolved variables in appropriate scope
    • Names suggestion for new subs/methods based on super-classes sub names
    • Dumb and comfy hash keys autocompletion, not intelligent, most like in Sublime Text
    • Override method action
  • Configuration
    • Self-object reference variable names are now configurable in Perl5 settings
    • Automatic language injection in here-doc is now configurable (on/off) in Perl5 settings
  • Code Style and Formatting
    • Spacing control for call arguments
    • Spaces removal around array index, hash index and dereference
    • Conversion ${$hasref}{key} to $hashref->{key} on pre-formatting
  • Navigation
    • Gutter navigation to super/sub classes
    • Gutter navigation to super/inner class methods

Perl extensions

  • Support for Switch core module
  • Support of Class::Acessor api
  • Moose
    • Live-templates for Moose constructions
    • Moose super call resolution
    • Moose inner call resolution
  • Exporter
    • Resolution for @EXPORT and @EXPORT_OK assigned strings
    • Auto-completion for @EXPORT and @EXPORT_OK assigned strings
    • Unresolved subs inspection now also check Exporter's arrays
  • Mason2
    • Filetypes for Mason2: top-level component, internal component and perl component
    • Lexing and parsing of Mason2 files
    • Configuration Settings to select Mason2 components roots
    • Components auto-basing
    • Folding of Mason2 files
    • Automatic close tag insertion on typing
    • Formatter and pre-formatter for perl code
    • Live-templates for Mason2 syntax constructions
  • Mojolicious
    • Parser has been re-written almost from scratch and now is much more appropriate
    • Fixed problem with statement modifiers parsing in expressions blocks
    • Fixed problems with templates folding
    • Automatic close tag insertion on typing (open tag + space)
    • Formatter and pre-formatter for perl code
  • Embedded Perl
    • Automatic close tag insertion on typing (open tag + space)
    • Formatter and pre-formatter for perl code

List of bugfixes may be found in release notes.

Links

Bugreports and feature requests are always welcome!

Replies are listed 'Best First'.
Re: Camelcade - Perl5 plugin for IntelliJ IDEA, v1.3 released
by RonW (Parson) on Feb 01, 2016 at 19:17 UTC

    Note that Switch has not been a core module since Perl 5.14.0

    There is feature switch, but that has been put back to "experimental" status along with the smart match operator. And there are several other "Switch" modules.

Re: Camelcade - Perl5 plugin for IntelliJ IDEA, v1.3 released
by choroba (Cardinal) on Feb 01, 2016 at 19:50 UTC
    Switch? It's a source filter no one should use anymore. There are Switch::Plain, Switcheroo, feature 'switch'...
    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

      It was a request from several users. So I've implemented it.

        To potentially wean people off using Switch, maybe you can offer "automatic refactoring", which replaces the construct by an if ... elsif ... chain. But I don't know how deeply your plugin integrates with the (parsed) Perl code or the IntelliJ linter to achieve that or a red squiggly line to mark Switch usage as "not recommended" :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlnews [id://1154192]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (2)
As of 2024-04-26 03:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found