in src/main/java/idea/plugin/psiviewer/view/PsiViewerPanel.java [316:337]
private void setRootElement(PsiElement rootElement)
{
if (rootElement instanceof PsiFile)
{
FileViewProvider viewProvider = ((PsiFile) rootElement).getViewProvider();
// iteration need, because getLanguages returns Set, not list, order is random
_projectComponent.updateLanguagesList(ContainerUtil.map(viewProvider.getAllFiles(), PsiElement::getLanguage));
Language selectedLanguage = _projectComponent.getSelectedLanguage();
if (selectedLanguage != null)
{
PsiElement selectedRoot = viewProvider.getPsi(selectedLanguage);
if( selectedRoot != null )
{
rootElement = selectedRoot;
}
}
}
_rootElement = rootElement;
showRootElement();
}