/// <summary>
 /// Basic detection of text's EOL marker
 /// </summary>
 public static Int32 DetectNewLineMarker(String text, Int32 defaultMarker)
 {
     Int32 cr = text.IndexOfOrdinal("\r");
     Int32 lf = text.IndexOfOrdinal("\n");
     if ((cr >= 0) && (lf >= 0))
     {
         if (cr < lf) return 0;
         else return 2;
     }
     else if ((cr < 0) && (lf < 0))
     {
         return (Int32)PluginBase.MainForm.Settings.EOLMode;
     }
     else if (lf < 0) return 1;
     else return 2;
 }
Example #2
0
 /// <summary>
 /// Processes the text and returns correct action point
 /// </summary>
 public static ActionPoint ProcessActionPoint(String text)
 {
     text = text.Trim().Replace(BOUNDARY, "");
     Int32 entryPosition = text.IndexOfOrdinal(ENTRYPOINT);
     Int32 exitPosition = text.IndexOfOrdinal(EXITPOINT);
     if (entryPosition != -1 && exitPosition != -1)
     {
         String cleaned = text.Replace(ENTRYPOINT, "").Replace(EXITPOINT, "");
         return new ActionPoint(cleaned, entryPosition, exitPosition - ENTRYPOINT.Length);
     }
     else if (entryPosition != -1 && exitPosition == -1)
     {
         String cleaned = text.Replace(ENTRYPOINT, "");
         return new ActionPoint(cleaned, entryPosition, -1);
     }
     else return new ActionPoint(text, -1, -1);
 }
Example #3
0
 public static String getValue(String source, String tagName)
 {
     try
     {
         int index = source.IndexOfOrdinal(tagName);
         int endIndex = source.IndexOfOrdinal(TagSplitter, index);
         if (index < 0 || endIndex < 0) return null;
         String value = source.Substring(index + tagName.Length, endIndex - (index + tagName.Length));
         value = value.Replace(SplitterEscape, TagSplitter);
         return value;
     }
     catch { return null; }
 }
Example #4
0
 /// <summary>
 /// Gets the correct coding style line break chars
 /// </summary>
 public static String ProcessCodeStyleLineBreaks(String text)
 {
     String CSLB = "$(CSLB)";
     Int32 nextIndex = text.IndexOfOrdinal(CSLB);
     if (nextIndex < 0) return text;
     CodingStyle cs = PluginBase.Settings.CodingStyle;
     if (cs == CodingStyle.BracesOnLine) return text.Replace(CSLB, "");
     Int32 eolMode = (Int32)PluginBase.Settings.EOLMode;
     String lineBreak = LineEndDetector.GetNewLineMarker(eolMode);
     String result = ""; Int32 currentIndex = 0;
     while (nextIndex >= 0)
     {
         result += text.Substring(currentIndex, nextIndex - currentIndex) + lineBreak + GetLineIndentation(text, nextIndex);
         currentIndex = nextIndex + CSLB.Length;
         nextIndex = text.IndexOfOrdinal(CSLB, currentIndex);
     }
     return result + text.Substring(currentIndex);
 }
Example #5
0
 private static String replaceInlineReferences(String text, IDictionary parameters)
 {
     if (parameters == null) return text;
     int depth = 100;
     while (depth-- > 0)
     {
         int o = text.IndexOfOrdinal("${");
         if (o == -1) break;
         if ((o >= 1) && (text[o - 1] == '$'))
         {
             o = text.IndexOfOrdinal("${", o + 2);
             if (o == -1) break;
         }
         int c = text.IndexOfOrdinal("}", o);
         if (c == -1)
         {
             return null; // FIXME
         }
         String name = text.Substring(o + 2, (c) - (o + 2));
         String value = null;
         if (parameters.Contains(name) && (parameters[name] != null))
         {
             value = parameters[name].ToString();
         }
         if (value == null)
         {
             value = "";
         }
         text = text.Substring(0, (o) - (0)) + value + text.Substring(c + 1);
     }
     return text.Replace("$${", "${");
 }
Example #6
0
 /// <summary>
 /// Replaces the enchanced arguments with gui
 /// </summary>
 public static String ReplaceArgsWithGUI(String args)
 {
     if (args.IndexOfOrdinal("$$(") < 0) return args;
     if (reEnvArgs.IsMatch(args)) // Environmental arguments
     {
         args = reEnvArgs.Replace(args, new MatchEvaluator(ReplaceEnvArgs));
     }
     if (reSpecialArgs.IsMatch(args)) // Special arguments
     {
         args = reSpecialArgs.Replace(args, new MatchEvaluator(ReplaceSpecialArgs));
     }
     if (reUserArgs.IsMatch(args)) // User arguments
     {
         ArgReplaceDialog rvd = new ArgReplaceDialog(args, reUserArgs);
         userArgs = rvd.Dictionary; // Save dictionary temporarily...
         if (rvd.ShowDialog() == DialogResult.OK)
         {
             args = reUserArgs.Replace(args, new MatchEvaluator(ReplaceUserArgs));
         }
         else args = reUserArgs.Replace(args, new MatchEvaluator(ReplaceWithEmpty));
     }
     return args;
 }