mirror of
https://github.com/xoofx/markdig.git
synced 2026-02-04 05:44:50 +00:00
[PR #531] [MERGED] A handful of codegen improvements #1097
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/xoofx/markdig/pull/531
Author: @MihaZupan
Created: 3/14/2021
Status: ✅ Merged
Merged: 3/15/2021
Merged by: @xoofx
Base:
master← Head:random-perf-3📝 Commits (9)
07467d6Add ICharIterator SkipChar and PeekChar6b1399bUse IsEmpty instead of Length == 0 or CurrentChar == '\0'4b7a4d2Optimize NewLine.Length()54e2514Avoid struct copies in StringLineGroupbd1dcd9Improve HtmlHelpereabfe74Avoid struct copy in Roundtrip CodeBlockRendererc964659Optimize Globalization StartsWithRtlCharacter check63fddf4Add quick range check in CharNormalizer6204095Remove static ctor from CharNormalizer📊 Changes
25 files changed (+1466 additions, -1442 deletions)
View changed files
📝
src/Markdig.Tests/TestHtmlHelper.cs(+2 -2)📝
src/Markdig.Tests/TestStringSliceList.cs(+28 -0)📝
src/Markdig/Extensions/Abbreviations/AbbreviationParser.cs(+1 -1)📝
src/Markdig/Extensions/GenericAttributes/GenericAttributesParser.cs(+2 -2)📝
src/Markdig/Extensions/Globalization/GlobalizationExtension.cs(+22 -5)📝
src/Markdig/Extensions/SmartyPants/SmartyPantsInlineParser.cs(+1 -1)📝
src/Markdig/Extensions/Tables/GridTableParser.cs(+7 -6)📝
src/Markdig/Extensions/Tables/PipeTableParser.cs(+1 -1)📝
src/Markdig/Extensions/Tables/TableHelper.cs(+2 -2)📝
src/Markdig/Extensions/TaskLists/TaskListInlineParser.cs(+1 -1)📝
src/Markdig/Helpers/CharHelper.cs(+0 -16)📝
src/Markdig/Helpers/CharNormalizer.cs(+1273 -1278)📝
src/Markdig/Helpers/HtmlHelper.cs(+41 -55)📝
src/Markdig/Helpers/ICharIterator.cs(+12 -1)📝
src/Markdig/Helpers/LinkHelper.cs(+16 -16)📝
src/Markdig/Helpers/Newline.cs(+12 -27)📝
src/Markdig/Helpers/StringLineGroup.cs(+17 -12)📝
src/Markdig/Helpers/StringSlice.cs(+12 -1)📝
src/Markdig/Parsers/BlockProcessor.cs(+1 -1)📝
src/Markdig/Parsers/HtmlBlockParser.cs(+1 -1)...and 5 more files
📄 Description
PeekChar()overload ofPeekChar(int)toICharIterator. This method was already present onStringSlice, but since it was missing on the interface, callers were often binding to the slower overloadSkipChartoICharIteratorCurrentCharacter == '\0'andLength == 0with fasterIsEmptychecksStringLineGroupNewLine.Length()to a bit operationHtmlHelperToUtf32iterator allocations in Globalization extension🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.