affogato_editor library

Classes

AffogatoButton
AffogatoButtonState
AffogatoCompletionsWidget
AffogatoDefaultRenderer
AffogatoDefaultSyntaxHighlighter
The default syntax highligher uses the HighlightJS equivalent in Dart, made possible by the re_highlight package.
AffogatoEditorFieldController<S, SyntaxHighlighter>
AffogatoEditorInstance
AffogatoEditorInstanceData
AffogatoEditorInstanceState
AffogatoEvents
AffogatoEvents forms the foundation of all communication and interaction in the Affogato Editor. It is how actions are executed and how state is observed. However, actions are not meant to be performed directly by adding events to streams in this class. Use the AffogatoAPI, which groups events into specific tasks, to perform actions safely. As for reading Stream events, while there is no issue with listening to streams from this class directly, it is preferred that the AffogatoAPI is used for that purpose as well, just because it clearly delineates different endpoints and for consistency.
AffogatoPerformanceConfigs
AffogatoStylingConfigs
AffogatoVFS
AffogatoVFSEntity
AffogatoWindow
AffogatoWindowState
AffogatoWorkspaceConfigs
AutoIndenterExtension
CompletionsController
ContextMenuRegion<T extends Record>
ContextMenuRegionState
EditingContext
EditorAction
EditorEvent
EDITOR AND DOCUMENT EVENTS ///
EditorInstanceClosedEvent
EditorInstanceEvent
EditorInstanceLoadedEvent
The instanceId gives the ID of the instance that was loaded, the paneId containing that instance, as well as the documentId being handled by the instance.
EditorInstanceRequestReloadEvent
EditorInstanceRequestToggleSearchOverlayEvent
EditorKeyEvent
EditorPane
An EditorPane corresponds to what VSCode calls the "EditorGroup".
EditorPaneState
Event
FileBrowserButton
FileBrowserButtonState
FileTab
FileTabBar
HorizontalPaneList
KeyboardShortcutsDispatcher
This class is responsible for detecting the start/end of keyboard shortcuts and for firing callbacks for registered shortcuts.
LayoutConfigs
LocalSearchAndReplaceController
This controller provides a method to control the animations and required show/dismiss operations to interact with the SearchAndReplaceWidget in an intra-file context (hence the Local prefix).
LocalSearchAndReplaceData
This object stores the state/data for the SearchAndReplaceWidget in an intra-file context.
LSPClient
The LSPClient provides a standardised interface to send messages to an LSP server and to react to responses received. In order to send notifications, any of the predefined send methods, prefixed with notify, can be used.
MultiplePaneList
PairMatcherExtension
PaneData
PaneInstance<T extends PaneInstanceData>
A widget that is to be placed inside an EditorPane needs to subclass this class. Note that this widget will only rebuild when any of the five properties, instanceId, editorTheme, workspaceConfigs, extensionsEngine, or width change, and never otherwise. In order to force a rebuild, define listeners on the various streams of AffogatoEvents in the the associated State object's State.initState, and call State.setState from there.
PaneInstanceData
PaneLayoutCellWidget
The widget responsible for laying out and sizing panes in the AffogatoWindow, based on the AffogatoWorkspaceConfigs.panesLayout. It also handles resizing and docking of drag-and-drop for PaneInstances.
PaneLayoutCellWidgetState
PaneList
PrimaryBar
PrimaryBarState
SearchAndReplaceWidget
SearchAndReplaceWidgetState
SetiUiIcons
Flutter icons SetiUiIcons Copyright (C) 2025 by original authors @ fluttericon.com, fontello.com This font was generated by FlutterIcon.com, which is derived from Fontello.
SinglePaneList
StatusBar
StatusBarState
VerticalPaneList
VFSDocumentChangedEvent
VFSDocumentEvent
originId can be any identifier to distinguish between different sources of a VFSDocumentEvent. Since some components read and write to the same stream, checking against the originId helps prevent infinite loops of responding to their own events.
VFSDocumentRequestChangeEvent
VFSEvent
FILE MANAGER EVENTS ///
VFSStructureChangedEvent
WindowClosedEvent
WindowEvent
WINDOW EVENTS ///
WindowInstanceDidSetActiveEvent
WindowInstanceDidUnsetActiveEvent
WindowInstanceEvent
WindowKeyboardEvent
WindowPaneCellLayoutChangedEvent
Indicates that a layout change has occurred and descendants of the cell given by cellId need to be rebuilt. Usually, the new constraints are computed and then a WindowPaneCellRequestReloadEvent is emitted.
WindowPaneCellRequestReloadEvent
Requests the PaneLayoutCellWidget given by cellId to reload itself and its descendants. Each pane cell listens to events from this stream that have their cellId. Once such an event is received, setState is called and that widget will then emit more such WindowPaneCellRequestReloadEvents, one for each cellId in its immediate children.
WindowPaneEvent
WindowPaneRequestReloadEvent
WindowRequestDocumentSetActiveEvent
WindowStartupFinishedEvent
This event is also a bind trigger, which means extensions can give this event's ID as a bind trigger in the AffogatoExtension.bindTriggers property

Mixins

PaneInstanceStateManager<T extends PaneInstanceData>
For State objects of PaneInstances. Call getData from initState, and also whenever the data object needs to be updated.

Extensions

StringUtils on String

Constants

iconsMap → const Map<String, (String, IconData, SetiIconColor)>

Typedefs

FileTabDragData = ({String instanceId, String paneId})
JSON = Map<String, Object?>