From 2bc48a119f8a3553480badcd96a6e7593a87013d Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Wed, 6 Oct 2021 02:18:27 +0300 Subject: [PATCH] KTNB, DS: Turn off folding for injected code in Kotlin Notebooks GitOrigin-RevId: bde88dafffe1d26ac8358413452f1508b8512499 --- .../intellij/codeInsight/folding/impl/FoldingUpdate.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java index 40e7fa7914f5..4726fe678e5d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/FoldingUpdate.java @@ -44,6 +44,8 @@ public final class FoldingUpdate { private static final Key> CODE_FOLDING_KEY = Key.create("code folding"); + public static final Key INJECTED_CODE_FOLDING_ENABLED = Key.create("injected code folding is enabled"); + private FoldingUpdate() { } @@ -130,6 +132,10 @@ public final class FoldingUpdate { @Nullable public static Runnable updateInjectedFoldRegions(@NotNull final Editor editor, @NotNull final PsiFile file, final boolean applyDefaultState) { if (file instanceof PsiCompiledElement) return null; + final Boolean codeFoldingEnabled = editor.getUserData(INJECTED_CODE_FOLDING_ENABLED); + if (codeFoldingEnabled != null && !codeFoldingEnabled) { + return null; + } ApplicationManager.getApplication().assertReadAccessAllowed(); final Project project = file.getProject();