ASAM OpenSCENARIO® DSL
osc-language-server helps developers write, understand and improve [ASAM OpenSCENARIO DSL] code by providing:
- live error checking while typing
- go-to-definition
- hover information
Setup
osc-language-server
server
The extension includes the osc-language-server
language server for both Windows and Ubuntu 20.04 x86-64.
This also includes a built-in version of the standard domain model library that is used by default, including:
- osc.standard (for backwards compatibility with version 2.0 of the language)
- osc.standard.types (for physical types and structures based on them)
- osc.standard.domain (for the domain model specific parts)
- osc.standard.all (both types and domain)
The linux version does currently not include the necessary external libraries, so you must ensure that some packages are installed in your system.
Those are:
- libjsoncpp1
- libantlr4-runtime4.8
- libboost-program-options1.71.0
You can install them with:
sudo apt update
sudo apt install libjsoncpp1 libantlr4-runtime4.8 libboost-program-options1.71.0
Features
Errors and warnings
Errors in the code are marked and shown while typing.
There are also some warnings that mostly notify about things that the language server understands, but are non-standard or things that are not fully supported yet.
Hover hints
The language server can describe most entities if you hover the mouse over them (or press Ctrl-KI).
It can show you information about types, fields, parameters, methods, namespaces and certain values.
Limitations and not-yet supported features
- Namespaces are only supported for types currently. Encountering other namespaced identifiers will not result in an error, but the namespace part will be ignored.
- Reexport (exporting identifiers from another namespace) is not supported.
- For constraints, the expression will be checked for evaluatabiliy, but beyond that, no checks are done.
- There is limited support for coverage
- remove_default is not supported
- escaped unicode character numbers with 16 oder 32 bits are not supported
- conditional inheritance is ignored
Bugs
If you've found a bug in this extension, please report it to rolf.magnus@akkodis.com
ASAM OpenSCENARIO® DSL is a registred trademark of ASAM e.V.