Pansies icon indicating copy to clipboard operation
Pansies copied to clipboard

fix issues and complete TODOs

Open Donovoi opened this issue 3 months ago • 0 comments

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, and SetCursorPositionCommand, 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 ColorSpaceConfiguration for 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 Position class with serialization support via the new IPsMetadataSerializable interface, 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 RgbColor to centralize XTerm color initialization using SetXTermColor, 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.sln to organize and build the project more easily in Visual Studio.

Donovoi avatar Sep 29 '25 18:09 Donovoi