content: /**
   * Copied and adapted from plugin
   * <a href="https://github.com/neueda/jetbrains-plugin-graph-database-support">Graph Database Support</a>
   * by Neueda Technologies, Ltd.
   * Modified by Alberto Venturini, 2022
   */
  package com.albertoventurini.graphdbplugin.jetbrains.formatter;
  
  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.psi.codeStyle.CodeStyleConfigurable;
  import com.intellij.psi.codeStyle.CodeStyleSettings;
  import com.intellij.psi.codeStyle.CodeStyleSettingsProvider;
  import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
  import com.albertoventurini.graphdbplugin.language.cypher.CypherLanguage;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  
  public class CypherCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
  
      @Nullable
      @Override
      public CustomCodeStyleSettings createCustomSettings(CodeStyleSettings settings) {
          return new CypherCodeStyleSettings(settings);
      }
  
      @Nullable
      @Override
      public String getConfigurableDisplayName() {
          return "Cypher";
      }
  
      @NotNull
      @Override
      public CodeStyleConfigurable createConfigurable(
              @NotNull final CodeStyleSettings settings,
              @NotNull final CodeStyleSettings originalSettings) {
          return new CodeStyleAbstractConfigurable(settings, originalSettings, "Cypher") {
              @Override
              protected CodeStyleAbstractPanel createPanel(CodeStyleSettings settings) {
                  return new CypherCodeStyleMainPanel(getCurrentSettings(), settings);
              }
  
              @Nullable
              @Override
              public String getHelpTopic() {
                  return null;
              }
          };
      }
  
      private static class CypherCodeStyleMainPanel extends TabbedLanguageCodeStylePanel {
          CypherCodeStyleMainPanel(CodeStyleSettings currentSettings, CodeStyleSettings settings) {
              super(CypherLanguage.INSTANCE, currentSettings, settings);
          }
  
          @Override
          protected void addSpacesTab(CodeStyleSettings settings) {
          }
  
          @Override
          protected void addBlankLinesTab(CodeStyleSettings settings) {
          }
  
          @Override
          protected void addWrappingAndBracesTab(CodeStyleSettings settings) {
          }
      }
  }
  