public void DoReplace(FileData _data, IReplacer[] _replacers) { for (int index = 0; index < _data.Data.Length; ) { if ((_data.Data[index] == '#') && (index + 1 < _data.Data.Length) && (_data.Data[index + 1] == '{')) { int endIndex = index + 1; while (endIndex < _data.Data.Length) { if (_data.Data[endIndex] == '}') break; endIndex++; } if (endIndex < _data.Data.Length) { int count = endIndex - index + 1; char[] destination = new char[count]; _data.Data.CopyTo(index, destination, 0, count); _data.Data.Remove(index, count); _data.Data.Insert(index, ReplaceTag(destination, _replacers)); } } else { index++; } } }
public static AskReplacementWriter Create( ContentDisplayStyle contentDisplayStyle, string input, IReplacer replacer, Lazy <TextWriter>?lazyWriter, ContentWriterOptions options, MatchOutputInfo?outputInfo, bool isInteractive, SpellcheckState?spellcheckState = null) { switch (contentDisplayStyle) { case ContentDisplayStyle.Value: case ContentDisplayStyle.ValueDetail: return(new AskValueReplacementWriter( input, replacer, lazyWriter, options, outputInfo, isInteractive, spellcheckState)); case ContentDisplayStyle.Line: return(new AskLineReplacementWriter(input, replacer, lazyWriter, options, isInteractive, spellcheckState)); case ContentDisplayStyle.UnmatchedLines: case ContentDisplayStyle.AllLines: throw new InvalidOperationException(); default: throw new InvalidOperationException($"Unknown enum value '{contentDisplayStyle}'."); } }
public EnumerableOperation(IReplacer replacer, int bufferSize) : base(replacer) { this.bufferSize = bufferSize; this.firstNode = new BufferNode(); this.lastNode = firstNode; }
public static ContentWriter CreateReplace( ContentDisplayStyle contentDisplayStyle, string input, IReplacer replacer, ContentWriterOptions options, TextWriter?textWriter = null, MatchOutputInfo?outputInfo = null, SpellcheckState?spellcheckState = null) { switch (contentDisplayStyle) { case ContentDisplayStyle.Value: case ContentDisplayStyle.ValueDetail: return(new ValueReplacementWriter(input, replacer, options, textWriter, outputInfo, spellcheckState)); case ContentDisplayStyle.Line: return(new LineReplacementWriter(input, replacer, options, textWriter, spellcheckState)); case ContentDisplayStyle.AllLines: return(new AllLinesReplacementWriter(input, replacer, options, textWriter, spellcheckState)); case ContentDisplayStyle.UnmatchedLines: throw new NotSupportedException($"Value '{contentDisplayStyle}' is not supported."); default: throw new InvalidOperationException($"Unknown enum value '{contentDisplayStyle}'."); } }
public AskLineReplacementWriter( string input, IReplacer replacer, Lazy <TextWriter>?lazyWriter, ContentWriterOptions options, bool isInteractive, SpellcheckState?spellcheckState = null) : base(input, replacer, lazyWriter, options, isInteractive, spellcheckState) { MatchingLineCount = 0; }
private ContentWriter CreateReplacementWriter( ContentDisplayStyle contentDisplayStyle, string input, IReplacer replacer, ContentWriterOptions options, TextWriter?textWriter = null, MatchOutputInfo?outputInfo = null) { return(ContentWriter.CreateReplace(contentDisplayStyle, input, replacer, options, textWriter, outputInfo, SpellcheckState)); }
public Calculator(ISumCalculator sumCalculator, IReplacer replacer, IValidator validator, INumbersExtractor numbersExtractor) { this.sumCalculator = sumCalculator; this.replacer = replacer; this.validator = validator; this.numbersExtractor = numbersExtractor; }
public LineReplacementWriter( string input, IReplacer replacer, ContentWriterOptions options, TextWriter?textWriter = null, SpellcheckState?spellcheckState = null) : base(input, options) { Replacer = replacer; _textWriter = textWriter; SpellcheckState = spellcheckState; }
public AskValueReplacementWriter( string input, IReplacer replacer, Lazy <TextWriter>?lazyWriter, ContentWriterOptions options, MatchOutputInfo?outputInfo, bool isInteractive, SpellcheckState?spellcheckState = null) : base(input, replacer, lazyWriter, options, isInteractive, spellcheckState) { OutputInfo = outputInfo; }
private string ReplaceTag(char[] _tag, IReplacer[] _replacers) { string tag = new string(_tag, 2, _tag.Length - 3); foreach (IReplacer replacer in _replacers) { string result = replacer.Replace(tag); if (result != "") return result; } return ""; }
public ValueReplacementWriter( string input, IReplacer replacer, ContentWriterOptions options, TextWriter?textWriter = null, MatchOutputInfo?outputInfo = null, SpellcheckState?spellcheckState = null) : base(input, options, outputInfo: outputInfo) { Replacer = replacer; _textWriter = textWriter; SpellcheckState = spellcheckState; }
protected AskReplacementWriter( string input, IReplacer replacer, Lazy <TextWriter>?lazyWriter, ContentWriterOptions options, bool isInteractive, SpellcheckState?spellcheckState = null) : base(input, options) { Replacer = replacer; IsInteractive = isInteractive; SpellcheckState = spellcheckState; _lazyWriter = lazyWriter; }
public Typo(string dataDirectory) { _dataDirectory = dataDirectory; _keyboardListener = new KeyboardListener(); _keyboardListener.KeyDown += OnKeyboardKeyDown; _capsLockListener = new CapsLockListener { IdleTimeout = TimeSpan.FromSeconds(10) }; _capsLockListener.CapsLockStrokeEvent += OnCapsLockStrokeEvent; _inputter = new Inputter(); _replacers = new List <IReplacer>(); _inserters = new List <IInserter>(); AddReplacer(new LuaReplacer()); AddInserter(new LuaInserter()); _typografReplacer = new TypografReplacer(); _typografReplacer.Initialize(_dataDirectory); _scriptReplacer = new ScriptReplacer(); _scriptReplacer.Initialize(_dataDirectory); }
public ArrayOperation(IReplacer replacer, int arrayLength) : base(replacer) { this.buffer = new string[arrayLength]; }
protected Operation(IReplacer replacer) { this.replacer = replacer; }
public OptionGenerator(string filePathForLogger) { _replacer = new Replacer(); _logger = new Logger(filePathForLogger); }
public ReplacerTests() { kernel.Load(new DIRegistration()); replacer = kernel.Get <IReplacer>(); }