@Override
  public void apply(@NotNull CodeStyleSettings settings) {
    CommonCodeStyleSettings.IndentOptions indentOptions = settings.getLanguageIndentOptions(ShLanguage.INSTANCE);
    indentOptions.INDENT_SIZE = myIndentField.getValue();
    indentOptions.TAB_SIZE = myTabField.getValue();
    indentOptions.USE_TAB_CHARACTER = myTabCharacter.isSelected();

    ShCodeStyleSettings shSettings = settings.getCustomSettings(ShCodeStyleSettings.class);
    shSettings.BINARY_OPS_START_LINE = myBinaryOpsStartLine.isSelected();
    shSettings.SWITCH_CASES_INDENTED = mySwitchCasesIndented.isSelected();
    shSettings.REDIRECT_FOLLOWED_BY_SPACE = myRedirectFollowedBySpace.isSelected();
    shSettings.KEEP_COLUMN_ALIGNMENT_PADDING = myKeepColumnAlignmentPadding.isSelected();
    shSettings.MINIFY_PROGRAM = myMinifyProgram.isSelected();
    shSettings.USE_UNIX_LINE_SEPARATOR = myUnixLineSeparator.isSelected();
    ShSettings.setShfmtPath(myShfmtPathSelector.getText());
    myWarningPanel.setVisible(!ShShfmtFormatterUtil.isValidPath(myShfmtPathSelector.getText()));
    myErrorLabel.setVisible(false);
  }
@Override
  public void apply(@NotNull CodeStyleSettings settings)