diff --git a/assets/demo.svg b/assets/demo.svg index cc23c4d..8b1c795 100644 --- a/assets/demo.svg +++ b/assets/demo.svg @@ -1,42 +1 @@ - - - - - - - - - - - - - - - - - Terminal — searchdeadcode - - - $ - searchdeadcode ./my-android-app - - SearchDeadCode v0.4.0 - Discovering files... - Found 247 files to analyze - Running reachability analysis... - - Found 12 dead code issues: - - - app/src/main/java/com/example/OldApiClient.kt - - 15:1 class 'LegacyApiClient' is never used - - app/src/main/java/com/example/StringUtils.kt - - 42:5 function 'formatLegacyDate' is never used - - - Summary: 12 issues in 4 files - Estimated removable lines: ~340 - +Terminal — searchdeadcode$searchdeadcode ./my-android-appSearchDeadCode v0.4.0Discovering files...Found 247 files to analyzeRunning reachability analysis...Found 12 dead code issues:app/src/main/java/com/example/OldApiClient.kt15:1 class 'LegacyApiClient' is never usedapp/src/main/java/com/example/StringUtils.kt42:5 function 'formatLegacyDate' is never usedSummary: 12 issues in 4 filesEstimated removable lines: ~340 \ No newline at end of file diff --git a/assets/logo.svg b/assets/logo.svg index 3760acc..c310402 100644 --- a/assets/logo.svg +++ b/assets/logo.svg @@ -1,18 +1 @@ - - - - - - - - - - - - { - } - - - - - +{} \ No newline at end of file diff --git a/assets/social-preview.svg b/assets/social-preview.svg index 09fefb2..7882346 100644 --- a/assets/social-preview.svg +++ b/assets/social-preview.svg @@ -1,100 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - class UnusedHelper { - - fun deadMethod() - - - - - - - - - - - {} - - - - SearchDeadCode - - - Find and eliminate dead code in Android projects - - - - - - Kotlin - - - - Java - - - - Fast - - - - Built in Rust - - - - - - - - - - - $ - searchdeadcode - ./my-app - Found 12 unused items - in 0.8s - - - +class UnusedHelper {fun deadMethod(){}SearchDeadCodeFind and eliminate dead code in Android projectsKotlinJavaFastBuilt in Rust$searchdeadcode./my-appFound 12 unused itemsin 0.8s \ No newline at end of file diff --git a/editors/jetbrains/marketing/shot1-editor.png b/editors/jetbrains/marketing/shot1-editor.png index 5ddf856..957f295 100644 Binary files a/editors/jetbrains/marketing/shot1-editor.png and b/editors/jetbrains/marketing/shot1-editor.png differ diff --git a/editors/jetbrains/marketing/shot1-editor.svg b/editors/jetbrains/marketing/shot1-editor.svg index 6dfcca9..2b48b27 100644 --- a/editors/jetbrains/marketing/shot1-editor.svg +++ b/editors/jetbrains/marketing/shot1-editor.svg @@ -1,60 +1 @@ - - - - - - - - - - - - - - - - - Dead code greys out where you write it - Warning severity at most, the detector id on every finding, Alt+Enter to act - - - - - - PaymentFlow.kt - - - 121314 - 151617 - 181920 - - - class PaymentFlow(private val gateway: Gateway) { - fun charge(amount: Cents): Receipt = gateway.submit(amount) - } - - - - - class LegacyEncoder { - fun encode(payload: String): ByteArray = - payload.toByteArray(Charsets.ISO_8859_1) - } - - class 'LegacyEncoder' is never used - - DC001 - - fun main() = PaymentFlow(HttpGateway()).charge(4200) - - - - - - Delete unused class 'LegacyEncoder' - Ignore here with a reason - Add to searchdeadcode baseline (DC001) - Open searchdeadcode rule documentation - - Findings describe the disk: documents are saved before the scan, and an edited file drops its findings instantly - +Dead code greys out where you write itWarning severity at most, the detector id on every finding, Alt+Enter to actPaymentFlow.kt121314151617181920class PaymentFlow(private val gateway: Gateway) {fun charge(amount: Cents): Receipt = gateway.submit(amount)}class LegacyEncoder {fun encode(payload: String): ByteArray =payload.toByteArray(Charsets.ISO_8859_1)}class 'LegacyEncoder' is never usedDC001fun main() = PaymentFlow(HttpGateway()).charge(4200)Delete unused class 'LegacyEncoder'Ignore here with a reasonAdd to searchdeadcode baseline (DC001)Open searchdeadcode rule documentationFindings describe the disk: documents are saved before the scan, and an edited file drops its findings instantly \ No newline at end of file diff --git a/editors/jetbrains/marketing/shot2-toolwindow.png b/editors/jetbrains/marketing/shot2-toolwindow.png index 95439b6..d9f9d4a 100644 Binary files a/editors/jetbrains/marketing/shot2-toolwindow.png and b/editors/jetbrains/marketing/shot2-toolwindow.png differ diff --git a/editors/jetbrains/marketing/shot2-toolwindow.svg b/editors/jetbrains/marketing/shot2-toolwindow.svg index a8879d7..6248837 100644 --- a/editors/jetbrains/marketing/shot2-toolwindow.svg +++ b/editors/jetbrains/marketing/shot2-toolwindow.svg @@ -1,71 +1 @@ - - - - - - - - - - - - - - Every finding, one tool window - Grouped by file, double-click navigates, counters that stay honest when you edit - - - - - SearchDeadCode - - - Scan - - Clear - - - - 20 findings in 5 files • scanned at 14:32 • 1 file edited since, its findings dropped - - - - - app/src/main/kotlin/payments/LegacyEncoder.kt - (3) - - - 15: class 'LegacyEncoder' is never used - [DC001] - 42: function 'encodeV2' is never used - [DC013] - 58: import 'java.util.Base64' is never used - [DC004] - - - app/src/main/kotlin/ui/ThemeCompat.kt - (6) - - - core/src/main/kotlin/net/RetryPolicy.kt - (2) - - - features/profile/src/main/kotlin/AvatarCache.kt - (4) - - - app/src/main/java/analytics/LegacyTracker.java - (5) - - - - - Kotlin and Java, Android-aware - Activities, Compose, DI annotations and - manifest entries count as roots, so what - the framework calls is never "dead". - 22 detectors, each with a documented id. - - Scan on demand from the Tools menu, like a linter: no indexing, no background churn - +Every finding, one tool windowGrouped by file, double-click navigates, counters that stay honest when you editSearchDeadCodeScanClear20 findings in 5 files • scanned at 14:32 • 1 file edited since, its findings droppedapp/src/main/kotlin/payments/LegacyEncoder.kt(3)15: class 'LegacyEncoder' is never used[DC001]42: function 'encodeV2' is never used[DC013]58: import 'java.util.Base64' is never used[DC004]app/src/main/kotlin/ui/ThemeCompat.kt(6)core/src/main/kotlin/net/RetryPolicy.kt(2)features/profile/src/main/kotlin/AvatarCache.kt(4)app/src/main/java/analytics/LegacyTracker.java(5)Kotlin and Java, Android-awareActivities, Compose, DI annotations andmanifest entries count as roots, so whatthe framework calls is never "dead".22 detectors, each with a documented id.Scan on demand from the Tools menu, like a linter: no indexing, no background churn \ No newline at end of file diff --git a/editors/jetbrains/marketing/shot3-pipeline.png b/editors/jetbrains/marketing/shot3-pipeline.png index 8f3eb06..741b59f 100644 Binary files a/editors/jetbrains/marketing/shot3-pipeline.png and b/editors/jetbrains/marketing/shot3-pipeline.png differ diff --git a/editors/jetbrains/marketing/shot3-pipeline.svg b/editors/jetbrains/marketing/shot3-pipeline.svg index 332055e..d2a3c23 100644 --- a/editors/jetbrains/marketing/shot3-pipeline.svg +++ b/editors/jetbrains/marketing/shot3-pipeline.svg @@ -1,81 +1 @@ - - - - - - - - - - - - - - The editor and the pipeline agree - One analyzer, one version number, one baseline file - - - - In the IDE - - - class PaymentFlow { ... } - class LegacyEncoder { - fun encode(...) = ... - } - DC001 Alt+Enter to delete - - Greyed findings, quick fixes, - tool window - - plugin 0.19.1 - - - - - - - One baseline - - - .deadcode-baseline.json - { - "file": "src/Legacy.kt", - "name": "OldHelper", - "rule": "DC001" - } - - The IDE quick fix writes it, - the CI profile reads it - - committed - - - - - - - In the pipeline - - - $ searchdeadcode . --profile ci - Analyzed 4,812 files in 3.1s - Baseline: 41 known, skipped - 1 new finding → exit 1 - - Fails only on what a branch adds. - GitHub Action, orb, GitLab, Jenkins - - cli 0.19.1 - - - - - No JVM, no Gradle task - A native binary: 4,812 files in 3.1 s - Nothing bundled - Version-pinned download, SHA-256 checked - MIT, open source - github.com/KevinDoremy/SearchDeadCode - - +The editor and the pipeline agreeOne analyzer, one version number, one baseline fileIn the IDEclass PaymentFlow { ... }class LegacyEncoder {fun encode(...) = ...}DC001 Alt+Enter to deleteGreyed findings, quick fixes,tool windowplugin 0.19.1One baseline.deadcode-baseline.json{"file": "src/Legacy.kt","name": "OldHelper","rule": "DC001"}The IDE quick fix writes it,the CI profile reads itcommittedIn the pipeline$searchdeadcode . --profile ciAnalyzed 4,812 files in 3.1sBaseline: 41 known, skipped1 new finding → exit 1Fails only on what a branch adds.GitHub Action, orb, GitLab, Jenkinscli 0.19.1No JVM, no Gradle taskA native binary: 4,812 files in 3.1 sNothing bundledVersion-pinned download, SHA-256 checkedMIT, open sourcegithub.com/KevinDoremy/SearchDeadCode \ No newline at end of file diff --git a/editors/jetbrains/src/main/resources/META-INF/pluginIcon.svg b/editors/jetbrains/src/main/resources/META-INF/pluginIcon.svg index ae85836..f1501ce 100644 --- a/editors/jetbrains/src/main/resources/META-INF/pluginIcon.svg +++ b/editors/jetbrains/src/main/resources/META-INF/pluginIcon.svg @@ -1,9 +1 @@ - - - - - { - } - - - +{} \ No newline at end of file diff --git a/editors/jetbrains/src/main/resources/icons/toolWindowSearchDeadCode.svg b/editors/jetbrains/src/main/resources/icons/toolWindowSearchDeadCode.svg index 816aa3c..a7a89b5 100644 --- a/editors/jetbrains/src/main/resources/icons/toolWindowSearchDeadCode.svg +++ b/editors/jetbrains/src/main/resources/icons/toolWindowSearchDeadCode.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/editors/vscode/media/icon.png b/editors/vscode/media/icon.png index da39ac1..7477040 100644 Binary files a/editors/vscode/media/icon.png and b/editors/vscode/media/icon.png differ