-
-
Notifications
You must be signed in to change notification settings - Fork 0
Refactor: New extensible Markdown Parser #229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
…menting `IMdSyntaxNodeSerializer` and add associated `Syntax` regex properties.
…mize multiline parsing logic in `PushMultiLineMatchesToStack`.
…e` and `MdSyntaxTree`, update regex references, and standardize serializer naming.
Improved Markdown regex patterns for superscript, subscript, and underline to handle newlines and nested delimiters correctly. Simplified code block serialization logic to always add newlines for CRLF sequences and removed special handling for trailing newlines. Added test output and failure files for debugging.
…x` pattern, and optimize single-line match stack logic
…agmentStack` and ensure capacity for dynamic resizing.
…place `PushMatchToStack` with direct stack operations, and enhance memory efficiency with `ArrayPool`.
…ing unnecessary `foundMatch` variable and redundant conditions
…xNodePool<T>.Shared.Get()` for memory management consistency and add shared pooling utility
…redundant `Return(IMdSyntaxNode)` method in `MdSyntaxNodePool`
…o `IMdSyntaxNodeModifier` and `MdSyntaxNodeModifier` to streamline API usage and reduce extension overhead
…agmentStack` with new shared pool classes, remove redundant methods, and simplify memory management
…node count retrieval
…yntax node serializers for improved performance and maintainability
Replaces usage of constants for regex group names with string literals in BlockQuoteSyntaxNodeSerializer and BoldSyntaxNodeSerializer. Also removes the unused 'bold' named group from the bold regex pattern.
…lds from package-lock.json
…emoving unused group and constants
… simplify regex patterns in syntax node serializers
…ject structure and reduce maintenance overhead
…ty access for improved clarity and consistency across syntax node serializers
…sts for clarity and simplicity
…ate relevant serializers to optimize matching logic
…improving `TriggerCharacters` checks and line-handling logic
…ntax matching logic and improve performance
…al + trigger-based serializer handling
…imize serializer matching logic
…acity logic for better readability and performance
…h `Array.Empty<char>()` for improved clarity and performance
…s for improved readability and maintainability
Switched the benchmark runner in Program.cs to use IndividualMarkdownBenchmarks instead of MarkdownBenchmarks. Removed an unused using directive in InfiniMarkdownEditor.razor. Renamed parameters in IMdSyntaxFragmentStack interface methods for clarity.
… coverage and remove redundant benchmark methods. Extract mocks into dedicated classes for reusability.
…ogic, and helper methods to enhance benchmark coverage and performance.
…lic, and update mock service registrations for consistency and enhanced test coverage.
….md` for benchmark result documentation.
… 50 and 100 rows to improve benchmark coverage.
…ntStack` methods for clarity and maintainability
… management, and improve cache handling in `MdSyntaxTree` and related components
…`, update core logic, and add corresponding unit tests.
…ctor sibling navigation logic, and fix index calculation bugs.
The benchmark runner now executes IndividualMarkdownBenchmarks instead of MarkdownBenchmarks. This change likely aims to focus benchmarking on individual markdown scenarios for more granular performance analysis.
…formatting adjustments
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.
No description provided.