Comma

The latest Comma Community release is 2020.01.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
  • Migrate to the 2019.03 version of IntelliJ platform
  • Update the user interface to call the language Raku instead of Perl 6
  • Go to Related Symbol (Ctrl+Alt+Home on an action method name or a grammar rule name) now allows to jump from the grammar rule to the respective actions method and back. In an action method, the $/ variable now completes based on the rule's captures
  • In the Cro template language, resolution and completion of variables, calls and macros now works within a single file
  • Resolve and complete match variables resulting from regex application, including back-references within a regex
  • Improve documentation support: fix wrong documentation cases, properly display tables, update documentation cache
  • Make it possible to view documentation for operators: both the standard operator syntax (e.g. '+') and the function form (e.g. '&infix:<+>')
  • Provide integration with external libraries used. Now sources of externals are accessible in read-only files, support jumping from definition to usage and the other way around. The profiling tool window supports jumping to definition of external calls, and the debugger supports it as well, with stepping
  • Improve support of operator syntax. Now usages of both &[+] and &infix:<+>* will not be marked as undeclared anymore, while usage of missing operators will be marked as such
  • Add an intention for converting double quotes into single ones (removing interpolation) and the other way around (adding interpolation)
  • Add an intention to convert one-line control flow statements into blocks (e.g. 'say 42 if True' is converted into 'if True { say 42 }')
  • The annotation and quickfix for stubbing missing role methods in a class now considers the 'handles' trait
  • Support module usage syntax, named parameters and arguments in Cro template language
  • Resolution and auto-complete of subs and macros between Cro template files now works
  • Cro template language subs and macro are now indexed and available through the Navigate to Symbol feature
  • Cro template language symbols are now shown in Structure View
  • For Cro template language subs, parameter info (Ctrl+P) is now available
  • Improve the default color scheme for Cro template language files
  • Enable setting environment variables for a Test Run Configuration
  • Fix a parsing exception caused by a ; in an argument list
  • Fix a long standing parsing exception caused by >>.foo calls ambiguity.
  • Add a New Cro Template action
  • Fix different parser exceptions for Cro template language
  • Support the new <?$foo> and <!$foo> syntax added in the latest release of Cro::WebApp
  • An escaped # symbol is no longer misparsed in regex language
  • New file associations (.raku, .rakumod, .rakutest, .rakudoc) are suggested in the Windows installer
  • The undeclared symbol annotator will not run until the SETTING symbols are available, which makes it less noisy at the start
  • Fix data race in SETTING symbols loading, making it more stable
  • For 'unit'-scoped MAIN subroutines, the parameters are now resolved and completed properly
  • Improve recognizing file URLs as clickable links in console output
  • Don't perform bogus extract refactors on a variable or its type from a declaration or a parameter
  • Fix a race which could lead to an exception when closing a project shortly after starting the IDE
  • Fix an exception involving usage of the PsiViewer plugin
  • Fix an exception related to usage of an external module that does not exist
  • Do not mistakenly suggest to simplify a range with whatever star
  • Prevent a possible exception related to method completion.
  • Fix a parser exception triggered by typing a specific case of regexp syntax
  • Fix regex-based variables completion bug when some non-capturing assertions were suggested by mistake
  • Make sure changes to project structure related to directories made using the IDE are reflected in META6.json
  • Prevent a rare exception sometimes occuring on project closing
  • Fix a bug where an optional parameter with a trait was not recognized as being optional, and thus caused bogus parameter ordering annotations to be shown
  • Fix a bug of console input not being recognized by Run tab window