mtots VSCode Extension
VSCode support for the mtots programming language
As of version
The type solver also supports:
More correct Union - Union assignability checks Bugfix with trait assignability checks
types are now checked when values are assigned to variables or fields.
Allow assigning to final fields inside
Support for keyword arguments
"Mtots: Run Mtots File" command to run an open file
F5 shortcut to run active Mtots file
Fix member completion when in middle of using a decorator
Hovering function calls will now show the actual value of default parameters
instead of just
Root path is determined relative to the mtots executable if one is found.
Fix minor race condition bug
Better goto-definition for module variables
Bugfix when resolving usage of qualified parameter types
Updated logic for finding modules (in particular,
Hover to get information about a field over the definition of the field (methods already could do this, but fields have been overlooked up to this point)
Untyped lists are shown as
Fixes hanging and out of memory issue due to an infinite loop in the parser.
Drop support for running this extension in the browser. Might be brought back at some point in the future, but it's quite a bit less convenient to debug, and I don't really have a use for this at the moment.
Support for decorator syntax
constexpressions can include constexpr variables from imported modules.
Another patch for the OOM issues with files that do not end in a newline. It seems this issue is still in the rewrite.
Large rewrite of the extension!
The parser and lexer are resued, but everything else, including the way the extension comes together, and the type solver have all been rewritten.
Short term fix for the hanging and crashing missing newline bug.
... But the issue still seems to persist.... Address this later at some point.
Web compatible - i.e. this extension should now be installable from vscode.dev
Parser errors are no longer fatal
NOTE: There is a performance bug that happens whenever any
Names that start with
Hover will now distinguish between whether the symbol usage appears in a value context or a type context.
Lambda expression syntax
Support for trait fields
Fix autocomplete bug
Support for the ternary conditional operator (i.e.
trait interface methods and fields bugfix
Fix placement of docs for variable (comes after type, rather than before)
Syntax highlighting for binary number literals
Variable documentation being placed above the declaration is no longer supported.
Variable documentation must now come after the name (or type annotation if present) and
Fix a bug in the type solver related to the
Bitwise operators for numbers
Iterable based on whether
Better hover comment for constructor calls
Support for adding documentation to fields.
Support for adding documentation to variables after the name.
Better goto-definition for imported modules and module members.
Minor bugfix where autocomplete wouldn't work when nested inside a function call with mismatched argument count
XXX A whole lot of things since 0.0.6 XXX
raise syntax and documentation for variables
Bugfix for when modules cannot be found.
Actual smart language features! Diagnostics, goto-definition, auto-completes based on variables in scope and members available for a given value; parameter hints.
Likely still lots of bugs that need to be squashed. Will address them as I use this extension and find them.
Properly color line comments
An extension is reborn~