public AutoCompleteSettings Create()
        {
            var loaded = _persister.Load(_defaultSettings);

            if (loaded == null)
            {
                return(_defaultSettings);
            }

            // Loaded settings don't contain defaults, so we need to combine user settings with defaults.
            var settings = new HashSet <AutoCompleteSetting>();

            foreach (var loadedSetting in loaded.AutoCompletes.Where(e => !settings.Contains(e) && _foundAutoCompleteKeys.Contains(e.Key)))
            {
                var matchingDefaultSetting = _defaultSettings.AutoCompletes.FirstOrDefault(e => !loaded.AutoCompletes.Contains(e) && e.Equals(loadedSetting));
                if (matchingDefaultSetting != null)
                {
                    loadedSetting.IsEnabled = matchingDefaultSetting.IsEnabled;
                }

                settings.Add(loadedSetting);
            }

            settings.UnionWith(_defaultSettings.AutoCompletes.Where(e => !settings.Contains(e)));
            loaded.AutoCompletes = settings;

            return(loaded);
        }
        protected override IEnumerable <IInspectionResult> DoGetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToArray();

            var handlers = State.DeclarationFinder.FindEventHandlers();

            var issues = UserDeclarations
                         .Where(declaration => !string.IsNullOrEmpty(declaration.IdentifierName) &&
                                !IgnoreDeclarationTypes.Contains(declaration.DeclarationType) &&
                                !(declaration.Context is LineNumberLabelContext) &&
                                (declaration.ParentDeclaration == null ||
                                 !IgnoreDeclarationTypes.Contains(declaration.ParentDeclaration.DeclarationType) &&
                                 !handlers.Contains(declaration.ParentDeclaration)) &&
                                !whitelistedNames.Contains(declaration.IdentifierName) &&
                                !VariableNameValidator.IsMeaningfulName(declaration.IdentifierName));

            return((from issue in issues
                    let props = issue.DeclarationType.HasFlag(DeclarationType.Module) ||
                                issue.DeclarationType.HasFlag(DeclarationType.Project)
                        ? new Dictionary <string, string> {
                { "DisableFixes", "IgnoreOnceQuickFix" }
            } : null
                    select new DeclarationInspectionResult(this,
                                                           string.Format(InspectionsUI.IdentifierNameInspectionResultFormat,
                                                                         RubberduckUI.ResourceManager.GetString("DeclarationType_" + issue.DeclarationType,
                                                                                                                CultureInfo.CurrentUICulture), issue.IdentifierName), issue, properties: props))
                   .ToList());
        }
        public CodeInspectionSettings Create()
        {
            var loaded = _persister.Load(_defaultSettings);

            if (loaded == null)
            {
                return _defaultSettings;
            }

            // Loaded settings don't contain defaults, so we need to combine user settings with defaults.
            var settings = new HashSet<CodeInspectionSetting>();

            foreach (var loadedSetting in loaded.CodeInspections.Where(inspection => _foundInspectionNames.Contains(inspection.Name)))
            {
                var matchingDefaultSetting = _defaultSettings.CodeInspections.FirstOrDefault(inspection => inspection.Equals(loadedSetting));
                if (matchingDefaultSetting != null)
                {
                    loadedSetting.InspectionType = matchingDefaultSetting.InspectionType;
                }

                settings.Add(loadedSetting);
            }

            settings.UnionWith(_defaultSettings.CodeInspections.Where(inspection => !settings.Contains(inspection)));

            loaded.CodeInspections = settings;

            return loaded;
        }
Example #4
0
        public override void Fix()
        {
            var inspectionSettings = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelist          = inspectionSettings.WhitelistedIdentifiers;

            inspectionSettings.WhitelistedIdentifiers =
                whitelist.Concat(new[] { new WhitelistedIdentifierSetting(_target.IdentifierName) }).ToArray();
            _settings.Save(inspectionSettings);
        }
Example #5
0
        public GeneralSettings Create()
        {
            var updated = _persister.Load(_defaultSettings) ?? _defaultSettings;

            CheckForEventsToRaise(updated);
            _current = updated;

            return(_current);
        }
        //The rewriteSession is optional since it is not used in this particular quickfix.
        public override void Fix(IInspectionResult result, IRewriteSession rewriteSession = null)
        {
            var inspectionSettings = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelist          = inspectionSettings.WhitelistedIdentifiers;

            inspectionSettings.WhitelistedIdentifiers =
                whitelist.Concat(new[] { new WhitelistedIdentifierSetting(result.Target.IdentifierName) }).ToArray();
            _settings.Save(inspectionSettings);
        }
Example #7
0
        public GeneralSettings Create()
        {
            var prototype = new GeneralSettings();
            var updated   = _persister.Load(prototype) ?? prototype;

            CheckForEventsToRaise(updated);
            _current = updated;

            return(_current);
        }
        public CodeInspectionSettings Create(IEnumerable <IInspection> inspections)
        {
            if (inspections == null)
            {
                return(null);
            }

            _inspections = inspections;
            var prototype = new CodeInspectionSettings(GetDefaultCodeInspections());

            return(_persister.Load(prototype) ?? prototype);
        }
        private void LoadSavedContacts(object parameter)
        {
            var contacts = persistanceService.Load(FilePath);

            if (contacts != null)
            {
                foreach (var contact in contacts)
                {
                    contactsListViewModel.AddNewContactViewModel(contact);
                }
            }
        }
        public HotkeySettings Create()
        {
            var prototype = new HotkeySettings(_defaultHotkeys);

            // Loaded settings don't contain defaults, so we need to use the `Settings` property to combine user settings with defaults.
            var loaded = _persister.Load(prototype);

            if (loaded != null)
            {
                prototype.Settings = loaded.Settings;
            }

            return(prototype);
        }
