Commit Graph

439 Commits

Author SHA1 Message Date
Aidan Woods 0bd61a73ed Check that the current line is a list before starting a new one 2016-10-11 13:48:38 +01:00
Aidan Woods 06c4344a71 Contextual limits on indentation stripping 2016-10-11 13:38:47 +01:00
Aidan Woods c4d4a6800d (beginning to) improve commonmark compliance:lists
These changes aren't fit for merge, nor do they work correctly (yet)
2016-10-11 12:05:33 +01:00
Aidan Woods 3aef89b399 Line handler may prevent specified element nesting
Swap `under_scores` for `camelCasing`
2016-10-08 17:54:04 +01:00
Aidan Woods 5c22531e4d Allow parsedown to specify list start attribute
Syntax preferences
2016-10-05 18:27:54 +01:00
Aidan Woods 3978e33fd0 Allow parsedown to specify list start attribute
Remove github added tabs on blank lines
2016-10-05 18:17:12 +01:00
Aidan Woods a37797ef34 Allow parsedown to specify list start attribute
Syntax preferences to match surrounding code
2016-10-05 18:15:47 +01:00
Aidan Woods e3cd271f16 Allow parsedown to specify list start attribute
Performance: Swap preg_replace for stristr to obtain list start
2016-10-05 15:44:34 +01:00
Aidan Woods f0b7b61c16 Allow parsedown to specify list start attribute
Should fix compatibility for PHP 5.3
2016-10-05 11:36:27 +01:00
Aidan Woods ed41fcf3d6 Allow parsedown to specify list start attribute
oops
2016-10-05 10:06:40 +01:00
Aidan Woods 1fa8fae301 Allow parsedown to specify list start attribute
Readability improvements
2016-10-05 10:03:21 +01:00
Aidan Woods 543a6c4175 Line handler may prevent specified element nesting
Check if array is empty to shave some performance hits in the case than no non nestables are present.
2016-10-04 18:59:36 +01:00
Aidan Woods a81aedeb10 Line handler may prevent specified element nesting
Removed granularity controls – elements are assumed to be non nestable indefinitely once declared.
2016-10-04 15:27:11 +01:00
Aidan Woods 50952b3243 Line handler may prevent specified element nesting
This commit serves to add comments detailing parts of the new functionality, and to adjust syntax preferences to match that of the surrounding document. The commit title also now reflects the most significant change made.
2016-10-02 18:26:13 +01:00
Aidan Woods 4d3600f273 Extend disallowed assertion depth capabilities
I've built on the functionality of feature 1. in the previous commit to allow non nestables to be asserted indefinitely, or to a specified depth.
2016-10-02 17:37:08 +01:00
Aidan Woods d6d5f53ff4 Fix Issue #358 – preventing double nested links
1. Add the ability for a parsed element to enforce that the line handler not parse any (immediate) child elements of a specified type.
2. Use 1. to allow parsed Url elements to tell the line handler not to parse any child Links or Urls where they are immediate children.
2016-10-01 15:56:14 +01:00
Aidan Woods f17aa0438a Update Parsedown.php 2016-09-27 02:15:35 +01:00
Aidan Woods 38f4027d5e Update Parsedown.php
Okay, so maybe I should have looked 20 lines or so above where I made the edit in the element function – looks like it already supports adding attributes ;p
Have amended the change to blocklist to use the already existing functionality, and have reverted the change that I made to the element function.
2016-09-27 02:15:09 +01:00
Aidan Woods 2cee8d8a2d Update Parsedown.php
Looks like I might need to return the pattern which was used previously
Reverting last change as build still failed

