public void Update(LanguageServerSettings settings) { if (settings != null) { this.ScriptAnalysis.Update(settings.ScriptAnalysis); } }
/// <summary> /// Event subscription method to be run when PSES configuration has been updated. /// </summary> /// <param name="sender">The sender of the configuration update event.</param> /// <param name="settings">The new language server settings.</param> public void OnConfigurationUpdated(object sender, LanguageServerSettings settings) { if (settings.ScriptAnalysis.Enable ?? true) { InitializeAnalysisEngineToCurrentSettings(); } }
public Task didChangeConfiguration(JToken token, CancellationToken ct) { IdleTimeTracker.NotifyUserActivity(); var settings = new LanguageServerSettings(); var s = token["settings"]; var r = s?["r"]; if (r == null) { return(Task.CompletedTask); } settings.InterpreterIndex = GetSetting(r, "interpreter", -1); settings.InterpreterPath = GetSetting(r, "interpreterPath", string.Empty); var editor = r["editor"]; settings.Editor.TabSize = GetSetting(editor, "tabSize", 2); settings.Editor.FormatOnType = GetSetting(editor, "formatOnType", true); settings.Editor.FormatScope = GetSetting(editor, "formatScope", true); settings.Editor.SpaceAfterComma = GetSetting(editor, "spaceAfterComma", true); settings.Editor.SpaceAfterKeyword = GetSetting(editor, "spaceAfterKeyword", true); settings.Editor.SpacesAroundEquals = GetSetting(editor, "spacesAroundEquals", true); settings.Editor.SpaceBeforeCurly = GetSetting(editor, "spaceBeforeCurly", true); settings.Editor.BreakMultipleStatements = GetSetting(editor, "breakMultipleStatements", true); settings.Editor.BracesOnNewLine = GetSetting(editor, "bracesOnNewLine", false); var linting = r["linting"]; settings.Linting.Enabled = GetSetting(linting, "enable", false); settings.Linting.CamelCase = GetSetting(linting, "camelCase", true); settings.Linting.SnakeCase = GetSetting(linting, "snakeCase", false); settings.Linting.PascalCase = GetSetting(linting, "pascalCase", false); settings.Linting.UpperCase = GetSetting(linting, "upperCase", false); settings.Linting.MultipleDots = GetSetting(linting, "multipleDots", true); settings.Linting.NameLength = GetSetting(linting, "nameLength", true); settings.Linting.MaxNameLength = GetSetting(linting, "maxNameLength", 32); settings.Linting.TrueFalseNames = GetSetting(linting, "trueFalseNames", true); settings.Linting.AssignmentType = GetSetting(linting, "assignmentType", true); settings.Linting.SpacesAroundComma = GetSetting(linting, "spacesAroundComma", true); settings.Linting.SpacesAroundOperators = GetSetting(linting, "spacesAroundOperators", true); settings.Linting.CloseCurlySeparateLine = GetSetting(linting, "closeCurlySeparateLine", true); settings.Linting.SpaceBeforeOpenBrace = GetSetting(linting, "spaceBeforeOpenBrace", true); settings.Linting.SpacesInsideParenthesis = GetSetting(linting, "spacesInsideParenthesis", true); settings.Linting.NoSpaceAfterFunctionName = GetSetting(linting, "noSpaceAfterFunctionName", true); settings.Linting.OpenCurlyPosition = GetSetting(linting, "openCurlyPosition", true); settings.Linting.NoTabs = GetSetting(linting, "noTabs", true); settings.Linting.TrailingWhitespace = GetSetting(linting, "trailingWhitespace", true); settings.Linting.TrailingBlankLines = GetSetting(linting, "trailingBlankLines", true); settings.Linting.DoubleQuotes = GetSetting(linting, "doubleQuotes", true); settings.Linting.LineLength = GetSetting(linting, "lineLength", false); settings.Linting.MaxLineLength = GetSetting(linting, "maxLineLength", 132); settings.Linting.Semicolons = GetSetting(linting, "semicolons", true); settings.Linting.MultipleStatements = GetSetting(linting, "multipleStatements", true); return(MainThreadPriority.SendAsync(() => { _services.GetService <ISettingsManager>().UpdateSettings(settings); }, UI, ct)); }
public void Update(LanguageServerSettings settings) { if (settings != null) { this.EnableProfileLoading = settings.EnableProfileLoading; this.ScriptAnalysis.Update(settings.ScriptAnalysis); } }
public Task DidChangeConfiguration(JToken token) { var settings = new LanguageServerSettings(); var rootSection = token["settings"]; var pythonSection = rootSection?["python"]; var autoComplete = pythonSection?["autoComplete"]; if (autoComplete != null) { var showAdvancedMembers = autoComplete["showAdvancedMembers"] as JValue; settings.SuppressAdvancedMembers = showAdvancedMembers == null || (showAdvancedMembers.Type == JTokenType.Boolean && !showAdvancedMembers.ToObject <bool>()); } var p = new DidChangeConfigurationParams() { settings = settings }; return(_server.DidChangeConfiguration(p)); }
public async Task DidChangeConfiguration(JToken token) { var settings = new LanguageServerSettings(); var rootSection = token["settings"]; var pythonSection = rootSection?["python"]; if (pythonSection == null) { return; } var autoComplete = pythonSection["autoComplete"]; settings.completion.showAdvancedMembers = GetSetting(autoComplete, "showAdvancedMembers", true); var analysis = pythonSection["analysis"]; settings.analysis.openFilesOnly = GetSetting(analysis, "openFilesOnly", false); var errors = GetSetting(analysis, "errors", Array.Empty <string>()); var warnings = GetSetting(analysis, "warnings", Array.Empty <string>()); var information = GetSetting(analysis, "information", Array.Empty <string>()); var disabled = GetSetting(analysis, "disabled", Array.Empty <string>()); settings.analysis.SetErrorSeverityOptions(errors, warnings, information, disabled); await _server.DidChangeConfiguration(new DidChangeConfigurationParams { settings = settings }); if (!_filesLoaded) { await LoadDirectoryFiles(); _filesLoaded = true; } }
public static Task SendDidChangeConfiguration(this Server server, ServerSettings.PythonCompletionOptions pythonCompletionOptions, int failAfter = 30000) { var currentSettings = server.Settings; var settings = new LanguageServerSettings(); settings.completion.showAdvancedMembers = pythonCompletionOptions.showAdvancedMembers; settings.completion.addBrackets = pythonCompletionOptions.addBrackets; settings.analysis.openFilesOnly = currentSettings.analysis.openFilesOnly; if (currentSettings is LanguageServerSettings languageServerSettings) { settings.diagnosticPublishDelay = languageServerSettings.diagnosticPublishDelay; settings.symbolsHierarchyDepthLimit = languageServerSettings.symbolsHierarchyDepthLimit; } var errors = currentSettings.analysis.errors; var warnings = currentSettings.analysis.warnings; var information = currentSettings.analysis.information; var disabled = currentSettings.analysis.disabled; settings.analysis.SetErrorSeverityOptions(errors, warnings, information, disabled); return(server.SendDidChangeConfiguration(settings, failAfter)); }
/// <summary> /// Event subscription method to be run when PSES configuration has been updated. /// </summary> /// <param name="sender">The sender of the configuration update event.</param> /// <param name="settings">The new language server settings.</param> public void OnConfigurationUpdated(object sender, LanguageServerSettings settings) { InitializeAnalysisEngineToCurrentSettings(); }