/* * Copyright 2013 Guidewire Software, Inc. */ package gw.plugin.ij.formatting; import com.intellij.application.options.CodeStyleAbstractConfigurable; import com.intellij.application.options.CodeStyleAbstractPanel; import com.intellij.application.options.TabbedLanguageCodeStylePanel; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; import com.intellij.psi.codeStyle.CustomCodeStyleSettings; import gw.plugin.ij.lang.GosuLanguage; import org.jetbrains.annotations.NotNull; public class GosuCodeStyleSettingsProvider extends CodeStyleSettingsProvider { @NotNull @Override public Configurable createSettingsPage(@NotNull CodeStyleSettings settings, CodeStyleSettings originalSettings) { return new CodeStyleAbstractConfigurable(settings, originalSettings, "Gosu") { @NotNull @Override protected CodeStyleAbstractPanel createPanel(CodeStyleSettings settings) { return new GosuCodeStyleMainPanel(GosuLanguage.instance(), getCurrentSettings(), settings); } @Override public String getHelpTopic() { return "reference.settingsdialog.codestyle.gosu"; } }; } @Override public String getConfigurableDisplayName() { return "Gosu"; } @Override public CustomCodeStyleSettings createCustomSettings(CodeStyleSettings settings) { return new GosuCodeStyleSettings("gosu-code-style-settings", settings); } }