A standard Sysl source formatting tool is on our roadmap, which should address some of these points automatically. However it is unlikely that there will ever be exactly one right way to format everything.
#Tags and Annotations
An annotation can be added to the same line as its subject, or (following a
:) the following line with an indent. Decide as follows:
- Tags: same line
App [~db]: !table Foo: bar <: string [~pk]
- Short, technical annotations (relating directly to technical aspects of their subject): same line
App: !table Foo: bar <: string? [default="baz"]
- Everything else: separate line
App: @package = "io.sysl" !table Foo: bar <: string? @displayName = "Bar"
- Multiline annotations (where line breaks are expected, even if not yet present): separate line, multiline format
App: @description =: | A short summary of the application. | | A longer description that can span across multiple | lines. !table Foo: bar <: string @description =: | Contains the bar.