fix $76 add support for enum constants highlighting and initial enum documentation

This commit is contained in:
sergeych committed 2025-12-05 00:30:32 +01:00
1 parent 84f2f8fac4
commit 65a7555e93
7 files changed
+120 -5

No files matched your search

+20
View File
@@ -66,6 +66,26 @@ You can use blocks in if statement, as expected:
limited
>>> 120.0
## Enums (quick intro)
Lyng supports simple enums for a fixed set of named constants. Declare with `enum Name { ... }` and use entries as `Name.ENTRY`.
enum Color {
RED, GREEN, BLUE
}
assert( Color.RED is Color )
assertEquals( 0, Color.RED.ordinal )
assertEquals( "BLUE", Color.BLUE.name )
// All entries as a list, in order:
assertEquals( [Color.RED, Color.GREEN, Color.BLUE], Color.entries )
// Lookup by name:
assertEquals( Color.GREEN, Color.valueOf("GREEN") )
For more details (usage patterns, `when` switching, serialization), see OOP notes: [Enums in detail](OOP.md#enums).
When putting multiple statments in the same line it is convenient and recommended to use `;`:
var from; var to