private void EnsureFirstRun() { lock (_firstRunLock) { if (!_paths.Exists(_paths.BaseDir) || !_paths.Exists(_paths.FirstRunCookie)) { try { _onFirstRun?.Invoke(EnvironmentSettings); _paths.WriteAllText(_paths.FirstRunCookie, ""); } catch (Exception ex) { _environmentSettings.Host.OnCriticalError(null, "Failed to initialize the host, unable to complete first run actions", "null", 0); _environmentSettings.Host.LogDiagnosticMessage($"Details: {ex.ToString()}", "First run"); throw new EngineInitializationException("Failed to initialize the host, unable to complete first run actions", "First run", ex); } } } }
private void EnsureLoaded() { if (_aliases != null) { return; } if (!_paths.Exists(_paths.AliasesFile)) { _aliases = new AliasModel(); return; } string sourcesText = _paths.ReadAllText(_paths.AliasesFile, "{}"); JObject parsed = JObject.Parse(sourcesText); IReadOnlyDictionary <string, IReadOnlyList <string> > commandAliases = parsed.ToStringListDictionary(StringComparer.OrdinalIgnoreCase, "CommandAliases"); _aliases = new AliasModel(commandAliases); }