public void Include(DefinedPlaceholder placeholder, ReplaceInfo[] replaceInfos) { while (__include(placeholder, replaceInfos)) { ; } }
public void Repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos) { while (__repeat(beginPlaceholder, endPlaceholder, replaceInfos, null)) { ; } }
private bool __repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos, string parameters) { string beginPlaceholderString = Placeholder.ToString(beginPlaceholder); string endPlaceholderString = Placeholder.ToString(endPlaceholder); string text = _text.ToString(); int beginIndex = text.IndexOf(beginPlaceholderString); int endIndex = text.IndexOf(endPlaceholderString); if (parameters != null) { beginPlaceholderString += "(" + parameters + ")"; } // something to do? if (beginIndex == -1 && endIndex == -1) { return(false); } if (beginIndex != -1 && endIndex == -1) { throw new CodeGeneratorException(ErrorCode.RepeaterBeginWithoutEnd, beginPlaceholderString); } if (endIndex != -1 && beginIndex == -1) { throw new CodeGeneratorException(ErrorCode.RepeaterEndWithoutStart, endPlaceholderString); } // yes! string repeatTemplate = GetRepeatTemplate(text, beginPlaceholderString, endPlaceholderString); string repeatResults = string.Empty; foreach (ReplaceInfo replaceInfo in replaceInfos) { if (replaceInfo.replaceInfos == null) { continue; } string includeResult = repeatTemplate; for (int i = 0; i < replaceInfo.replaceInfos.Length - 1; i += 2) { includeResult = includeResult.Replace(replaceInfo.replaceInfos[i], replaceInfo.replaceInfos[i + 1]); } repeatResults += includeResult; } // replace text = text.Remove(beginIndex, endIndex - beginIndex + endPlaceholderString.Length); text = text.Insert(beginIndex, repeatResults); _text = new StringBuilder(text); return(true); }
public void Repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos, string parameters) { while (__repeat(beginPlaceholder, endPlaceholder, replaceInfos, parameters)) { ; } }
private void OutputPlaceholder(DefinedPlaceholder placeholder, string value) { if (value == string.Empty) { _output(string.Format(" {0,-32}", Placeholder.ToString(placeholder))); } else { _output(string.Format(" {0,-32}: {1,-32}", Placeholder.ToString(placeholder), value)); } }
public void Repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos) { while (__repeat(beginPlaceholder, endPlaceholder, replaceInfos, null)); }
public void Repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos, string parameters) { while (__repeat(beginPlaceholder, endPlaceholder, replaceInfos, parameters)) ; }
public void Include(DefinedPlaceholder placeholder, ReplaceInfo[] replaceInfos) { while (__include(placeholder, replaceInfos)); }
private bool __repeat(DefinedPlaceholder beginPlaceholder, DefinedPlaceholder endPlaceholder, ReplaceInfo[] replaceInfos, string parameters) { string beginPlaceholderString = Placeholder.ToString(beginPlaceholder); string endPlaceholderString = Placeholder.ToString(endPlaceholder); string text = _text.ToString(); int beginIndex = text.IndexOf(beginPlaceholderString); int endIndex = text.IndexOf(endPlaceholderString); if (parameters != null) beginPlaceholderString += "(" + parameters + ")"; // something to do? if (beginIndex == -1 && endIndex == -1) return false; if (beginIndex != -1 && endIndex == -1) throw new CodeGeneratorException(ErrorCode.RepeaterBeginWithoutEnd, beginPlaceholderString); if (endIndex != -1 && beginIndex == -1) throw new CodeGeneratorException(ErrorCode.RepeaterEndWithoutStart, endPlaceholderString); // yes! string repeatTemplate = GetRepeatTemplate(text, beginPlaceholderString, endPlaceholderString); string repeatResults = string.Empty; foreach (ReplaceInfo replaceInfo in replaceInfos) { if (replaceInfo.replaceInfos == null) continue; string includeResult = repeatTemplate; for (int i = 0; i < replaceInfo.replaceInfos.Length - 1; i += 2) includeResult = includeResult.Replace(replaceInfo.replaceInfos[i], replaceInfo.replaceInfos[i + 1]); repeatResults += includeResult; } // replace text = text.Remove(beginIndex, endIndex-beginIndex+endPlaceholderString.Length); text = text.Insert(beginIndex, repeatResults); _text = new StringBuilder(text); return true; }
private bool __include(DefinedPlaceholder placeholder, ReplaceInfo[] replaceInfos) { string placeholderString = Placeholder.ToString(placeholder); string text = _text.ToString(); int startIndex = text.IndexOf(placeholderString); // something to do? if (startIndex == -1) return false; // yes! int length = placeholderString.Length; int endIndex = startIndex + length; // get include placeholder + filename $NAME$(filename) if (text[endIndex] != '(') throw new CodeGeneratorException(ErrorCode.InvalidIncludeTemplateFormatOpeningBracket, placeholderString); do { if (endIndex+1 == text.Length) throw new CodeGeneratorException(ErrorCode.InvalidIncludeTemplateFormatClosingBracket, placeholderString); endIndex++; length++; if (text[endIndex] == ')') { endIndex++; length++; break; } } while (true); // get template from include string includePlaceholderPlusFilename = text.Substring(startIndex, length); string includeTemplate = GetIncludeTemplate(placeholderString, includePlaceholderPlusFilename); // replace string includeResults = string.Empty; foreach (ReplaceInfo replaceInfo in replaceInfos) { if (replaceInfo.replaceInfos == null) continue; string includeResult = includeTemplate; for (int i=0; i<replaceInfo.replaceInfos.Length-1; i+=2) includeResult = includeResult.Replace(replaceInfo.replaceInfos[i], replaceInfo.replaceInfos[i+1]); includeResults += includeResult; } text = text.Replace(includePlaceholderPlusFilename, includeResults); _text = new StringBuilder(text); return true; }
private void OutputPlaceholder(DefinedPlaceholder placeholder, string value) { if (value == string.Empty) _output(string.Format(" {0,-32}", Placeholder.ToString(placeholder))); else _output(string.Format(" {0,-32}: {1,-32}", Placeholder.ToString(placeholder), value)); }
private string Replace(string text, DefinedPlaceholder placeholder, string newText) { string replaceText = Placeholder.ToString(placeholder); return(text.Replace(replaceText, newText)); }
private bool __include(DefinedPlaceholder placeholder, ReplaceInfo[] replaceInfos) { string placeholderString = Placeholder.ToString(placeholder); string text = _text.ToString(); int startIndex = text.IndexOf(placeholderString); // something to do? if (startIndex == -1) { return(false); } // yes! int length = placeholderString.Length; int endIndex = startIndex + length; // get include placeholder + filename $NAME$(filename) if (text[endIndex] != '(') { throw new CodeGeneratorException(ErrorCode.InvalidIncludeTemplateFormatOpeningBracket, placeholderString); } do { if (endIndex + 1 == text.Length) { throw new CodeGeneratorException(ErrorCode.InvalidIncludeTemplateFormatClosingBracket, placeholderString); } endIndex++; length++; if (text[endIndex] == ')') { endIndex++; length++; break; } }while (true); // get template from include string includePlaceholderPlusFilename = text.Substring(startIndex, length); string includeTemplate = GetIncludeTemplate(placeholderString, includePlaceholderPlusFilename); // replace string includeResults = string.Empty; foreach (ReplaceInfo replaceInfo in replaceInfos) { if (replaceInfo.replaceInfos == null) { continue; } string includeResult = includeTemplate; for (int i = 0; i < replaceInfo.replaceInfos.Length - 1; i += 2) { includeResult = includeResult.Replace(replaceInfo.replaceInfos[i], replaceInfo.replaceInfos[i + 1]); } includeResults += includeResult; } text = text.Replace(includePlaceholderPlusFilename, includeResults); _text = new StringBuilder(text); return(true); }
public void Replace(DefinedPlaceholder placeholder, string newText) { _text.Replace(Placeholder.ToString(placeholder), newText); }
private void OutputPlaceholder(DefinedPlaceholder placeholder) { OutputPlaceholder(placeholder, string.Empty); }
public static string ToString(DefinedPlaceholder placeholder) { return(s_prefix + placeholder.ToString() + s_postfix); }
private string Replace(string text, DefinedPlaceholder placeholder, string newText) { string replaceText = Placeholder.ToString(placeholder); return text.Replace(replaceText, newText); }
public static string ToString(DefinedPlaceholder placeholder) { return s_prefix + placeholder.ToString() + s_postfix; }