Search in sources :

Example 1 with InjectionsSettingsUI

use of org.intellij.plugins.intelliLang.InjectionsSettingsUI in project intellij-community by JetBrains.

the class EditInjectionSettingsAction method invokeImpl.

private static void invokeImpl(Project project, Editor editor, PsiFile file) {
    final PsiFile psiFile = InjectedLanguageUtil.findInjectedPsiNoCommit(file, editor.getCaretModel().getOffset());
    if (psiFile == null)
        return;
    final PsiLanguageInjectionHost host = InjectedLanguageManager.getInstance(project).getInjectionHost(psiFile);
    if (host == null)
        return;
    final LanguageInjectionSupport support = psiFile.getUserData(LanguageInjectionSupport.SETTINGS_EDITOR);
    if (support == null)
        return;
    try {
        if (!support.editInjectionInPlace(host)) {
            ShowSettingsUtil.getInstance().editConfigurable(project, new InjectionsSettingsUI(project, Configuration.getProjectInstance(project)));
        }
    } finally {
        FileContentUtil.reparseFiles(project, Collections.<VirtualFile>emptyList(), true);
    }
}
Also used : PsiLanguageInjectionHost(com.intellij.psi.PsiLanguageInjectionHost) PsiFile(com.intellij.psi.PsiFile) InjectionsSettingsUI(org.intellij.plugins.intelliLang.InjectionsSettingsUI)

Aggregations

PsiFile (com.intellij.psi.PsiFile)1 PsiLanguageInjectionHost (com.intellij.psi.PsiLanguageInjectionHost)1 InjectionsSettingsUI (org.intellij.plugins.intelliLang.InjectionsSettingsUI)1