From dc1dc87023aacd73102f7de7cb8e6762c0221367 Mon Sep 17 00:00:00 2001 From: catlog22 Date: Thu, 5 Mar 2026 14:28:13 +0800 Subject: [PATCH] codex-lens: add Swift (.swift) indexing support --- codex-lens/src/codexlens/api/file_context.py | 1 + codex-lens/src/codexlens/config.py | 1 + codex-lens/tests/test_config.py | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/codex-lens/src/codexlens/api/file_context.py b/codex-lens/src/codexlens/api/file_context.py index 6e1f9408..fafa209f 100644 --- a/codex-lens/src/codexlens/api/file_context.py +++ b/codex-lens/src/codexlens/api/file_context.py @@ -216,6 +216,7 @@ def _detect_language(file_path: Path) -> str: ".go": "go", ".rs": "rust", ".java": "java", + ".swift": "swift", ".c": "c", ".cpp": "cpp", ".h": "c", diff --git a/codex-lens/src/codexlens/config.py b/codex-lens/src/codexlens/config.py index a420c96a..8548dcfe 100644 --- a/codex-lens/src/codexlens/config.py +++ b/codex-lens/src/codexlens/config.py @@ -80,6 +80,7 @@ class Config: "go": {"extensions": [".go"], "tree_sitter_language": "go", "category": "code"}, "zig": {"extensions": [".zig"], "tree_sitter_language": "zig", "category": "code"}, "objective-c": {"extensions": [".m", ".mm"], "tree_sitter_language": "objc", "category": "code"}, + "swift": {"extensions": [".swift"], "tree_sitter_language": "swift", "category": "code"}, "c": {"extensions": [".c", ".h"], "tree_sitter_language": "c", "category": "code"}, "cpp": {"extensions": [".cc", ".cpp", ".hpp", ".cxx"], "tree_sitter_language": "cpp", "category": "code"}, "rust": {"extensions": [".rs"], "tree_sitter_language": "rust", "category": "code"}, diff --git a/codex-lens/tests/test_config.py b/codex-lens/tests/test_config.py index 96b7e7b5..d6acb3fa 100644 --- a/codex-lens/tests/test_config.py +++ b/codex-lens/tests/test_config.py @@ -180,9 +180,18 @@ class TestConfig: assert "typescript" in config.supported_languages assert "java" in config.supported_languages assert "go" in config.supported_languages + assert "swift" in config.supported_languages finally: del os.environ["CODEXLENS_DATA_DIR"] + def test_language_for_path_swift(self): + """Swift (.swift) files should be recognized as code.""" + with tempfile.TemporaryDirectory() as tmpdir: + config = Config(data_dir=Path(tmpdir)) + assert config.language_for_path("x.swift") == "swift" + assert config.language_for_path("X.SWIFT") == "swift" + assert config.category_for_path("x.swift") == "code" + def test_cache_dir_property(self): """Test cache_dir property.""" with tempfile.TemporaryDirectory() as tmpdir: