Skip to content

Commit d5cdf35

Browse files
authored
Fix missing ignored patterns for windowtools (#75)
1 parent 449ab77 commit d5cdf35

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

  • compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow

compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/StabilityToolWindow.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,21 @@ public class StabilityToolWindow(private val project: Project) {
163163
}
164164

165165
private fun applyFilter() {
166+
// Get ignored patterns from settings
167+
val settings = com.skydoves.compose.stability.idea.settings.StabilitySettingsState.getInstance()
168+
val ignoredPatterns = settings.getIgnoredPatternsAsRegex()
169+
170+
// Filter composables based on current filter type and ignored patterns
166171
val filteredComposables = when (currentFilter) {
167172
FilterType.ALL -> allComposables
168173
FilterType.SKIPPABLE -> allComposables.filter { it.isSkippable }
169174
FilterType.UNSKIPPABLE -> allComposables.filter { !it.isSkippable }
175+
}.map { composable ->
176+
// Filter out ignored parameters
177+
val filteredParameters = composable.parameters.filter { param ->
178+
!shouldIgnoreParameter(param.type, ignoredPatterns)
179+
}
180+
composable.copy(parameters = filteredParameters)
170181
}
171182

172183
val stats = StabilityStats(
@@ -179,6 +190,13 @@ public class StabilityToolWindow(private val project: Project) {
179190
updateTree(results)
180191
}
181192

193+
/**
194+
* Check if a parameter type should be ignored based on user-configured patterns.
195+
*/
196+
private fun shouldIgnoreParameter(typeName: String, ignoredPatterns: List<Regex>): Boolean {
197+
return ignoredPatterns.any { pattern -> pattern.matches(typeName) }
198+
}
199+
182200
private fun navigateToSource(composable: ComposableInfo) {
183201
val virtualFile = com.intellij.openapi.vfs.LocalFileSystem.getInstance()
184202
.findFileByPath(composable.filePath) ?: return

0 commit comments

Comments
 (0)