coala plugin for JetBrains IDEs - coala provides a unified interface for linting and fixing code with a single configuration file, regardless of the programming languages used.
Currently, we have 3 classes for working with settings
ProjectSettings (a ProjectComponent) handles the runtime settings (if any)
CodeAnalysisSettingsPage contains logic for settings page
CodeAnalysisSettingsPersistent to persist the settings to the fs
Changes done in settings page, need to modify both the other classes.
Possible solution:
Make CodeAnalysisSettingsPage an applicationConfigurable and CodeAnalysisSettingsPersistent as an ApplicationService
the main action to run coala, would first call internal method to update ProjectSettings which would in-turn load all the settings from the persistent class and,
all the other classes (in a particular project) would communicate directly with ProjectSettings class.
Currently, we have 3 classes for working with settings
ProjectSettings
(a ProjectComponent) handles the runtime settings (if any)CodeAnalysisSettingsPage
contains logic for settings pageCodeAnalysisSettingsPersistent
to persist the settings to the fsChanges done in settings page, need to modify both the other classes.
Possible solution:
CodeAnalysisSettingsPage
anapplicationConfigurable
andCodeAnalysisSettingsPersistent
as anApplicationService
ProjectSettings
which would in-turn load all the settings from the persistent class and,ProjectSettings
class.