package org.jetbrains.plugins.clojure.formatter.codeStyle;
import com.intellij.application.options.CodeStyleAbstractConfigurable;
import com.intellij.application.options.CodeStyleAbstractPanel;
import com.intellij.lang.Language;
import com.intellij.openapi.options.Configurable;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsProvider;
import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.clojure.ClojureBundle;
import org.jetbrains.plugins.clojure.file.ClojureFileType;
/**
* @author ilyas
*/
public class ClojureCodeStyleSettingsProvider extends CodeStyleSettingsProvider{
@NotNull
public Configurable createSettingsPage(CodeStyleSettings settings, CodeStyleSettings originalSettings) {
return new CodeStyleAbstractConfigurable(settings, originalSettings, ClojureBundle.message("title.clojure.code.style.settings")) {
protected CodeStyleAbstractPanel createPanel(CodeStyleSettings settings) {
return new ClojureCodeStylePanel(settings);
}
public String getHelpTopic() {
return "reference.settingsdialog.IDE.globalcodestyle.spaces";
}
};
}
@Nullable
@Override
public Language getLanguage() {
return ClojureFileType.CLOJURE_LANGUAGE;
}
@Override
public CustomCodeStyleSettings createCustomSettings(CodeStyleSettings settings) {
return new ClojureCodeStyleSettings(settings);
}
}