IDEA-88519: Unexpected formatting live templates

- enable force-formatting for complex zen-coding templates only. simple templates is reformated according to template reformat option

#IDEA-88519 fixed
This commit is contained in:
Alexander Zolotov
2012-07-13 20:00:14 +04:00
parent 2bf0768984
commit f65c74c073
2 changed files with 6 additions and 12 deletions
@@ -114,7 +114,9 @@ public class CustomTemplateCallback {
}
public void startTemplate(Template template, Map<String, String> predefinedValues, TemplateEditingListener listener) {
template.setToReformat(!myInInjectedFragment);
if(myInInjectedFragment) {
template.setToReformat(false);
}
myTemplateManager.startTemplate(myEditor, template, false, predefinedValues, listener);
}
@@ -36,6 +36,7 @@ public class LiveTemplateBuilder {
private final List<VarOccurence> myVariableOccurences = new ArrayList<VarOccurence>();
private final List<Marker> myMarkers = new ArrayList<Marker>();
private String myLastEndVarName;
private boolean myIsToReformat = false;
public CharSequence getText() {
return myText;
@@ -123,6 +124,7 @@ public class LiveTemplateBuilder {
last = occurence.myOffset;
}
template.addTextSegment(myText.substring(last));
template.setToReformat(myIsToReformat);
return template;
}
@@ -215,6 +217,7 @@ public class LiveTemplateBuilder {
}*/
public int insertTemplate(int offset, TemplateImpl template, Map<String, String> predefinedVarValues) {
myIsToReformat = myText.length() > 0 || template.isToReformat();
removeEndVarAtOffset(offset);
String text = template.getTemplateText();
@@ -301,17 +304,6 @@ public class LiveTemplateBuilder {
}
}
private boolean isInEmptyText(int offset) {
if (offset >= myText.length()) {
return false;
}
char c = myText.charAt(offset++);
while (Character.isWhitespace(c) && offset < myText.length()) {
c = myText.charAt(offset++);
}
return c == '<' || c == '"';
}
private boolean hasVarAtOffset(int offset) {
boolean flag = false;
for (VarOccurence occurence : myVariableOccurences) {