package com.scss.settings;
import com.intellij.openapi.components.*;
import com.intellij.openapi.project.Project;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.Nullable;
@State(name = "ScssLintProjectComponent",
storages = {
@Storage(id = "default", file = StoragePathMacros.PROJECT_FILE),
@Storage(id = "dir", file = StoragePathMacros.PROJECT_CONFIG_DIR + "/scssLintPlugin.xml", scheme = StorageScheme.DIRECTORY_BASED)})
public class Settings implements PersistentStateComponent<Settings> {
public String scssLintConfigFile = "";
public String scssLintExecutable = "";
public boolean treatAllIssuesAsWarnings;
public boolean pluginEnabled;
public static Settings getInstance(Project project) {
return ServiceManager.getService(project, Settings.class);
}
@Nullable
@Override
public Settings getState() {
return this;
}
@Override
public void loadState(Settings state) {
XmlSerializerUtil.copyBean(state, this);
}
public String getVersion() {
return scssLintExecutable + scssLintConfigFile + treatAllIssuesAsWarnings;
}
}