diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/kotlin/moe/nea/blog/md/ItalicsParser.kt | 7 | ||||
-rw-r--r-- | src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/main/kotlin/moe/nea/blog/md/ItalicsParser.kt b/src/main/kotlin/moe/nea/blog/md/ItalicsParser.kt index 6fce529..5448f5f 100644 --- a/src/main/kotlin/moe/nea/blog/md/ItalicsParser.kt +++ b/src/main/kotlin/moe/nea/blog/md/ItalicsParser.kt @@ -2,7 +2,7 @@ package moe.nea.blog.md object ItalicsParser : InlineParser { override fun detect(lookback: MarkdownFormat, rest: String): Boolean { - return (lookback is Whitespace || lookback is Begin) && "\\*+[^* ].*".toRegex().matches(rest) + return "\\*+[^* ].*".toRegex().matches(rest) } override val specialSyntax: Set<Char> @@ -43,7 +43,10 @@ object ItalicsParser : InlineParser { } // TODO: better begin - val (secondSequence, _remainingText) = parser.parseInlineTextUntil(remainingText, Begin()) { lookback, remaining -> + val (secondSequence, _remainingText) = parser.parseInlineTextUntil( + remainingText, + Begin() + ) { lookback, remaining -> lookback !is Whitespace && remaining.startsWith("*") } remainingText = _remainingText diff --git a/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt b/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt index dee92bd..01bd49e 100644 --- a/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt +++ b/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt @@ -15,6 +15,12 @@ class TestItalics : MarkdownTest() { } @Test + fun testBeginningInTheMiddleOfTheWord() { + assertInlineFormat("inoneword<i>italic</i>", "inoneword*italic*") + assertInlineFormat("<i>multiple</i>inoneword<i>italic</i>", "*multiple*inoneword*italic*") + } + + @Test fun otherMarkdownInItalics() { assertInlineFormat( "<i><link target=https://nea.moe><b>test</b></link></i>", |