Skip to content

Commit 99a51a6

Browse files
committed
feat: refresh folding in open files when settings are applied
1 parent 62c6e85 commit 99a51a6

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/main/kotlin/dev/zbinski/htmlattributefolder/AttributeFolderSettings.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ package dev.zbinski.htmlattributefolder
22

33
import javax.swing.JComponent
44
import com.intellij.openapi.options.Configurable
5+
import com.intellij.openapi.project.ProjectManager
6+
import com.intellij.openapi.fileEditor.FileEditorManager
7+
import com.intellij.openapi.fileEditor.TextEditor
8+
import com.intellij.codeInsight.folding.CodeFoldingManager
59

610
class AttributeFolderSettings(): Configurable {
711
private var settingsComponent: AttributeFolderComponent? = null
@@ -35,6 +39,14 @@ class AttributeFolderSettings(): Configurable {
3539
settings.foldingMethod = settingsComponent?.foldingMethod ?: 0
3640
settings.collapseByDefault = settingsComponent?.collapseByDefault ?: true
3741
settings.attributes = ArrayList(getAttributes(settingsComponent?.attributes))
42+
43+
// Refresh folding in all open editors
44+
for (project in ProjectManager.getInstance().openProjects) {
45+
for (editor in FileEditorManager.getInstance(project).allEditors) {
46+
val textEditor = (editor as? TextEditor)?.editor ?: continue
47+
CodeFoldingManager.getInstance(project).updateFoldRegions(textEditor)
48+
}
49+
}
3850
}
3951

4052
override fun reset() {

0 commit comments

Comments
 (0)