From db6fb36416faca04835d875ab957dee7d25933b7 Mon Sep 17 00:00:00 2001 From: Nicolay Mitropolsky Date: Sun, 8 Oct 2017 21:45:25 +0300 Subject: [PATCH] LanguageFolding: UAST Support (IDEA-175797) --- .../src/com/intellij/lang/folding/LanguageFolding.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platform/core-api/src/com/intellij/lang/folding/LanguageFolding.java b/platform/core-api/src/com/intellij/lang/folding/LanguageFolding.java index 4530ec081dc8..d882c04b347d 100644 --- a/platform/core-api/src/com/intellij/lang/folding/LanguageFolding.java +++ b/platform/core-api/src/com/intellij/lang/folding/LanguageFolding.java @@ -19,6 +19,7 @@ package com.intellij.lang.folding; import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.lang.LanguageExtension; +import com.intellij.lang.MetaLanguage; import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.DumbService; import com.intellij.psi.PsiElement; @@ -46,6 +47,15 @@ public class LanguageFolding extends LanguageExtension { List extensions = forKey(l); FoldingBuilder result; + + if (!(l instanceof MetaLanguage)) { + for (MetaLanguage metaLanguage : MetaLanguage.all()) { + if (metaLanguage.getMatchingLanguages().contains(l)) { + extensions.addAll(allForLanguage(metaLanguage)); + } + } + } + if (extensions.isEmpty()) { Language base = l.getBaseLanguage();