LangDescriptor class

A plain, isolate-sendable description of a CodeLanguage and the grammars it embeds.

Every field is a String, List<String>, List<GrammarCategory> (enums are sendable), or List<LangDescriptor>: no closures, so an instance copies cleanly across an isolate boundary.

Constructors

LangDescriptor({required String id, required String scopeName, required String displayName, required String json, List<String> aliases = const [], List<GrammarCategory> categories = const [], List<LangDescriptor> embedded = const []})
Creates a LangDescriptor; id, scopeName, displayName, and json are required, mirroring the required fields of CodeLanguage.
const

Properties

aliases → List<String>
Alternative names that resolve to this language (e.g. js -> javascript).
final
categories → List<GrammarCategory>
The grammar's classification (from tm-grammars, e.g. web, scripting). May be empty: not every grammar declares a category.
final
displayName → String
A human-readable name for the language, e.g. for use as a label in a language picker.
final
embedded → List<LangDescriptor>
The flattened grammars this language embeds, already expanded by flattenBundledLanguage (in place of CodeLanguage's lazy thunk, which can't cross an isolate boundary).
final
hashCode → int
The hash code for this object.
no setterinherited
id → String
The language id (e.g. dart, javascript).
final
json → String
The raw .tmLanguage.json grammar as a JSON string, parsed on load.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scopeName → String
The grammar's TextMate scope name (e.g. source.dart).
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited