private T Find(string text, int position, CanMatch canMatch, out int length) { if (position < text.Length) { Trie <T> node = GetChildNode(text[position], false); if (node != null) { T childUrl = node.Find(text, position + 1, canMatch, out length); if (childUrl != null) { length++; return(childUrl); } } } if (_value != null && (canMatch == null || canMatch(text, position))) { length = 0; return(_value); } length = -1; return(null); }
public AutoreplaceManager() { canMatch = (text, charactersMatched) => (charactersMatched >= text.Length || !char.IsLetterOrDigit(text[charactersMatched])); SetAutoCorrectFile(null); ReloadPhraseSettings(); }
public AutoreplaceManager() { canMatch = (text, charactersMatched) => (charactersMatched >= text.Length || !char.IsLetterOrDigit(text[charactersMatched])); SetAutoCorrectFile(null); ReloadPhraseSettings(); }
public AutoReplaceFinder(CanMatch canMatch) { _canMatch = canMatch; }
public T Find(string text, CanMatch canMatch, out int length) { return(Find(text, 0, canMatch, out length)); }
public AutoReplaceFinder(CanMatch canMatch) { _canMatch = canMatch; }