private void Query() { Contract.Requires(Results != null); Contract.Ensures(Results.Any(ftr => ftr == null) == false); Results.Clear(); if (ScriptText == null || string.IsNullOrEmpty(SearchText)) { FIRE(); return; } int res = -1; int index = 0; while ((res = ScriptText.IndexOf(SearchText, res + 1, StringComparison.CurrentCultureIgnoreCase)) >= 0) { Results.Add(new FoundTextResult(index++) { StartOffset = res, EndOffset = res + SearchText.Length }); } _activeResultIndex = 0; FIRE(); }
private void SetParametersInScript() { System.Text.StringBuilder sb; int first, last; first = ScriptText.IndexOf(ParameterDefinitionRegionStart); if (first < 0) { throw new ApplicationException("The script text seems to no longer contain a parameter definition start region"); } first += ParameterDefinitionRegionStart.Length; last = ScriptText.IndexOf(ParameterDefinitionRegionEnd); if (last < 0) { throw new ApplicationException("The script text seems to no longer contain a parameter definition end region"); } sb = new System.Text.StringBuilder(); sb.Append(ScriptText.Substring(0, first)); sb.Append(ParameterDefinitionRegionCore); sb.Append(DefinitionRegionIndentation); sb.Append(ScriptText.Substring(last)); ScriptText = sb.ToString(); first = ScriptText.IndexOf(ParameterAssignmentRegionStart); if (first < 0) { throw new ApplicationException("The script text seems to no longer contain a parameter assignment start region"); } first += ParameterAssignmentRegionStart.Length; last = ScriptText.IndexOf(ParameterAssignmentRegionEnd); if (last < 0) { throw new ApplicationException("The script text seems to no longer contain a parameter assignment end region"); } sb = new System.Text.StringBuilder(); sb.Append(ScriptText.Substring(0, first)); sb.Append(ParameterAssignmentRegionCore); sb.Append(AssignmentRegionIndentation); sb.Append(ScriptText.Substring(last)); ScriptText = sb.ToString(); }