mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Emmet: upgrade HTML snippets
- allow attribute values with signs inside (+, -, etc) - allow closing tag after attributes like base[href]/
This commit is contained in:
@@ -149,7 +149,7 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<basefont/>" name="basefont" toReformat="true" toShortenFQNames="true" value="<basefont/>">
|
||||
<template description="<basefont>" name="basefont" toReformat="true" toShortenFQNames="true" value="<basefont>">
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -163,7 +163,7 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<frame/>" name="frame" toReformat="true" toShortenFQNames="true" value="<frame/>">
|
||||
<template description="<frame>" name="frame" toReformat="true" toShortenFQNames="true" value="<frame>">
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -226,7 +226,7 @@
|
||||
<template description="<link rel="import" href="">"
|
||||
name="link:import" toReformat="true" toShortenFQNames="true"
|
||||
value="<link rel="import" href="$HTML$.html">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="HTML"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""component"" expression="" name="HTML"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -236,7 +236,7 @@
|
||||
<template description="<link rel="import" href="">"
|
||||
name="link:im" toReformat="true" toShortenFQNames="true"
|
||||
value="<link rel="import" href="$HTML$.html">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="HTML"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""component"" expression="" name="HTML"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -253,9 +253,9 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">"
|
||||
<template description="<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">"
|
||||
name="link:favicon" toReformat="true" toShortenFQNames="true"
|
||||
value="<link rel="shortcut icon" type="image/x-icon" href="$FAVICON$">">
|
||||
value="<link rel="shortcut icon" href="$FAVICON$" type="image/x-icon">">
|
||||
<variable alwaysStopAt="true" defaultValue=""favicon.ico"" expression="" name="FAVICON"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
@@ -272,9 +272,9 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml">"
|
||||
<template description="<link rel="alternate" href="rss.xml" type="application/rss+xml" title="RSS">"
|
||||
name="link:rss" toReformat="true" toShortenFQNames="true"
|
||||
value="<link rel="alternate" type="application/rss+xml" title="RSS" href="$RSS$">">
|
||||
value="<link rel="alternate" href="$RSS$" type="application/rss+xml" title="RSS">">
|
||||
<variable alwaysStopAt="true" defaultValue=""rss.xml"" expression="" name="RSS"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
@@ -282,9 +282,9 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml">"
|
||||
<template description="<link rel="alternate" href="atom.xml" type="application/atom+xml" title="Atom">"
|
||||
name="link:atom" toReformat="true" toShortenFQNames="true"
|
||||
value="<link rel="alternate" type="application/atom+xml" title="Atom" href="$ATOM$">">
|
||||
value="<link rel="alternate" href="$ATOM$" type="application/atom+xml" title="Atom">">
|
||||
<variable alwaysStopAt="true" defaultValue=""atom.xml"" expression="" name="ATOM"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
@@ -327,14 +327,11 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">"
|
||||
<template description="<meta name="viewport" content="width=device-width, initial-scale=1.0">"
|
||||
name="meta:vp" toReformat="true"
|
||||
toShortenFQNames="true" value="<meta name="viewport" content="width=$WIDTH$, user-scalable=$SCALABLE$, initial-scale=$INITIAL_SCALE$, maximum-scale=$MAX_SCALE$, minimum-scale=$MIN_SCALE$">">
|
||||
toShortenFQNames="true" value="<meta name="viewport" content="width=$WIDTH$, initial-scale=$INITIAL_SCALE$">">
|
||||
<variable alwaysStopAt="true" defaultValue=""device-width"" expression="" name="WIDTH"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""no"" expression="" name="SCALABLE"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""1.0"" expression="" name="INITIAL_SCALE"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""1.0"" expression="" name="MAX_SCALE"/>
|
||||
<variable alwaysStopAt="true" defaultValue=""1.0"" expression="" name="MIN_SCALE"/>
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -390,8 +387,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img srcset="..." src="..." alt="...">" name="img:s" toReformat="true" toShortenFQNames="true"
|
||||
value="<img srcset="$VAR0$" src="$VAR1$" alt="$VAR2$">">
|
||||
<template description="<img src="..." alt="..." srcset="...">" name="img:s" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR1$" alt="$VAR2$" srcset="$VAR0$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -401,8 +398,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img srcset="..." src="..." alt="...">" name="img:srcset" toReformat="true" toShortenFQNames="true"
|
||||
value="<img srcset="$VAR0$" src="$VAR1$" alt="$VAR2$">">
|
||||
<template description="<img src="..." alt="..." srcset="...">" name="img:srcset" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR1$" alt="$VAR2$" srcset="$VAR0$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -412,8 +409,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img sizes="..." srcset="..." src="..." alt="...">" name="img:z" toReformat="true" toShortenFQNames="true"
|
||||
value="<img sizes="$VAR0$" srcset="$VAR1$" src="$VAR2$" alt="$VAR3$">">
|
||||
<template description="<img src="..." alt="..." sizes="..." srcset="...">" name="img:z" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR2$" alt="$VAR3$" sizes="$VAR0$" srcset="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -424,8 +421,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img sizes="..." srcset="..." src="..." alt="...">" name="img:sizes" toReformat="true" toShortenFQNames="true"
|
||||
value="<img sizes="$VAR0$" srcset="$VAR1$" src="$VAR2$" alt="$VAR3$">">
|
||||
<template description="<img src="..." alt="..." sizes="..." srcset="...">" name="img:sizes" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR2$" alt="$VAR3$" sizes="$VAR0$" srcset="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -571,8 +568,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<source media="(...)" sizes="..." srcset="...">" name="src:mz" toReformat="true" toShortenFQNames="true"
|
||||
value="<source media="($VAR0$)" sizes="$VAR1$" srcset="$VAR2$">">
|
||||
<template description="<source media="(...)" srcset="..." sizes="...">" name="src:mz" toReformat="true" toShortenFQNames="true"
|
||||
value="<source media="($VAR0$)" srcset="$VAR2$" sizes="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue=""min-width: "" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -582,8 +579,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<source media="(...)" sizes="..." srcset="...">" name="source:media:sizes" toReformat="true" toShortenFQNames="true"
|
||||
value="<source media="($VAR0$)" sizes="$VAR1$" srcset="$VAR2$">">
|
||||
<template description="<source media="(...)" srcset="..." sizes="...">" name="source:media:sizes" toReformat="true" toShortenFQNames="true"
|
||||
value="<source media="($VAR0$)" srcset="$VAR2$" sizes="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue=""min-width: "" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -676,8 +673,9 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<area shape="default" href="..." alt="...">" name="area:d" toReformat="true"
|
||||
toShortenFQNames="true" value="<area shape="default" href="$VAR0$" alt="$VAR1$">">
|
||||
<template description="<area shape="default" coords="..." href="..." alt="...">" name="area:d" toReformat="true"
|
||||
toShortenFQNames="true" value="<area shape="default" coords="$COORDS$" href="$VAR0$" alt="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="COORDS"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<context>
|
||||
@@ -1086,7 +1084,7 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<isindex/>" name="isindex" toReformat="true" toShortenFQNames="true" value="<isindex/>">
|
||||
<template description="<isindex>" name="isindex" toReformat="true" toShortenFQNames="true" value="<isindex>">
|
||||
<context>
|
||||
<option name="HTML_TEXT" value="true"/>
|
||||
<option name="JSX_HTML" value="true"/>
|
||||
@@ -1649,8 +1647,8 @@
|
||||
</context>
|
||||
</template>
|
||||
|
||||
<template description="<img srcset="..." src="..." alt="...">" name="ri:d" toReformat="true" toShortenFQNames="true"
|
||||
value="<img srcset="$VAR0$" src="$VAR1$" alt="$VAR2$">">
|
||||
<template description="<img src="..." alt="..." srcset="...">" name="ri:d" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR1$" alt="$VAR2$" srcset="$VAR0$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -1660,8 +1658,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img srcset="..." src="..." alt="...">" name="ri:dpr" toReformat="true" toShortenFQNames="true"
|
||||
value="<img srcset="$VAR0$" src="$VAR1$" alt="$VAR2$">">
|
||||
<template description="<img src="..." alt="..." srcset="...">" name="ri:dpr" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR1$" alt="$VAR2$" srcset="$VAR0$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -1671,8 +1669,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img sizes="..." srcset="..." src="..." alt="...">" name="ri:v" toReformat="true" toShortenFQNames="true"
|
||||
value="<img sizes="$VAR0$" srcset="$VAR1$" src="$VAR2$" alt="$VAR3$">">
|
||||
<template description="<img src="..." alt="..." sizes="..." srcset="...">" name="ri:v" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR2$" alt="$VAR3$" sizes="$VAR0$" srcset="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
@@ -1683,8 +1681,8 @@
|
||||
<option name="JSP" value="true"/>
|
||||
</context>
|
||||
</template>
|
||||
<template description="<img sizes="..." srcset="..." src="..." alt="...">" name="ri:viewport" toReformat="true" toShortenFQNames="true"
|
||||
value="<img sizes="$VAR0$" srcset="$VAR1$" src="$VAR2$" alt="$VAR3$">">
|
||||
<template description="<img src="..." alt="..." sizes="..." srcset="...">" name="ri:viewport" toReformat="true" toShortenFQNames="true"
|
||||
value="<img src="$VAR2$" alt="$VAR3$" sizes="$VAR0$" srcset="$VAR1$">">
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR0"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR1"/>
|
||||
<variable alwaysStopAt="true" defaultValue="""" expression="" name="VAR2"/>
|
||||
|
||||
@@ -98,15 +98,15 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
|
||||
@Nullable
|
||||
private String parseAttributeName() {
|
||||
String name = "";
|
||||
StringBuilder name = new StringBuilder();
|
||||
ZenCodingToken token = getToken();
|
||||
while (token != null) {
|
||||
if ((token instanceof IdentifierToken)) {
|
||||
name += ((IdentifierToken)token).getText();
|
||||
name.append(((IdentifierToken)token).getText());
|
||||
}
|
||||
else if (token instanceof OperationToken &&
|
||||
(((OperationToken)token).getSign() == '+' || ((OperationToken)token).getSign() == '-')) {
|
||||
name += ((OperationToken)token).getSign();
|
||||
name.append(((OperationToken)token).getSign());
|
||||
}
|
||||
else {
|
||||
break;
|
||||
@@ -115,7 +115,7 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
token = getToken();
|
||||
}
|
||||
|
||||
if (name.isEmpty()) {
|
||||
if (name.length() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getAttributeValueByToken(@Nullable ZenCodingToken token) {
|
||||
private static String getAttributeValueByToken(@Nullable ZenCodingToken token, boolean allowOperations) {
|
||||
if (token == null) {
|
||||
return "";
|
||||
}
|
||||
@@ -147,6 +147,9 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
else if (token instanceof NumberToken) {
|
||||
return Integer.toString(((NumberToken)token).getNumber());
|
||||
}
|
||||
else if (allowOperations && token instanceof OperationToken) {
|
||||
return String.valueOf(((OperationToken)token).getSign());
|
||||
}
|
||||
else if (token == ZenCodingTokens.DOT || token == ZenCodingTokens.SHARP) {
|
||||
return token.toString();
|
||||
}
|
||||
@@ -188,6 +191,12 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
return null;
|
||||
}
|
||||
|
||||
ZenCodingToken currentToken = getToken();
|
||||
if (currentToken instanceof IdentifierToken && "/".equals(((IdentifierToken)currentToken).getText())) {
|
||||
advance();
|
||||
forceSingleTag = true;
|
||||
}
|
||||
|
||||
TemplateToken templateToken = new TemplateToken(templateKey, attributes, forceSingleTag);
|
||||
if (!setTemplate(templateToken, template)) {
|
||||
return null;
|
||||
@@ -329,7 +338,7 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
final String name = token == ZenCodingTokens.DOT ? getClassAttributeName() : HtmlUtil.ID_ATTRIBUTE_NAME;
|
||||
advance();
|
||||
token = getToken();
|
||||
final String value = getAttributeValueByToken(token);
|
||||
final String value = getAttributeValueByToken(token, false);
|
||||
if (!value.isEmpty()) {
|
||||
advance();
|
||||
}
|
||||
@@ -402,7 +411,7 @@ public class XmlEmmetParser extends EmmetParser {
|
||||
String value;
|
||||
do {
|
||||
token = getToken();
|
||||
value = getAttributeValueByToken(token);
|
||||
value = getAttributeValueByToken(token, true);
|
||||
attrValueBuilder.append(value);
|
||||
if (!isEndOfAttribute(token)) {
|
||||
advance();
|
||||
|
||||
Reference in New Issue
Block a user