Commit a4b25ef
committed
Fix indenting CData
The reason of all CData indenting issues was replacing CDATA
tags before indent and then replacing it back. Due to this
CDATA wasn't hanlded by minidom parser correctly.
After this fix, CDATA will remain untouched. However,
indenting CDATA block with writexml() (which is called from
toprettyxml) works wierd - it starts cdata on the beginning
of the next line (without indent) and keeps parent closing
tag on the same line as well. E.g. formatted XML might look
like:
<a>
<content>
<![CDATA[hello & goodbye]]> </content>
</a>
To fix this, plugin now does monkey patching of
CDataSection.writexml(). This is just a hack and potentially
destructive action, so warning message is displayed when
patched version is used and this behaviour can be disabled
in settings.
This commit fixes #57, #93, #1011 parent f68aa44 commit a4b25ef
File tree
5 files changed
+54
-4
lines changed- tests/fixtures
5 files changed
+54
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
103 | 101 | | |
104 | 102 | | |
105 | 103 | | |
| |||
108 | 106 | | |
109 | 107 | | |
110 | 108 | | |
111 | | - | |
112 | | - | |
113 | 109 | | |
114 | 110 | | |
115 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments