Feature/proper walrus#19
Merged
Merged
Conversation
- 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
updates