Comma

The latest Comma Community release is 2021.10.0. Want more frequent updates and more features? Consider buying a Comma Complete subscription.

Comma IDE

The standalone Comma IDE.

Windows

Linux

MacOS

Comma IDEA Plugin

The Comma Raku (Perl 6) Plugin for use with other IDEA-platform IDEs, such as JetBrains IntelliJ. The plugin download is cross-platform.

Plugin

First time with Comma? See the installation instructions.

Changes in this release
  • Warn about most cases of duplicate declarations for packages, routines and variables
  • Make the debugger more stable: avoid excessive triggering of the same breakpoint, fix a bug in stepping, and prevent some other issues (also depends on fixes released in Rakudo 2021.10)
  • Properly resolve modules from different directories marked as `Source Root`. Marking or unmarking a directory now triggers re-calculation of module accessibility without a need to restart the IDE
  • Auto-complete for Pod directives such as `=begin` and `=head1`
  • Detect more cases of bogus assignment to a constant or to a literal
  • Suggest Raku package managers found from user's `PATH` environment variable in the Project Settings dialog in Comma
  • Fix a false positive in the signature annotator
  • Fix a false positive in the call arguments annotator
  • Fix a bug in the intention converting a postfix condition to a block, which caused the caret to jump to the wrong place afterwards
  • Improve class line marker and grammar to action method navigation performance in larger projects
  • Add an integration with two Raku package managers: zef and Pakku. The corresponding package manager can be set in the Project Settings dialog and then used to detect which dependencies of a project are not installed, and trigger their installation from within the IDE
  • Add a tool for migrating from legacy Perl 6 extensions to Raku ones. By default, on project open it detects unambiguous Perl 6 extensions used in the project and suggests to update them. If the project is not mixed with Perl code, a more complete set of checks can be run from the Tools menu, to include ambiguous legacy extensions such as `t` or `pm`
  • Add an annotator to detect incorrect hyphen usage in a regex character class, and a quickfix for the case
  • Fix incorrect indentation of heredoc text blocks when formatting
  • Support method argument lists in the Cro template parser
  • Do not mark the special variables `$ยข` and `%_` as unknown in a regex declaration
  • Fix a bug where renaming a module with the `.rakudoc` extension would instead replace it with the `.pm6` legacy extension; now on module renaming the original extension is preserved
  • Improve performance during typing for large projects