terminice_core 0.0.9
terminice_core: ^0.0.9 copied to clipboard
Core functionality for the Terminice library, providing tools for building beautiful terminal-based applications.
0.0.9 #
- Centralized Theme System: Complete refactor separating styling into three composable concerns.
- Added
TerminalColorsclass with 9 built-in color palettes (dark, matrix, fire, pastel, ocean, monochrome, neon, arcane, phantom). - Added
TerminalGlyphsclass with 8 glyph presets (unicode, ascii, rounded, double, heavy, dotted, arcane, phantom, minimal). - Added
DisplayFeaturesclass with 6 display mode presets (standard, minimal, compact, verbose, clean, focus). - Moved
HintStyleenum toDisplayFeaturesfor centralized presentation control.
- Added
- PromptTheme refactored: Now composes
TerminalColors,TerminalGlyphs, andDisplayFeatures.- Added convenience getters delegating to each component for ergonomic access.
- Added
copyWith()for easy theme customization. - Added new built-in themes:
PromptTheme.minimal,PromptTheme.compact.
- Rendering components updated:
FrameView,LineBuilder,FramedLayout,FrameRenderer,TableRenderernow use the newtheme.glyphsandtheme.featuresaccessors.FrameView.hintStylenow defaults fromtheme.features.hintStylewith per-component override.FrameView.showConnectornow defaults fromtheme.features.showConnector.
0.0.8 #
- Terminal I/O Abstraction: Introduced a centralized, pluggable terminal I/O system.
- Added
Terminalabstract class withTerminalInputandTerminalOutputinterfaces. - Added
DartTerminalas the default implementation usingdart:iostdin/stdout. - Added
TerminalContextsingleton for global terminal access and replacement.
- Added
- Migrated all core components to use the new abstraction:
TerminalControlnow usesTerminalContext.input/outputfor mode management and cursor control.KeyEventReadernow reads throughTerminalContext.input.TerminalInfonow queries dimensions throughTerminalContext.output.RenderOutputnow writes throughTerminalContext.output.
- Testing support: External users can now inject custom
Terminalimplementations for testing or alternative environments. - Test utilities: Added comprehensive mock terminal implementations for testing:
MockTerminalwithMockTerminalInputandMockTerminalOutputfor full I/O simulation.SpyTerminalfor tracking method calls and verifying interactions.ErrorTerminalfor testing error handling scenarios.- Input queueing helpers for bytes, lines, and key events.
- Output capture with pattern matching and inspection helpers.
- Extensive test suite: 69 tests covering terminal interfaces, context switching, and integration.
- No behavior changes - all existing code continues to work unchanged.
0.0.7 #
- Reduced minimum dart sdk version to 2.17.0
- Enforced type safety with the new dart sdk.
- Migrated tuples and records to classes to support older versions of Dart.
- Explicitly named all libraries to support older versions of Dart.
- Removed workspace resolution to support older versions of Dart.
0.0.6 #
- Added the entire prompt toolkit (
SimplePrompt, selectable/searchable/ranked list prompts, grid selection, value prompts,DynamicListPrompt, andTextInputBuffer) to the public API. - Documented every prompt with production-grade dartdoc plus README excerpts so the new surfaces render cleanly on pub.flutter-io.cn.
- Clarified how the prompt module composes the existing navigation, rendering, and IO primitives to build higher-level interactions.
0.0.5 #
- Added the full rendering toolkit (
FrameView,FrameContext,FrameRenderer,FramedLayout,LineBuilder,TableRenderer,InlineStyle,HintFormat, syntax helpers) to the public API surface so prompts can share consistent terminal scaffolding. - Wrote production-grade DartDoc, diagrams, and inline examples for every renderer to ensure the new APIs render cleanly on pub.flutter-io.cn and meet documentation guidelines.
- Documented how the rendering pieces integrate with
PromptRunnerandKeyBindings, including connector lines, table helpers, and hint grids, so downstream packages know when to pick each component.
0.0.4 #
- Added style primitives (
PromptTheme,PromptStyle,BadgeTone,Themeable) so that prompts and downstream widgets can share consistent visuals. - Documented the new styling features with production-grade DartDoc for pub.flutter-io.cn.
- Ensured style exports remain available through
terminice_core.dart.
0.0.3 #
- Added navigation components (
FocusNavigator,ListNavigator,GridNavigator,SelectionController) to the public API surface. - Polished their DartDoc and improved in-tree examples for clear rendering on pub.flutter-io.cn.
- Documented the navigation toolkit in the
terminice_coreREADME.
0.0.2 #
- Added the complete
lib/src/iomodule (key events, bindings, terminal helpers). - Documented and exposed the IO utilities for downstream packages.
- Maintained new APIs through
terminice_core.dart. - Specified supported platforms in
pubspec.yaml.
0.0.1 #
- Initial listing on pub.flutter-io.cn.