This build will still fail, but I'm hoping it will only fair where the list start value has been inserted
2016-09-27 01:23:22 +01:00
Aidan Woods cceefafd55 test
Attempting to determine which function change is causing test jobs to fail (in unexpected ways)
2016-09-27 01:16:00 +01:00
Aidan Woods 1c58e9d8d5 oops
oops
2016-09-27 00:57:57 +01:00
Aidan Woods 2772b034c6 Update Parsedown.php
(I think this should work)
Allow parsedown to specify list start attribute (see: https://github.com/erusev/parsedown/issues/100#issuecomment-249729602)
2016-09-27 00:53:51 +01:00
pablotheissen 1a44cbd62c Update Parsedown.php
Made parsedown compatible with html-tags containing dashes.
see https://github.com/erusev/parsedown/issues/407#issuecomment-248833563
2016-09-22 12:21:39 +02:00
Emanuil Rusev 490a8f35a4 remove incompatible comment 2016-03-09 19:02:39 +02:00
Andy Miller e7443a2bd8 Fixed really sorry spelling errors 2015-12-18 20:45:14 -07:00
Andy Miller 10a7ff776c Left as-is 2015-12-17 10:48:21 -07:00
Andy Miller 5ad15b87fa Break out method_exists checks into extendable methods to allow for better pluggability 2015-12-17 10:46:44 -07:00
Andy Miller b166cab9a2 Make `lines` protected to allow for extendability 2015-12-17 10:46:04 -07:00
Jesse Donat e603c2378d Parsedown library shouldn't be executable 2015-10-20 15:16:36 -05:00
Emanuil Rusev 3ebbd730b5 1.6.0 2015-10-04 19:44:32 +03:00
Emanuil Rusev fa005fdb95 Merge pull request #336 from hkdobrev/late-static-binding
Use late static binding for Parsedown::instance()
2015-08-13 15:16:23 +03:00
Haralan Dobrev 5f40cab3e7 Use late static binding for Parsedown::instance()
Fixes erusev/parsedown-extra#67.

This introduces PHP 5.3+ late static binding to the Singleton pattern in Parsedown.
It will return an instance of Parsedown which inherits the class which
called the `instance()` method rather than always returning instance of just `Parsedown`.

Tests are testing this feature with a test class which inherits from Parsedown.
Notice that calling `instance()` with the default arguments after an instance of
`Parsedown` was already created, it will return it even though it is from just
an instance of `Parsedown`. So this is fixing the problem just partially.
2015-08-13 13:29:33 +03:00
Emanuil Rusev 0e89e3714b 1.5.4 2015-08-03 12:24:05 +03:00
Emanuil Rusev 6b24125f06 clean up 2015-07-31 17:01:14 +03:00
Emanuil Rusev a589bcac79 resolve #342 2015-07-31 01:33:21 +03:00
Emanuil Rusev a9dfc97ddc opening code fence doesn't need 2 regex groups 2015-07-16 16:57:13 +03:00
Emanuil Rusev ba802c1c8d replace the term "incomplete" 2015-07-02 01:01:14 +03:00
Emanuil Rusev 438874e9a8 improve line 2015-06-25 01:05:05 +03:00
Emanuil Rusev e2bb3eaaf8 clean up 2015-06-15 12:28:35 +03:00
Emanuil Rusev b9e5228e92 version 1.5.3 2015-04-29 23:22:24 +03:00
Gareth Evans 6736ba9a04 Fix check against $matches
Fixes inline reference links with int 0 as reference

The link [link][0] where [0] is set at the bottom of the md file current breaks and it's truthy value is false.
2015-04-20 16:24:11 +01:00
Jeff Standen b828fe7c8d Fixes #283 2015-02-03 13:58:47 -08:00
Niklas Keller cb8cc57742 Fixes #279 2015-02-02 00:58:24 +01:00
Emanuil Rusev 9da19c1108 version 1.5.1 2015-01-24 15:01:47 +02:00
Emanuil Rusev e94ecf4adc resolve #277 2015-01-24 14:21:55 +02:00
Emanuil Rusev 4d3079b908 resolve #274 2015-01-24 14:03:05 +02:00
Emanuil Rusev 648419467a clean up 2015-01-21 01:32:20 +02:00
Emanuil Rusev 6ddb6b2b33 resolve #90 2015-01-19 17:11:13 +02:00
Emanuil Rusev 0008e69a83 clean up 2015-01-19 17:09:51 +02:00
Emanuil Rusev c664785485 inline methods should be able to handle unmarked inline elements 2015-01-19 17:05:10 +02:00
Emanuil Rusev bdf0ef024e setter variables should not be private 2015-01-18 19:38:57 +02:00
Emanuil Rusev 21a3e8790a no need for a separate method for every special character 2015-01-16 03:57:47 +02:00
Emanuil Rusev e5e8d02934 improve order of methods 2015-01-16 03:18:07 +02:00
Emanuil Rusev 7ff0f97811 improve performance 2015-01-16 02:59:51 +02:00
Emanuil Rusev 596350d1f5 improve names of elements 2015-01-16 02:49:55 +02:00
Emanuil Rusev 2cbd3010e4 url elements should not be restricted to http 2015-01-16 02:31:58 +02:00
Emanuil Rusev 3b4aa6bff7 change the parsing order of tag elements to improve performance 2015-01-16 01:46:43 +02:00
Emanuil Rusev 05a8f16e95 improve CommonMark compliance 2015-01-16 01:44:35 +02:00
Emanuil Rusev 79d924040a improve CommonMark compliance 2015-01-16 01:24:02 +02:00
Emanuil Rusev b4a8eb3315 resolve #156 2015-01-16 00:04:18 +02:00
Emanuil Rusev 4383cce85b resolve #143 2015-01-15 22:31:31 +02:00
Emanuil Rusev ada39109e4 resolve #189 2015-01-15 22:04:02 +02:00
Emanuil Rusev a06cdfb814 improve fix for #184 2015-01-15 21:32:18 +02:00
Emanuil Rusev 6bee326c92 resolve #184 2015-01-15 21:10:09 +02:00
Emanuil Rusev f08d017bcb resolve #196 2015-01-15 02:45:45 +02:00
Emanuil Rusev e61a6114b0 resolve #175 2015-01-15 02:37:20 +02:00
Emanuil Rusev 9ed72ccd09 resolve #126 2015-01-15 02:24:39 +02:00
Emanuil Rusev 09e1184d9f resolve #265 2015-01-15 00:56:12 +02:00
Emanuil Rusev 0d28808392 void markup blocks be marked 2015-01-12 23:24:13 +02:00
Emanuil Rusev 78960cf792 improve formatting 2015-01-12 18:53:24 +02:00
Emanuil Rusev 8f2e9c7cf6 definitions are blocks
in the old implementation it wasn’t possible to have multiline
definitions
2015-01-12 18:52:17 +02:00
Emanuil Rusev 3eb6d349f0 "src" and "alt" attributes should come first 2015-01-12 02:58:08 +02:00
Emanuil Rusev 08b01a1a29 blocks should be able to return markup 2015-01-12 02:55:00 +02:00
Emanuil Rusev 1686b2fbff we no longer call inline elements spans 2015-01-12 02:55:00 +02:00
Emanuil Rusev 15a32fcd0e no need to know the structure of markup blocks 2015-01-12 02:55:00 +02:00
Emanuil Rusev 9f58363e4b Merge pull request #260 from rhukster/master
Fix for Parsedown stripping classes on images supported by ParsedownExtra
2015-01-11 14:50:08 +02:00
naNuke 05bf198d26 breaksEnabled fix 2015-01-11 06:12:01 +01:00
Andy Miller 30234a58fa No longer needed in this solution 2015-01-10 19:44:30 -07:00
Andy Miller 03ff22c7df Attempted fix for stripped classes on images with ParsedownExtra - re: https://github.com/erusev/parsedown-extra/issues/32 2015-01-10 19:40:39 -07:00
Emanuil Rusev e68a458105 improve consistency 2015-01-10 14:22:54 +02:00
Emanuil Rusev 06135cd75a improve CommonMark compliance 2015-01-10 02:45:51 +02:00
Emanuil Rusev dfacf7a71a add urlsLinked setter 2015-01-08 16:13:55 +02:00
Emanuil Rusev fd0d8125e7 introduce more structure to parsing of unmarked inlines 2015-01-08 15:19:43 +02:00
Emanuil Rusev b1be886d65 improve names of protected members 2015-01-05 15:05:18 +02:00
Emanuil Rusev 19bc6a7083 update variable names to match updated member names 2015-01-05 14:22:06 +02:00
Emanuil Rusev b5efe98e2f improve names of protected members 2015-01-05 14:22:06 +02:00
Emanuil Rusev 5639ef7d69 fix PHPDoc 2015-01-05 14:22:06 +02:00
Emanuil Rusev d29d879ec6 separate parsing of inlines that don't have markers to improve simplicity 2015-01-04 18:37:24 +02:00
Emanuil Rusev c9b4de3c9d resolve #253 2014-12-21 13:51:16 +02:00
Emanuil Rusev 38cc1ca7e0 resolve #251 2014-12-16 13:58:33 +02:00
Emanuil Rusev 23c4097fde restore support for PHP 5.2 2014-12-15 13:59:37 +02:00
Emanuil Rusev ac68800717 improve extensibility 2014-12-15 01:07:29 +02:00
Emanuil Rusev 361febf7c6 improve CommonMark compliance 2014-12-15 00:52:03 +02:00
Emanuil Rusev 7ab3c60a77 improve CommonMark compliance 2014-12-02 22:23:43 +02:00
Emanuil Rusev 495e7ac73b resolve #247 2014-11-29 04:29:14 +02:00
Emanuil Rusev 5bc6d90f8b resolve #248 2014-11-28 14:03:12 +02:00
Emanuil Rusev 9816507a75 markup should preserve empty lines 2014-11-19 20:18:56 +02:00
Emanuil Rusev da5d75e97e resolve #209 2014-10-29 22:29:46 +02:00
naNuke 68f3aea036 Ignore html comments as well with markupEscape option. 2014-10-10 19:07:25 +02:00
Emanuil Rusev f64c1387f8 fix indents 2014-09-22 02:52:45 +03:00
Emanuil Rusev 59c77e706b improve consistency 2014-09-22 02:36:42 +03:00
Haralan Dobrev 0a3fde3774 Add `noMarkup` option to escape user HTML
Resolves #106.

This change introduces a new option - `noMarkup`. You could set it the
`setNoMarkup()` method similar to the `setBreaksEnabled()` one.

Example usage:

``` php
<?php

$parsedown = new Parsedown();
$parsedown->setNoMarkup(true);
$parsedown->text('<div><strong>*Some text*</strong></div>');

// Outputs:
// <p>&lt;div>&lt;strong><em>Some text</em>&lts;/strong>&lt;/div></p>
```
2014-09-20 14:53:19 +03:00
Jannik Zschiesche 512cc1f065 Limit generated headlines to h6 2014-08-25 21:06:03 +02:00
Haralan Dobrev 1127681d56 Allow slashes in HTML attributes 2014-08-13 23:54:52 +03:00
Emanuil Rusev 1ae100beab improve comment 2014-05-17 17:37:17 +03:00
Emanuil Rusev 2da10d277b resolve #105 2014-05-14 13:14:49 +03:00
Emanuil Rusev 532b5ede35 resolve #129 2014-05-14 01:11:05 +03:00
Emanuil Rusev 2bd2f81f4f methods should not have more than one optional parameters 2014-05-12 16:18:00 +03:00
Emanuil Rusev e318e66de5 improve consistency 2014-05-12 00:41:00 +03:00
Emanuil Rusev 0820d0a607 paragraph doesn't have to use a type 2014-05-12 00:34:47 +03:00
Emanuil Rusev b8d1cfe91a improve extensibility 2014-05-11 22:31:02 +03:00
ScarWu 973d4a866d add array check 2014-05-11 23:36:01 +08:00
Emanuil Rusev d19c2b6942 improve names 2014-05-10 16:28:00 +03:00
Emanuil Rusev 4dde57451d fix consecutive reference links 2014-05-06 17:05:49 +03:00
Emanuil Rusev 44686c4f1e improve extensibility 2014-05-06 01:12:27 +03:00
Emanuil Rusev db02ecf259 "reference" is a definition 2014-05-05 14:43:31 +03:00
Emanuil Rusev aa004d4595 improve code organisation 2014-05-05 14:39:40 +03:00
Emanuil Rusev 1bb65457ed remove unnecessary comments 2014-05-05 13:46:26 +03:00
Emanuil Rusev 0c9a4af8ab improve naming consistency 2014-05-03 18:02:06 +03:00
Emanuil Rusev cc94c1b584 resolve #167 2014-05-02 18:21:10 +03:00
Emanuil Rusev e8d8801db4 resolve #135 2014-05-01 02:44:35 +03:00
Emanuil Rusev 521803cdcd resolve #136 2014-05-01 02:42:01 +03:00
Emanuil Rusev 0eb480324c resolve #145 2014-05-01 02:02:14 +03:00
Emanuil Rusev 7c78aff578 resolve #163 2014-05-01 01:47:14 +03:00
Emanuil Rusev 2a5f99547c resolve #162 2014-05-01 01:05:31 +03:00
Emanuil Rusev e373391e7d resolve #164 2014-05-01 00:29:21 +03:00
Emanuil Rusev 9fa415bcc5 resolve #160 2014-04-28 21:54:38 +03:00
Emanuil Rusev 83d3e3dbbf improve readability 2014-04-28 02:27:05 +03:00
Emanuil Rusev 307a987cb6 improve naming consistency 2014-04-28 02:14:46 +03:00
Emanuil Rusev eab3cbf255 remove unnecessary nesting 2014-04-28 02:10:18 +03:00
Emanuil Rusev cf7f32f891 definitions are not blocks 2014-04-27 01:54:52 +03:00
Emanuil Rusev 5e95242318 improve code consistency 2014-04-26 01:06:14 +03:00
Emanuil Rusev 4f027386b1 "complete" calls should be more consistent 2014-04-24 23:52:42 +03:00
Emanuil Rusev 6081954185 resolve #154 2014-04-18 00:19:22 +03:00
Emanuil Rusev d841003c65 fenced code blocks should respect indnetation 2014-04-17 23:09:10 +03:00
Emanuil Rusev f310bbe13f nested calls to lines should not reset reference definitions 2014-04-17 15:07:09 +03:00
Emanuil Rusev 2595f366d9 texts should not share reference definitions 2014-04-17 14:43:45 +03:00
Emanuil Rusev 5be4491943 make parser class more extensible 2014-04-17 10:59:35 +03:00
Emanuil Rusev 159c3cede6 move deprecated methods to the bottom of the class 2014-04-17 01:11:30 +03:00
Won-Kyu Park 9bf64d2e31 resolve #125 using strpos() 2014-02-27 23:58:24 +09:00
Emanuil Rusev 886c620440 Merge pull request #122 from wkpark/marker_index
use $closestMarkerIndex
2014-02-27 14:14:14 +02:00
Won-Kyu Park e156c418d6 fixup regression due to commit 59907ff7 "simplify em/strong routine"
use $closestMarkerIndex correctly
2014-02-26 14:14:56 +09:00
Haralan Dobrev d8650cd77c Add set_breaks_enabled() as an alias for BC
Backwards-compatibility is kept with versions before PSR-2 naming.

See http://git.io/SsTarw
2014-02-25 00:43:09 +02:00
Emanuil Rusev 3fa9d62572 psr-2 names 2014-02-24 01:38:58 +02:00
Emanuil Rusev 4f851205a7 simplify content types 2014-02-24 00:55:34 +02:00
Emanuil Rusev 0985c2ef29 fix [0] reference labels 2014-02-23 23:43:18 +02:00
Emanuil Rusev 9fd9262f16 implement tables 2014-02-23 18:55:34 +02:00
Emanuil Rusev a6756fd4fa resolve #117 2014-02-22 12:35:54 +02:00
Emanuil Rusev 1e8d917f7a replace synopsis with a more appropriate word 2014-02-21 02:26:23 +02:00
Emanuil Rusev 324eaf7c15 move synopsis to the top 2014-02-21 02:23:17 +02:00
Emanuil Rusev f972f7f15d arrange methods 2014-02-21 02:22:31 +02:00
Emanuil Rusev 688b761d32 remove obsolete variables 2014-02-21 02:02:36 +02:00
Emanuil Rusev b8bd12f565 parser should be less dependent on compiler 2014-02-21 01:54:23 +02:00
Won-Kyu Park 6fed312d3c fixup internal reference labling to make code more readable 2014-02-19 13:30:46 +09:00
Won-Kyu Park ccbdfabaff support HR and headings as block markups 2014-02-17 23:31:08 +09:00
Emanuil Rusev d29ff18299 resolve #92 2014-02-06 14:16:14 +02:00
Emanuil Rusev 611aed179d simplify reference 2014-02-06 02:36:22 +02:00
Emanuil Rusev abb88d59fa fix reference 2014-02-06 02:36:11 +02:00
Emanuil Rusev 14ab6d46fe resolve #82 2014-02-06 00:10:18 +02:00
Emanuil Rusev ebfdace4c6 reference labels should be case insensitive 2014-02-05 14:18:05 +02:00
Emanuil Rusev ba7f377290 resolve #88, resolve #81 2014-02-05 14:03:43 +02:00
Emanuil Rusev 548a6f7945 resolve #89 2014-02-05 14:03:43 +02:00
Won-Kyu Park 59907ff757 simplify em/strong routine
retry to search em/strong markers to fix nested em/strong correctly
2014-02-03 16:48:28 +09:00
Emanuil Rusev 6e93b68692 outdented is shorter and probably more accurate 2014-02-02 23:41:58 +02:00
Emanuil Rusev f5f1706e58 improve consistency of list item 2014-02-02 22:27:22 +02:00
Emanuil Rusev a7510b97e7 dense list items that follow sparse ones should not be rendered as sparse ones 2014-01-31 03:03:52 +02:00
Emanuil Rusev e9098aebfa improve parsing of list item and code block by measuring line indentation 2014-01-31 02:19:18 +02:00
Kane Cohen 07b738b1c8 Remove one unnecessary /u flag. 2014-01-29 23:05:05 +00:00
Kane Cohen f7181ee9b6 Remove /u flag from '*' chars. Add /u to urls. 2014-01-29 22:57:29 +00:00
Kane Cohen 55f360a591 Add unicode support for strong/em regex. 2014-01-29 10:30:21 +00:00
Emanuil Rusev 215ff63594 improve comments 2014-01-29 02:14:59 +02:00
Emanuil Rusev 3d581dcaa9 simplify names of block types 2014-01-27 22:21:58 +02:00
Emanuil Rusev bbce965a9a read-only fields should be static 2014-01-27 00:58:18 +02:00
Emanuil Rusev 6069fdac81 refactor parsing of html 2014-01-27 00:10:24 +02:00
Emanuil Rusev 0f090e1a6e remove trailing line break 2014-01-27 00:08:55 +02:00
Emanuil Rusev 618ab4e156 improve layout of class members 2014-01-26 19:53:24 +02:00
Emanuil Rusev 7661b7c8f9 simplify comments 2014-01-26 19:14:44 +02:00
Emanuil Rusev 8f6495ce86 ternaries should not do more than assign a value 2014-01-26 19:13:08 +02:00
Emanuil Rusev 250ba80356 expression assignments should be separate 2014-01-26 19:05:24 +02:00
Emanuil Rusev 3ac9b96e57 element » block 2014-01-26 13:47:56 +02:00
Emanuil Rusev b764deca66 improve comments 2014-01-26 03:36:25 +02:00
Emanuil Rusev 65ef541fda improve comments 2014-01-25 18:47:44 +02:00
Emanuil Rusev c7b6d0235d unset brackets should not be separated 2014-01-25 14:53:39 +02:00
Haralan Dobrev bf6c9a6db2 Use imperative tense in comments 2014-01-24 01:47:44 +02:00
Emanuil Rusev 0494c6b274 improve comments 2014-01-24 01:28:03 +02:00
Emanuil Rusev 3e0c010c1f improve comments 2014-01-23 23:48:38 +02:00
Emanuil Rusev 3a5eecc23d replace logical operators with conditionals to improve readability 2014-01-23 22:46:49 +02:00
Emanuil Rusev c8c5ae9df8 control structures should use braces 2014-01-23 22:34:02 +02:00
Emanuil Rusev 843786c07c improve comments 2014-01-23 22:08:06 +02:00
Emanuil Rusev 0c61f71e3f rtrim » chop 2014-01-23 13:07:15 +02:00
Emanuil Rusev 01a147c574 replace tabs with spaces to improve compatibility with psr-2 2014-01-23 00:57:36 +02:00
Emanuil Rusev f0fbdaa6ca backtick within code span 2014-01-22 21:28:29 +02:00
Emanuil Rusev e20c0a29bd nested elements should render on a new line 2014-01-22 21:28:29 +02:00
Emanuil Rusev 712dd23d30 simplify parsing of list 2014-01-22 21:28:29 +02:00
Emanuil Rusev 68f2871996 resolve #3 2014-01-22 21:28:29 +02:00
Emanuil Rusev 7cb9646d98 simplify compiling of links 2014-01-22 21:28:29 +02:00
Emanuil Rusev 2a0700abda resolve #61 2014-01-20 22:19:23 +02:00
Emanuil Rusev 4e83d79d76 setters should know nothing 2014-01-20 09:26:25 +02:00
Emanuil Rusev 354842fd6e simplify compiling 2014-01-19 23:34:20 +02:00
Emanuil Rusev 2b73e94c6c simplify parsing of escaped characters 2014-01-19 22:49:43 +02:00