CodeEditorController class

Externalised state for CodeEditorInput.

Owned by the parent so widget rebuilds (route transitions, mode switches, hot reload) reuse the same controller instead of relying on a GlobalKey<State> to reach the editor's internals — which crashed the navigator with keyReservation.contains(key) whenever two chat screens overlapped during a transition on iOS.

Inheritance

Constructors

CodeEditorController({String initialLanguage = 'Python'})

Properties

codeController CodeController
The underlying syntax-highlighted controller, exposed so CodeEditorInput can wire it into a CodeField.
no setter
hasContent bool
no setter
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedLanguage String
no setter
text String
no setter

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
clear() → void
Clears the editor content.
dispose() → void
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
override
getFormattedCode() String
Returns the code wrapped in a markdown fenced code block with the selected language tag. Returns empty string if editor is empty.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
setLanguage(String language) → void
Switches the syntax-highlighting mode and notifies listeners so the dropdown rebuilds with the new selection.
toString() String
A string representation of this object.
inherited

Operators

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