Skip to content

Feature/proper walrus#19

Merged
trackd merged 11 commits into
mainfrom
feature/proper-walrus
Sep 22, 2025
Merged

Feature/proper walrus#19
trackd merged 11 commits into
mainfrom
feature/proper-walrus

Conversation

@trackd
Copy link
Copy Markdown
Owner

@trackd trackd commented Sep 22, 2025

updates

trackd added 11 commits July 4, 2025 00:46
- Introduced a new file structure to enhance maintainability and clarity.
- Separated cmdlets, core processing, extensions, infrastructure, compatibility, exceptions, and helpers into distinct folders.
- Implemented single responsibility principle across files for easier navigation and modification.
- Improved separation of concerns, making it easier to understand the purpose of each component.
- Enhanced performance through centralized caching and object pooling in the Infrastructure folder.
- Maintained backward compatibility with existing public APIs and cmdlets.
- Added detailed documentation on the new structure, benefits, and migration guide for internal and external consumers.
…DebugInfo` array

* Changed the return type of `DebugTextMateTokens` from `TextMateDebug[]` to `Core.TokenDebugInfo[]`.
* Updated the implementation to directly process lines and collect debug information.
* Improved clarity and consistency in debug information handling.
* Introduced a new `MarkdigSpectreMarkdownRenderer` for rendering GitHub-style markdown.
* Added a toggle for using the new Markdig renderer in `MarkdownRenderer`.
* Updated project dependencies to include `Markdig.Signed`.
* Removed unused `Extensions.cs` file to streamline the codebase.
- Changed default theme from Dark to DarkPlus in DebugTextMateTokensCmdlet and ShowTextMateCmdlet.
- Enhanced MarkdigSpectreMarkdownRenderer to support additional Markdown features and improved theme handling.
- Introduced new MarkdigTextMateScopeMapper for better mapping of Markdown elements to TextMate scopes.
- Added support for rendering HTML blocks and task lists in Markdown.
- Implemented new methods in TokenProcessor for processing tokens without escaping markup in code blocks.
- Removed unnecessary object pooling for StringBuilder to simplify memory management.
- Updated tests to cover a wide range of Markdown features, ensuring comprehensive validation of rendering capabilities.
…nd image normalization

- Added ListRenderer to handle ordered, unordered, and task lists with proper styling.
- Introduced ParagraphRenderer for rendering paragraphs with inline images and text styling.
- Created QuoteRenderer to render quotes within a bordered panel.
- Developed TableRenderer for rendering markdown tables with headers and rows.
- Implemented ImageFile helper class to normalize image sources (file paths, URLs, base64) for SixelImage compatibility.
- Removed the existing OptimizedParagraphRenderer and OptimizedTableRenderer classes, consolidating their functionality into a new optimized approach that builds Spectre.Console objects directly, eliminating VT escaping issues and improving performance.
- Updated the ParagraphRenderer to utilize the new optimized rendering logic, enhancing inline element processing and styling.
- Refactored the TableRenderer to support optimized table rendering with proper theme color support and streamlined data extraction.
- Added a comprehensive test markdown file to validate rendering of various markdown elements, including code blocks, task lists, headers, paragraphs, tables, and edge cases.
…nline processing

* Refactored `ListRenderer` to utilize `ParagraphRenderer` for inline element processing, reducing code duplication.
* Updated `ParagraphRenderer` to support clickable username links and auto-links with appropriate styling.
* Improved handling of emphasis and link inline elements, ensuring better rendering and user experience.
…and enhance image file handling

- Updated `SubstringAtIndexes` method in `StringExtensions.cs` to use `ReadOnlySpan<char>` for improved performance.
- Deleted the `VTConversion.cs` file as it was no longer needed.
- Refactored `Completers.cs` and `ImageFile.cs` to use explicit variable types for better readability.
- Improved image handling logic in `ImageFile.cs` to ensure proper type usage and error handling.
- Added a new `VTParser` class to handle VT escape sequences efficiently, replacing the deleted `VTConversion.cs`.
* Enhanced the `Show-TextMate` cmdlet by adding an additional alias `Show-Code`.
* Updated `CmdletsToExport` in the module manifest to include new cmdlets for improved functionality.
* Modified list rendering logic to improve visual separation of nested content.
@trackd trackd merged commit 8c0b9c7 into main Sep 22, 2025
6 checks passed
@trackd trackd deleted the feature/proper-walrus branch September 22, 2025 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant