public void Run() { var parserOutput = new ParserOutput(); try { foreach (var hotkeyFile in _hotkeyFiles) { var text = CommentRegex.Replace(hotkeyFile.Value.Text, ""); new MyCharReader(new LocatedString(RunPreprocessor(text), new Location(1, 1)), parserOutput).Run(); } foreach (var action in _parseActions) { action.Value(parserOutput); } foreach (var mode in parserOutput.Modes) { mode.ResolveIncludes(parserOutput); } } catch (Exception ex) when(!Helper.IsFatalException(ex)) { Env.Notifier.WriteError(ex, "Failed to parse hotkeys."); return; } FireNewParserOutput(parserOutput); }
public MyCharReader(LocatedString text, ParserOutput parserOutput) : base(text) { _parserOutput = parserOutput; }
public void FireNewParserOutput(ParserOutput parserOutput) { _dynamicHotkeyCollection = parserOutput.DynamicHotkeyCollection; NewParserOutput(parserOutput); }