Commit Graph

170 Commits

Author SHA1 Message Date
Aidan Woods
bfdd0f29bc
More specific annotation 2019-09-09 23:27:36 +01:00
Aidan Woods
5db3687892
$matches is guarenteed to contain data for the full pattern 2019-09-09 23:26:21 +01:00
Aidan Woods
54f7719a08
Force return type to T
It's currently not a planned feature to allow Psalm to understand
the type relationship of class-name => class-instance as the array
here is constructed.
Ref: https://github.com/vimeo/psalm/issues/1969
2019-07-25 19:16:28 +02:00
Aidan Woods
211a7eb5aa
Tables always acquire previous 2019-07-25 16:18:00 +02:00
Aidan Woods
37f306c3a8
Utilise constant arrays over static vars 2019-07-25 00:45:53 +02:00
Aidan Woods
ea55a9ffb0
Integer keys aren't necessary 2019-07-25 00:33:15 +02:00
Aidan Woods
34902bc80c
Account for type 7 HTML blocks
These differ from type 6 blocks in a few ways (other than the HTML
element names given in the spec).

1. Type 7 blocks cannot interrupt paragraphs
2. Type 7 block must contain ONLY whitespace on the rest of the
   line, whereas type 6 blocks need only be followed by whitespace
   after the tag name, or have the opening tag be complete.
2019-07-25 00:22:09 +02:00
Aidan Woods
7b1389b48b
More specific return type 2019-06-16 21:32:37 +01:00
Aidan Woods
9eb6a02334
Limit recursion depth by configurable
Fixes https://github.com/erusev/parsedown/issues/681
2019-04-07 17:34:40 +01:00
Aidan Woods
35d24d0b56
PHP < 7 patch 2019-04-07 16:38:46 +01:00
Aidan Woods
3f74fe8347
Port fix for https://github.com/erusev/parsedown/issues/699 into new
codebase
2019-04-07 16:38:46 +01:00
Aidan Woods
99525fdd76
Match GFM spec for extended autolinks
There is a small list of characters which may precede an autolink
2019-04-07 16:38:45 +01:00
Aidan Woods
33522f0aa4
Normalise link reference lookups
Ref: https://github.com/erusev/parsedown/pull/104
2019-04-07 16:38:19 +01:00
Aidan Woods
4adbd0b8a7
Backtracking capable inlines better expressed by interface 2019-04-07 16:38:19 +01:00
Aidan Woods
4501a094db
Remove copy-pasto 2019-04-07 16:38:19 +01:00
Aidan Woods
4a215f33d4
Trim in renderer 2019-04-07 16:38:19 +01:00
Aidan Woods
3ccd64a9a1
Expand public API of Components
Ref: https://github.com/erusev/parsedown/issues/694
2019-04-07 16:38:19 +01:00
Aidan Woods
3c0b528d54
Constructor shouldn't be part of public API 2019-04-07 16:38:18 +01:00
Aidan Woods
f83ee87902
Make this pattern a bit more reusable 2019-04-07 16:38:18 +01:00
Aidan Woods
a396fccace
No contexts implies everything being appended is a blank line
(of which where is at least one).
2019-04-07 16:38:18 +01:00
Aidan Woods
4fb6ac31a5
Improve tests 2019-04-07 16:38:18 +01:00
Aidan Woods
c0792947a6
Remove unused methods 2019-04-07 16:38:17 +01:00
Aidan Woods
65450f47cd
Simplify 2019-04-07 16:38:17 +01:00
Aidan Woods
fc23ca5ef5
Remove more redundant checks 2019-04-07 16:38:17 +01:00
Aidan Woods
015e476f3e
Remove unused import 2019-04-07 16:38:17 +01:00
Aidan Woods
289b641a42
Remove inaccurate comment 2019-04-07 16:38:17 +01:00
Aidan Woods
147a87a4f3
These are self-explainitory 2019-04-07 16:38:16 +01:00
Aidan Woods
b90efc69ec
Ensure marker is properly contained in the Inline 2019-04-07 16:38:16 +01:00
Aidan Woods
30613b2430
Ensure $startPosition is positive 2019-04-07 16:38:16 +01:00
Aidan Woods
5ecfc42728
Early exit if found 2019-04-07 16:38:16 +01:00
Aidan Woods
3bb24c20a6
Assert marker is correct for hard and soft breaks 2019-04-07 16:38:16 +01:00
Aidan Woods
369aea5d8d
Collect State from continuable state updating block on advance 2019-04-07 16:38:15 +01:00
Aidan Woods
2b79d599fb
Require State to build and advance blocks 2019-04-07 16:38:15 +01:00
Aidan Woods
df703dcb0e
Missed one 2019-04-07 16:38:15 +01:00
Aidan Woods
36fac49ed8
Remove redundant checks
These don't appear to have a measurable positive impact on performance.
2019-04-07 16:38:15 +01:00
Aidan Woods
41fb6b0d43
Move url sanitisation out of Element class 2019-04-07 16:38:15 +01:00
Aidan Woods
a681cf631c
Acquisition capable blocks as an interface 2019-04-07 16:38:15 +01:00
Aidan Woods
c2973100e0
Fix whitespace trimming for soft and hard breaks 2019-04-07 16:38:14 +01:00
Aidan Woods
2efae741bb
Simplify expression 2019-04-07 16:38:14 +01:00
Aidan Woods
660c2e43a3
Paragraph would end itself and new one must start for header row to
exist
2019-04-07 16:38:13 +01:00
Aidan Woods
d9792bb12c
Ensure markers are checked when beginning blocks 2019-04-07 16:38:13 +01:00
Aidan Woods
08c40afc16
Test against HTML block endings 2019-04-07 16:38:13 +01:00
Aidan Woods
c310625b93
Length not necessary 2019-04-07 16:38:13 +01:00
Aidan Woods
54f2c4eb4c
Fix recovered spaces calculation 2019-04-07 16:38:12 +01:00
Aidan Woods
117912c373
Substr over indexing string 2019-04-07 16:38:12 +01:00
Aidan Woods
63a97a926b
Remove leftover hackyness 2019-04-07 16:38:12 +01:00
Aidan Woods
cb211a88a8
PHP < 7 compat 2019-04-07 16:38:12 +01:00
Aidan Woods
c49d40027f
Add StateBearer which can carry state 2019-04-07 16:38:11 +01:00
Aidan Woods
4dee1e9a55
Add convenience instance-based initialisers 2019-04-07 16:38:11 +01:00
Aidan Woods
dbc0efeec0
Require integer-keyed lists so that array_merge result is predictable 2019-04-07 16:38:11 +01:00