From e039a675af2a723ca523b33a7e7168e2658e839c Mon Sep 17 00:00:00 2001 From: git Date: Wed, 6 May 2026 00:26:34 +0200 Subject: [PATCH] feat(miner): add support for Swift and Kotlin file extensions - Updated READABLE_EXTENSIONS in miner.py to include ".swift", ".kt", and ".kts". - Added tests in test_miner.py to ensure scanning includes Swift and Kotlin files. --- mempalace/miner.py | 3 +++ tests/test_miner.py | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/mempalace/miner.py b/mempalace/miner.py index ba0c630631..2a804b272b 100644 --- a/mempalace/miner.py +++ b/mempalace/miner.py @@ -48,6 +48,9 @@ ".java", ".go", ".rs", + ".swift", + ".kt", + ".kts", ".rb", ".sh", ".csv", diff --git a/tests/test_miner.py b/tests/test_miner.py index 10124eefd3..da4c1f3071 100644 --- a/tests/test_miner.py +++ b/tests/test_miner.py @@ -95,6 +95,33 @@ def test_scan_project_skips_mempalace_generated_files(): assert scanned_files(project_root) == ["notes.md"] +def test_scan_project_includes_swift_files(): + with tempfile.TemporaryDirectory() as tmpdir: + project_root = Path(tmpdir).resolve() + write_file( + project_root / "Sources" / "App.swift", + "struct App {}\n" * 20, + ) + assert scanned_files(project_root) == ["Sources/App.swift"] + + +def test_scan_project_includes_kotlin_files(): + with tempfile.TemporaryDirectory() as tmpdir: + project_root = Path(tmpdir).resolve() + write_file( + project_root / "src" / "Main.kt", + "fun main() {}\n" * 20, + ) + write_file( + project_root / "settings.gradle.kts", + 'rootProject.name = "demo"\n' * 20, + ) + assert scanned_files(project_root) == [ + "settings.gradle.kts", + "src/Main.kt", + ] + + def test_scan_project_respects_gitignore(): tmpdir = tempfile.mkdtemp() try: