package org.elixir_lang.folding;
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.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @see <a href="https://github.com/JetBrains/intellij-community/blob/22ad327271fbf0953803463ab132ba8253c1b496/python/src/com/jetbrains/python/PythonFoldingSettings.java">com.jetbrains.python.PythonFoldingSettings</a>
*/
@State(
name = "ElixirFoldingSettings",
storages = @Storage(file = "editor.codeinsight.xml")
)
public class ElixirFoldingSettings implements PersistentStateComponent<ElixirFoldingSettings> {
/*
* Fields
*/
public boolean COLLAPSE_ELIXIR_MODULE_DIRECTIVE_GROUPS = false;
public boolean REPLACE_MODULE_ATTRIBUTES_WITH_VALUES = false;
@Nullable
@Override
public ElixirFoldingSettings getState() {
return this;
}
@NotNull
public static ElixirFoldingSettings getInstance() {
return ServiceManager.getService(ElixirFoldingSettings.class);
}
@Override
public void loadState(ElixirFoldingSettings state) {
XmlSerializerUtil.copyBean(state, this);
}
public boolean isCollapseElixirModuleDirectiveGroups() {
return COLLAPSE_ELIXIR_MODULE_DIRECTIVE_GROUPS;
}
public boolean isReplaceModuleAttributesWithValues() {
return REPLACE_MODULE_ATTRIBUTES_WITH_VALUES;
}
}