NeomageMdParser class
Manages NEOMAGE.md file discovery, parsing, loading, and merging.
- Inheritance
-
- Object
- Listenable
- ListNotifier
- SintController
- NeomageMdParser
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- isDisposed → bool
-
no setterinherited
- listenersLength → int
-
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
addListener(
SintStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, SintStateUpdate listener) → Disposer -
inherited
-
clearMemoryFileCaches(
) → void - Clears the getMemoryFiles cache without firing hooks.
-
configure(
{String getOriginalCwd()?, String getNeomageConfigHomeDir()?, String getManagedNeomageMdPath()?, String getUserNeomageMdPath()?, String getManagedNeomageRulesDir()?, String getUserNeomageRulesDir()?, String? findGitRoot(String)?, String? findCanonicalGitRoot(String)?, bool pathInWorkingPath(String, String)?, bool isSettingSourceEnabled(String)?, List< String> getNeomageMdExcludes()?, void logForDebugging(String, {String? level})?, void logEvent(String, Map<String, dynamic> )?}) → void -
containsListener(
SintStateUpdate listener) → bool -
inherited
-
debounce<
T> (RxInterface< T> rx, void callback(T), {Duration duration = const Duration(milliseconds: 400)}) → void -
Calls
callbackafterrxstops changing forduration. Useful for search-as-you-type, form validation, etc.inherited -
dispose(
) → void -
inherited
-
ever<
T> (RxInterface< T> rx, void callback(T)) → void -
Calls
callbackevery timerxchanges. Auto-cancels on controller disposal.inherited -
getAllMemoryFilePaths(
List< MemoryFileInfo> files, {Set<String> ? readFileStatePaths}) → List<String> - Get all memory file paths from both standard discovery and readFileState.
-
getConditionalRulesForCwdLevelDirectory(
String dir, String targetPath, Set< String> processedPaths) → Future<List< MemoryFileInfo> > - Gets conditional rules for a CWD-level directory.
-
getExternalNeomageMdIncludes(
List< MemoryFileInfo> files) → List<ExternalNeomageMdInclude> - Gets external @include references.
-
getLargeMemoryFiles(
List< MemoryFileInfo> files) → List<MemoryFileInfo> - Returns memory files whose content exceeds the max character count.
-
getManagedAndUserConditionalRules(
String targetPath, Set< String> processedPaths) → Future<List< MemoryFileInfo> > - Gets managed and user conditional rules that match the target path.
-
getMemoryFiles(
{bool forceIncludeExternal = false}) → Future< List< MemoryFileInfo> > - Discovers and loads all memory files from managed, user, project, and local sources.
-
getMemoryFilesForNestedDirectory(
String dir, String targetPath, Set< String> processedPaths) → Future<List< MemoryFileInfo> > - Gets memory files for a single nested directory.
-
getNeomageMds(
List< MemoryFileInfo> memoryFiles, {bool filter(MemoryType type)?}) → String - Renders memory files into a single prompt string.
-
hasExternalNeomageMdIncludes(
List< MemoryFileInfo> files) → bool - Check if there are external @include references.
-
interval<
T> (RxInterface< T> rx, void callback(T), {Duration duration = const Duration(seconds: 1)}) → void -
Calls
callbackat most once perduration, ignoring intermediate changes. Useful for rate-limiting UI updates.inherited -
isMemoryFilePath(
String filePath) → bool - Check if a file path is a memory file.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
once<
T> (RxInterface< T> rx, void callback(T)) → void -
Calls
callbackonly the first timerxchanges, then cancels.inherited -
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
inherited
-
onDelete(
) → void -
inherited
-
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
onStart(
) → void -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclasses.
This method should be internal and is required to define the
lifetime cycle of the subclass.
inherited
-
processMdRules(
{required String rulesDir, required MemoryType type, required Set< String> processedPaths, required bool includeExternal, required bool conditionalRule, Set<String> ? visitedDirs}) → Future<List< MemoryFileInfo> > - Processes all .md files in a .neomage/rules/ directory and its subdirectories.
-
processMemoryFile(
String filePath, MemoryType type, Set< String> processedPaths, bool includeExternal, {int depth = 0, String? parent}) → Future<List< MemoryFileInfo> > - Recursively processes a memory file and all its @include references.
-
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
reportAdd(
VoidCallback disposer) → void -
inherited
-
reportRead(
) → void -
inherited
-
resetGetMemoryFilesCache(
{String reason = 'session_start'}) → void - Resets the cache and marks hooks as needing to fire.
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Notifies listeners to update the UI.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
parseMemoryFileContent(
String rawContent, String filePath, MemoryType type, {String? includeBasePath}) → ({List< String> includePaths, MemoryFileInfo? info}) - Parses raw memory file content into a MemoryFileInfo. Pure function -- no I/O.