package com.dmarcotte.handlebars.format; import com.dmarcotte.handlebars.psi.HbPsiFile; import com.intellij.lang.Language; import com.intellij.psi.PsiFile; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.codeStyle.FileIndentOptionsProvider; import com.intellij.psi.templateLanguages.TemplateLanguageFileViewProvider; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class HbFileIndentOptionsProvider extends FileIndentOptionsProvider { @Nullable @Override public CommonCodeStyleSettings.IndentOptions getIndentOptions(@NotNull CodeStyleSettings settings, @NotNull PsiFile file) { if (file instanceof HbPsiFile) { if (file.getViewProvider() instanceof TemplateLanguageFileViewProvider) { Language language = ((TemplateLanguageFileViewProvider)file.getViewProvider()).getTemplateDataLanguage(); return settings.getCommonSettings(language).getIndentOptions(); } } return null; } }