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.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 com.albertoventurini.graphdbplugin.language.cypher.CypherLanguage;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  
  public class CypherLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSettingsProvider {
  
      @NotNull
      @Override
      public Language getLanguage() {
          return CypherLanguage.INSTANCE;
      }
  
      @Nullable
      @Override
      public IndentOptionsEditor getIndentOptionsEditor() {
          return new SmartIndentOptionsEditor();
      }
  
      @Override
      public void customizeDefaults(
              @NotNull final CommonCodeStyleSettings commonSettings,
              @NotNull final CommonCodeStyleSettings.IndentOptions indentOptions) {
          indentOptions.INDENT_SIZE = 2;
          indentOptions.CONTINUATION_INDENT_SIZE = 2;
          indentOptions.TAB_SIZE = 2;
          indentOptions.USE_TAB_CHARACTER = false;
      }
  
      @Override
      public String getCodeSample(@NotNull SettingsType settingsType) {
          return "MATCH (tom:Person {name:\"Tom Hanks\"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),"
                  + "(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors) "
                  + "WHERE NOT (tom)-[:ACTED_IN]->(m2) "
                  + "RETURN cocoActors.name AS Recommended, count(*) AS Strength "
                  + "ORDER BY Strength DESC;";
      }
  }
  