Pansies
Pansies copied to clipboard
fix issues and complete TODOs
This pull request introduces several new features and improvements to the Pansies codebase, focusing on enhanced color space configuration, cursor position management, PowerShell command capabilities, and codebase robustness. The most significant changes include new PowerShell cmdlets for cursor and variable management, thread-safe configuration for color spaces, and refactoring in the RgbColor class for better maintainability and reliability.
PowerShell Cmdlets
- Added new cmdlets:
ExpandVariableCommand,SaveCursorPositionCommand,RestoreCursorPositionCommand, andSetCursorPositionCommand, enabling advanced variable expansion and cursor control directly from PowerShell. (Source/Assembly/Commands/ExpandVariableCommand.cs[1]Source/Assembly/Commands/SaveCursorPosition.cs[2]Source/Assembly/Commands/RestoreCursorPosition.cs[3]Source/Assembly/Commands/SetCursorPosition.cs[4]
Color Space Configuration
- Introduced
ColorSpaceConfigurationfor thread-safe management of the XYZ color space white reference, including methods to get, set, and reset the reference. (Source/Assembly/ColorSpaceConfiguration.cs[1]Source/Assembly/ColorSpaces/Conversions/XyzConverter.cs[2]
Cursor Positioning and Metadata
- Implemented the
Positionclass with serialization support via the newIPsMetadataSerializableinterface, allowing cursor positions to be represented, serialized, and deserialized for PowerShell integration. (Source/Assembly/Position.cs[1]Source/Assembly/IPsMetadataSerializable.cs[2]
RgbColor Refactoring and Robustness
- Refactored
RgbColorto centralize XTerm color initialization usingSetXTermColor, improving maintainability and correctness. Added validation for XTerm index input and streamlined color mode assignment. (Source/Assembly/RgbColor.cs[1] [2] [3] [4] [5] [6]
Solution File Addition
- Added a new Visual Studio solution file
Pansies.slnto organize and build the project more easily in Visual Studio.