blob: 170d108b3980f9d244e62c75984954acb036615a [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package fuchsia.developer.plugin.fidl;
import com.intellij.application.options.CodeStyleAbstractConfigurable;
import com.intellij.application.options.CodeStyleAbstractPanel;
import com.intellij.application.options.TabbedLanguageCodeStylePanel;
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 org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class FidlCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
@Override
public CustomCodeStyleSettings createCustomSettings(CodeStyleSettings settings) {
return new FidlCodeStyleSettings(settings);
}
@Nullable
@Override
public String getConfigurableDisplayName() {
return "FIDL";
}
@NotNull
public CodeStyleConfigurable createConfigurable(
@NotNull CodeStyleSettings settings, @NotNull CodeStyleSettings modelSettings) {
return new CodeStyleAbstractConfigurable(
settings, modelSettings, this.getConfigurableDisplayName()) {
@Override
protected CodeStyleAbstractPanel createPanel(CodeStyleSettings settings) {
return new FidlCodeStyleMainPanel(getCurrentSettings(), settings);
}
};
}
private static class FidlCodeStyleMainPanel extends TabbedLanguageCodeStylePanel {
public FidlCodeStyleMainPanel(CodeStyleSettings currentSettings, CodeStyleSettings settings) {
super(Language.INSTANCE, currentSettings, settings);
}
}
}