Input format¶
Each source file is interpreted as a sequence of Unicode characters encoded in UTF-8.
Info
The order in which files are passed to the compiler is not important. Though, passing the same file multiple times is treated as an error.
Special-character behaviour¶
Any usage of control characters within source code is permitted, except for Carriage return (U+000D) and Line feed (U+000A). Usage of the Null (U+0000) character is forbidden by the standard. The compiler behaviour is undefined.
Line endings¶
The language treats invisible line-ending characters as trivia, except for multiline string literals.
Only allowed line ending character sequences:
U+000A- line feed.U+000D+U+000A- carriage return followed by line feed.
Handling any other line ending character sequence is not guaranteed.
Tab width¶
By default, the compiler decides the Tab (U+0009) character width as 4 characters long.
You can override this by setting the tab_width or indent_size property in your .editorconfig file