Example #11
0
        public override IEnumerable <InspectionResultBase> GetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToList();

            var hungarians = UserDeclarations
                             .Where(declaration => !whitelistedNames.Contains(declaration.IdentifierName) &&
                                    TargetDeclarationTypes.Contains(declaration.DeclarationType) &&
                                    HungarianIdentifierRegex.IsMatch(declaration.IdentifierName))
                             .Select(issue => new IdentifierNameInspectionResult(this, issue, State, _messageBox, _settings))
                             .ToList();

            return(hungarians);
        }
        public override IEnumerable <InspectionResultBase> GetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToList();

            var issues = UserDeclarations
                         .Where(declaration => declaration.DeclarationType != DeclarationType.ModuleOption &&
                                !whitelistedNames.Contains(declaration.IdentifierName) &&
                                (declaration.IdentifierName.Length < 3 ||
                                 char.IsDigit(declaration.IdentifierName.Last()) ||
                                 !declaration.IdentifierName.Any(c =>
                                                                 "aeiouy".Any(a => string.Compare(a.ToString(), c.ToString(), StringComparison.OrdinalIgnoreCase) == 0))))
                         .Select(issue => new UseMeaningfulNameInspectionResult(this, issue, State, _messageBox))
                         .ToList();

            return(issues);
        }
Example #13
0
        protected override IEnumerable <IInspectionResult> DoGetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToList();

            var hungarians = UserDeclarations
                             .Where(declaration => !whitelistedNames.Contains(declaration.IdentifierName) &&
                                    TargetDeclarationTypes.Contains(declaration.DeclarationType) &&
                                    HungarianIdentifierRegex.IsMatch(declaration.IdentifierName))
                             .Select(issue => new DeclarationInspectionResult(this,
                                                                              string.Format(Resources.Inspections.InspectionResults.IdentifierNameInspection,
                                                                                            RubberduckUI.ResourceManager.GetString($"DeclarationType_{issue.DeclarationType}", CultureInfo.CurrentUICulture),
                                                                                            issue.IdentifierName),
                                                                              issue));

            return(hungarians);
        }
        protected override IEnumerable <IInspectionResult> DoGetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToArray();

            var handlers = State.DeclarationFinder.FindEventHandlers();

            var issues = UserDeclarations
                         .Where(declaration => !string.IsNullOrEmpty(declaration.IdentifierName) &&
                                !IgnoreDeclarationTypes.Contains(declaration.DeclarationType) &&
                                !(declaration.Context is LineNumberLabelContext) &&
                                (declaration.ParentDeclaration == null ||
                                 !IgnoreDeclarationTypes.Contains(declaration.ParentDeclaration.DeclarationType) &&
                                 !handlers.Contains(declaration.ParentDeclaration)) &&
                                !whitelistedNames.Contains(declaration.IdentifierName) &&
                                !VariableNameValidator.IsMeaningfulName(declaration.IdentifierName));

            return((from issue in issues select CreateInspectionResult(this, issue))
                   .ToList());
        }
        public override IEnumerable <InspectionResultBase> GetInspectionResults()
        {
            var settings         = _settings.Load(new CodeInspectionSettings()) ?? new CodeInspectionSettings();
            var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToArray();

            var handlers = State.DeclarationFinder.FindEventHandlers();

            var issues = UserDeclarations
                         .Where(declaration => !string.IsNullOrEmpty(declaration.IdentifierName) &&
                                !IgnoreDeclarationTypes.Contains(declaration.DeclarationType) &&
                                (declaration.ParentDeclaration == null ||
                                 !IgnoreDeclarationTypes.Contains(declaration.ParentDeclaration.DeclarationType) &&
                                 !handlers.Contains(declaration.ParentDeclaration)) &&
                                !whitelistedNames.Contains(declaration.IdentifierName) &&
                                !VariableNameValidator.IsMeaningfulName(declaration.IdentifierName))
                         .Select(issue => new IdentifierNameInspectionResult(this, issue, State, _messageBox, _settings))
                         .ToList();

            return(issues);
        }
Example #16
0
        public IndenterSettings Create()
        {
            var prototype = new IndenterSettings(false);

            return(_persister.Load(prototype) ?? prototype);
        }
Example #17
0
 public WindowSettings Create()
 {
     return(_persister.Load(_defaultSettings) ?? _defaultSettings);
 }
Example #18
0
        public ToDoListSettings Create()
        {
            var prototype = new ToDoListSettings();

            return(_persister.Load(prototype) ?? prototype);
        }
Example #19
0
        public ReferenceSettings Create()
        {
            var defaults = CreateDefaults();

            return(_persister.Load(defaults) ?? defaults);
        }
        public UnitTestSettings Create()
        {
            var prototype = new UnitTestSettings();

            return(_persister.Load(prototype) ?? prototype);
        }
Example #21
0
        public CodeInspectionSettings Create()
        {
            var prototype = new CodeInspectionSettings(GetDefaultCodeInspections(), new WhitelistedIdentifierSetting[] { });

            return(_persister.Load(prototype) ?? prototype);
        }
Example #22
0
 public AutoCompleteSettings Create()
 {
     return(_persister.Load(_defaultSettings) ?? _defaultSettings);
 }
Example #23
0
        public HotkeySettings Create()
        {
            var prototype = new HotkeySettings();

            return(_persister.Load(prototype) ?? prototype);
        }
 public UnitTestSettings Create()
 {
     return(_persister.Load(_defaultSettings) ?? _defaultSettings);
 }
Example #25
0
        public WindowSettings Create()
        {
            var prototype = new WindowSettings();

            return(_persister.Load(prototype) ?? prototype);
        }