/// <summary>
        /// Copy constructor.
        /// </summary>
        /// <param name="codeFormattingSettings">An instance of type CodeFormattingSettings.</param>
        public CodeFormattingSettings(CodeFormattingSettings codeFormattingSettings)
        {
            if (codeFormattingSettings == null)
            {
                throw new ArgumentNullException(nameof(codeFormattingSettings));
            }

            foreach (var prop in this.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
            {
                prop.SetValue(this, prop.GetValue(codeFormattingSettings));
            }
        }
 public void Update(
     LanguageServerSettings settings,
     string workspaceRootPath,
     ILogger logger)
 {
     if (settings != null)
     {
         this.EnableProfileLoading = settings.EnableProfileLoading;
         this.ScriptAnalysis.Update(
             settings.ScriptAnalysis,
             workspaceRootPath,
             logger);
         this.CodeFormatting = new CodeFormattingSettings(settings.CodeFormatting);
     }
 }
 public LanguageServerSettings()
 {
     this.ScriptAnalysis = new ScriptAnalysisSettings();
     this.CodeFormatting = new CodeFormattingSettings();
 }