private string[] GenerateMatchSetOfFiles( string lastWord, CultureInfo ci, bool completingAtStartOfLine) { bool matchFoundInCurrentLocation = false; bool flag1 = (!lastWord.StartsWith("'", StringComparison.CurrentCulture) || !lastWord.EndsWith("'", StringComparison.CurrentCulture)) && (!lastWord.StartsWith("\"", StringComparison.CurrentCulture) || !lastWord.EndsWith("\"", StringComparison.CurrentCulture)); bool flag2 = string.IsNullOrEmpty(lastWord); bool flag3 = lastWord.EndsWith("*", StringComparison.CurrentCulture); bool flag4 = WildcardPattern.ContainsWildcardCharacters(lastWord); string path = flag1 ? "'" + lastWord + "*'" : lastWord + "*"; bool shouldFullyQualifyPaths = this.ShouldFullyQualifyPathsPath(lastWord, path); bool flag5 = false; if (lastWord.StartsWith("\\\\", StringComparison.CurrentCulture) || lastWord.StartsWith("//", StringComparison.CurrentCulture)) { flag5 = true; } string[] s1 = (string[])null; string[] s2 = (string[])null; if (flag4 && !flag2) { s1 = this.FindMatches(flag1 ? "'" + lastWord + "'" : lastWord, shouldFullyQualifyPaths, ci, ref matchFoundInCurrentLocation); } if (!flag3) { s2 = this.FindMatches(path, shouldFullyQualifyPaths, ci, ref matchFoundInCurrentLocation); } string[] strArray = CommandCompletionBase.CombineMatchSets(s1, s2, ci); if (strArray != null) { for (int index = 0; index < strArray.Length; ++index) { string s = CommandCompletionBase.EscapeSpecialCharacters(strArray[index]); strArray[index] = completingAtStartOfLine && matchFoundInCurrentLocation || s == "~" ? ".\\" + s : (!flag5 ? s : this.RemoveProviderQualifier(s)); } } return(strArray); }