Comma
Development of Comma has been discontinued. Find out more.
Comma Community Comma Complete
Syntax Highlighting
Rich and detailed Raku highlighting
Interpolation highlighting inside quoting constructs
Coverage of regex/grammar syntax
Light and dark themes included
Customization of highlighting themes
Editing Features
Smart indentation, recognizing hash/array literals
Smart-enter to complete common statements
Brace, bracket, and quote matching
AST-based selection (select whole program elements)
Code folding
Configurable code formatting
Move statement up/down
Comment/uncomment code
Spell-checking of comments
Highlighting of uses of the variable under cursor
Highlighting of uses of the sub under cursor
Authoring Support
Auto-completion of variables in scope
Auto-completion of sub calls
Auto-completion of private method calls
Auto-completion of method calls via. type inference
Auto-completion of module names in use statements
Display of expected parameters while typing call arguments
Indication of a wide range of syntax errors
Detection of use of undeclared variable
Detection of use of undeclared sub or private method
Automatic stubbing of undeclared private method
Detection of use of module not mentioned in META6.json dependencies
Automatic stubbing of a module from the use statement
Code analysis and warnings about many potential problems
Surround code with various constructs (conditionals, loops, etc.)
View documentation comments of types and routines within the project
View documentation comments of types and routines from dependencies
View documentation comments of builtin types and routines
View documentation comments of builtin operators
Code Navigation
Jump to a declaration in the current file
Jump to type anywhere in the project
Jump to routine anywhere in the project
Go to declaration from variable usages
Go to declaration from sub and private method calls
Go to declaration from method usages via. type inference
Go to related types (supertypes and subtypes)
Display of multi candidates when going to a multi definition
Navigable read-only view of the source code of dependencies
Find all usages of a variable
Find all usages of a sub or private method
Text search within the current file and across the project
Backtraces are linked to the file/line within the project
Back/forward navigation
Bookmarks
Refactoring
Automatic META6.json updates on module file create/rename/delete
Automatic update of use statements on module move/rename
Rename refactoring for variables
Rename refactoring for subroutines
Rename refactoring for private methods
Change package between class and role, updating is/does
Refactor post-statement control flow into block form
A range of other intentions providing code transformations
Extract expression to variable
Extract expression to sub
Extract statements to sub
Extract expression to method or private method
Extract statements to method or private method
Inline variable
Inline sub, method, or private method
Grammar development
Live view of grammar parse results
See attempted but failed rules in live view
Navigate between grammar rules and their action methods
Auto-completion of rule calls in grammars
Auto-completion of rule captures in surrounding code
Auto-completion of captures of related rule in action methods
Find all usages of a grammar rule
Indication of implicit sigspace in rules
Refactor non-capturing group to positional or named capture
Refactor positional capture to named capture
Rename refactoring for grammar rules
Rename refactoring for named captures
Extract to named rule refactor
Running and debugging
Run scripts within the IDE and see output
Run tests and view test results graphically
Set breakpoints and run under the debugger
Pause execution
View stack traces of all threads
View lexicals and dig into objects, arrays, and hashes
Summary view of some common built-in types
Step into, step over, step out
Integrated REPL
Test coverage
Run scripts and tests on MoarVM with coverage collection
Indication of covered lines alongside code
Coverage percentages indicated on project view
Profiling
Run scripts with the MoarVM profiler
Routine summary, sortable by call count, inclusive and exclusive time
Callee and caller information per routine
Per-thread callee graph
Cro Integration
Cro application project template
Cro run configuration, using .cro.yml settings
Go to Cro routes in Structure View
Cro routes indexed as symbols
Use timeline to understand Cro request processing
Syntax highlighting of Cro templates
Auto-complete and navigation to variables, subs and macros in Cro templates
Parameter information for subs and macros in Cro templates
IDEA Platform
Version control integration (Git, SVN, Mercurial)
HTML highlighting and editing support
JSON highlighting and editing support
XML highlighting and editing support
Markdown highlighting and editing support
Install IDEA platform plugins