package com.haskforce.features.structureview;
import com.haskforce.psi.HaskellFile;
import com.intellij.ide.structureView.StructureViewModel;
import com.intellij.ide.structureView.StructureViewModelBase;
import com.intellij.ide.structureView.StructureViewTreeElement;
import com.intellij.ide.util.treeView.smartTree.Sorter;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
/**
* The model in structure view. Controls hierarchy.
*/
public class HaskellStructureViewModel extends StructureViewModelBase implements
StructureViewModel.ElementInfoProvider {
public HaskellStructureViewModel(PsiFile psiFile) {
super(psiFile, new HaskellStructureViewElement(psiFile));
}
@NotNull
public Sorter[] getSorters() {
return new Sorter[] {Sorter.ALPHA_SORTER};
}
@Override
public boolean isAlwaysShowsPlus(StructureViewTreeElement element) {
return false;
}
@Override
public boolean isAlwaysLeaf(StructureViewTreeElement element) {
return element instanceof HaskellFile;
}
}