package org.angularjs.settings; import com.intellij.lang.typescript.compiler.ui.TypeScriptServerServiceSettings; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.Nullable; @State(name = "AngularJSSettings", storages = @Storage("angular-settings.xml")) public class AngularSettings implements TypeScriptServerServiceSettings, PersistentStateComponent<AngularSettings.Settings> { private Settings myState = new AngularSettings.Settings(); public static AngularSettings get(Project project) { return ServiceManager.getService(project, AngularSettings.class); } static class Settings { public boolean useService = true; } @Nullable @Override public AngularSettings.Settings getState() { return myState; } @Override public void loadState(AngularSettings.Settings state) { myState = state; } public boolean isUseService() { return myState.useService; } public void setUseService(boolean useService) { myState.useService = useService; } @Override public String getTitle() { return "Use Angular service"; } }