Skip to content

Commit 8a95790

Browse files
committed
fixed regex
1 parent 0eac8f5 commit 8a95790

File tree

7 files changed

+9
-116
lines changed

7 files changed

+9
-116
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
.DS_Store
22
node_modules/
33
*.tgz
4-
4+
*.zip

README.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,9 @@ Please check [Prettier Docs](https://prettier.io/docs/en/plugins.html) for other
2929
<% if (condition) { %> <% } else if (condition) { %> <% } %>
3030
</div>
3131

32-
<!-- prettier-ignore -->
33-
<div>
34-
<%
35-
const a = 0;
36-
%>
37-
</div>
38-
3932
<div class="<%= red %>"><%= 1 > 0 %></div>
4033

41-
<textarea><!= text !></textarea>
34+
<textarea><%= text %></textarea>
4235
<code><%= text %></code>
4336
<pre><%= text %></pre>
4437
</div>
@@ -54,15 +47,9 @@ Please check [Prettier Docs](https://prettier.io/docs/en/plugins.html) for other
5447
<% } %>
5548
</div>
5649

57-
<div>
58-
<%
59-
const a = 0;
60-
%>
61-
</div>
62-
6350
<div class="<%= red %>"><%= 1 > 0 %></div>
6451

65-
<textarea><!= text !></textarea>
52+
<textarea><%= text %></textarea>
6653
<code><%= text %></code>
6754
<pre><%= text %></pre>
6855
</div>

index.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,10 @@
55

66
const { parsers } = require("prettier/parser-html");
77

8-
const regex =
9-
/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|<title.*?>.*?<\/title>|<textarea.*?>.*?<\/textarea>|<script.*?>.*?<\/script>|(<%([^>]*?)%>)/gs;
10-
11-
const replacer = (m, t, c) => (!t ? m : `<!${c}!>`);
12-
138
function parse(text, options, legacy) {
14-
return parsers.html.parse(text.replace(regex, replacer), options, legacy);
9+
const find = /(?:<(textarea|title|script).*?<\/\1|(["']).*?\2|<%([^>]*)%>)/gs;
10+
text = text.replace(find, (match, p1, p2, p3) => (p3 ? `<!${p3}!>` : match));
11+
return parsers.html.parse(text, options, legacy);
1512
}
1613

1714
module.exports = {

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "prettier-plugin-ejs",
33
"displayName": "Prettier EJS Plugin",
4-
"version": "0.0.19",
4+
"version": "1.0.0",
55
"description": "A Prettier plugin for Embedded JavaScript Templating (EJS).",
66
"keywords": [
77
"prettier",

test-textarea.html

Lines changed: 0 additions & 50 deletions
This file was deleted.

test.html

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)