From 8c00040dd8ad1820c213dac92b6966e13da1b340 Mon Sep 17 00:00:00 2001 From: rajkumarsakthivel Date: Fri, 3 Jul 2026 21:30:41 +0100 Subject: [PATCH 1/2] docs: add C# to AST-aware supported languages in README --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f979216..8311cff 100644 --- a/README.md +++ b/README.md @@ -391,7 +391,7 @@ No GPU required. With Ollama, embeddings are handled by the Ollama server. With ## Supported Languages -**AST-aware chunking (tree-sitter parsed, 10 extensions):** +**AST-aware chunking (tree-sitter parsed, 11 extensions):** | Language | Extensions | |----------|-----------| @@ -402,13 +402,14 @@ No GPU required. With Ollama, embeddings are handled by the Ollama server. With | Go | `.go` | | Rust | `.rs` | | Java | `.java` | +| C# | `.cs` | **Language-aware fallback chunking (40+ extensions):** | Category | Languages | |----------|-----------| | Web | HTML, CSS, SCSS, LESS, Vue, Svelte | -| Systems | C, C++, C#, Zig, Nim | +| Systems | C, C++, Zig, Nim | | Mobile | Swift, Kotlin, Dart | | Functional | Haskell, Scala, Clojure, Elixir, Erlang, F# | | Scripting | Ruby, Perl, Lua, R, Bash/Zsh | From 70acd0b010f4743531e055cfe4c4a1e344efb100 Mon Sep 17 00:00:00 2001 From: rajkumarsakthivel Date: Fri, 24 Jul 2026 15:41:11 +0100 Subject: [PATCH 2/2] fix(indexer): use explicit UTF-8 encoding for git log subprocess calls (#140) On Windows with non-UTF-8 system locales (e.g. Korean cp949), Python's subprocess.run with text=True decodes using the system codepage. Git log output is UTF-8 regardless of locale, so non-ASCII commit messages or author names cause UnicodeDecodeError, aborting git history indexing. Pass encoding="utf-8", errors="replace" on both subprocess.run calls in index_commits to match git's actual output encoding. --- src/context_engine/indexer/git_indexer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/context_engine/indexer/git_indexer.py b/src/context_engine/indexer/git_indexer.py index 7d439a4..1cb3a0d 100644 --- a/src/context_engine/indexer/git_indexer.py +++ b/src/context_engine/indexer/git_indexer.py @@ -32,7 +32,8 @@ async def index_commits( meta_result = await asyncio.to_thread( subprocess.run, ["git", "log", range_arg, "--format=%H%n%an%n%ai%n%s%n%b%x00"], - cwd=project_dir, capture_output=True, text=True, check=False, + cwd=project_dir, capture_output=True, text=True, + encoding="utf-8", errors="replace", check=False, ) if meta_result.returncode != 0: @@ -42,7 +43,8 @@ async def index_commits( files_result = await asyncio.to_thread( subprocess.run, ["git", "log", range_arg, "--name-only", "--format=%H"], - cwd=project_dir, capture_output=True, text=True, check=False, + cwd=project_dir, capture_output=True, text=True, + encoding="utf-8", errors="replace", check=False, ) changed_files_by_hash: dict[str, list[str]] = {}