. ++Insert++ .

Insert

. . x ++++foo++ bar++ .

x foo bar

. . x ++foo ++bar++++ .

x foo bar

. . x ++++foo++++ .

x foo

. . x +++foo+++ .

x +foo+

. Inserts have the same priority as emphases: . **++test**++ ++**test++** .

++test++

**test**

. Inserts have the same priority as emphases with respect to links: . [++link]()++ ++[link++]() .

++link++

++link++

. Inserts have the same priority as emphases with respect to backticks: . ++`code++` `++code`++ .

++code++

++code++

. Nested inserts: . ++foo ++bar++ baz++ .

foo bar baz

. Nested inserts with emphasis: . ++f **o ++o b++ a** r++ .

f o o b a r

. Should not have a whitespace between text and "++": . foo ++ bar ++ baz .

foo ++ bar ++ baz

. Newline should be considered a whitespace: . ++test ++ ++ test++ ++ test ++ .

++test ++

++ test++

++ test ++

. . x ++a ++foo+++++++++++bar++ b++ x ++a ++foo++++++++++++bar++ b++ .

x a foo+++bar b

x a foo++++bar b

. From CommonMark test suite, replacing `**` with our marker: . a++"foo"++ .

a++"foo"++

.