package org.jetbrains.plugins.cucumber.psi.formatter; import com.intellij.application.options.IndentOptionsEditor; import com.intellij.application.options.SmartIndentOptionsEditor; import com.intellij.lang.Language; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.cucumber.psi.GherkinLanguage; /** * @author Rustam Vishnyakov */ public class GherkinLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSettingsProvider { @NotNull @Override public Language getLanguage() { return GherkinLanguage.INSTANCE; } @Override public CommonCodeStyleSettings getDefaultCommonSettings() { CommonCodeStyleSettings defaultSettings = new CommonCodeStyleSettings(GherkinLanguage.INSTANCE); CommonCodeStyleSettings.IndentOptions indentOptions = defaultSettings.initIndentOptions(); indentOptions.INDENT_SIZE = 2; return defaultSettings; } @Override public String getCodeSample(@NotNull SettingsType settingsType) { return "Feature: Formatting\n" + " Scenario: Reformat Cucumber file\n"; } @Override public IndentOptionsEditor getIndentOptionsEditor() { return new SmartIndentOptionsEditor(); } }