package org.iwakura.larcjb import com.intellij.openapi.components.* import com.intellij.openapi.project.Project @Service(Service.Level.PROJECT) @State( name = "LarcVcsSettings", storages = [Storage("larc.xml")] ) class LarcVcsSettings : PersistentStateComponent { private var state = State() class State { var executablePath: String = "" var defaultAuthor: String = "" } var executablePath: String get() = state.executablePath set(value) { state.executablePath = value } var defaultAuthor: String get() = state.defaultAuthor set(value) { state.defaultAuthor = value } override fun getState(): State = state override fun loadState(state: State) { this.state = state } companion object { @JvmStatic fun getInstance(project: Project): LarcVcsSettings { return project.getService(LarcVcsSettings::class.java) } } }