magik-tools-0.11.0 released
August 31, 2025 SonarQube static code analysis magik-language-server magik-debug-adapter
Magik tools 0.11.0 has been released! This release includes many fixes, a few new checks, extended existing functionality, and added new functionality.
The following new checks have been added:
nesting-depth-checkto test where too many constructs (method/procedure/if-statement/loop-statement/…) are nested too deeply.file-must-start-with-package-statementto test if a file starts with a_package-statement.method-is-public-typed-checkto test if a called method is public (note that this is a typed check).missing-pragmato test if a exemplar, method, …, has a pragma definition.pragma-invalid-classify-level-check,pragma-invalid-usage-checkto test if the classify level and usage are correct.
Furthermore, the magik-typed-lint is introduced to check magik typing using a CLI, which can be used during CI.
To have a better terminal/console, the magik-session-wrapper can be used to wrap a Magik running image/session, providing a better experience. This allows for, among other things:
- Many of the standard keyboard shortcuts found in your regular terminal, such as ctrl-r to search a previous command.
- (Colored) syntax highlighting of the Magik you write on the terminal.
- Syntax error reporting.
The formatting code has been completely rewritten, making it easier to maintain and allowing for more future expansions such as construct formatting. The indenter can be configured using the magik.formatting.indentStrategy, which can have values null (no automatic indenting) and relative (relative to the current context indenting).
Also, the default Sonar way profile has been extended with some of the checks. Be sure to review any changes when installing the Magik Sonar plugin.
Last but not least, some of the other fixes:
- Fix Magik grammar not supporting special characters like
ß. - Add
.sys!perform(),.sys!perform_iter(),.sys!slot(),.sys!slot()<<, and.sys!slot()^<<toforbidden-call-check. - Fix not indexing
module.deffiles. - Set default value for
whitelistin VariableNamingCheck tox,y,z,id. - Fix method completions by removing
_gatherand_optionalkeywords.
The full list of changes can be found in the change log. Be sure to report any problems you have in the magik-tools issue tracker.