Most of this release is contributed by @michael-howell-island. Big thanks!
New features
- PathFilter with
.codesurfaceignore,--excludeglobs, and worktree/submodule skipping file_pathscoping onsearch,get_signature,get_classtoolsinclude_testsparameter to filter test files (default: exclude). Detects__tests__/,tests/,test/,*.test.*,*.spec.*,*_test.*,test_*- Progress reporting during indexing (stderr, percentage and file count)
--include-submodulesCLI flag- Tilde expansion in
--projectpaths (e.g.~/work/repo) - TypeScript parser now indexes
.jsand.jsxfiles - C++ parser (headers:
.h,.hpp,.hxx,.h++)
Performance
- Consolidated directory walks (3 down to 2 in
_index_full) - String-based path operations in walk loops (no
Path()per dir, norelative_to()per file) - Per-parser file walking applied consistently in incremental reindex
--languageflag honored in incremental walks (polyglot codebases no longer re-parse off-language files on every reindex)
Fixes
- Progress count matches parser exclusion rules
- Parse failures still emit progress callbacks
- Polyglot codebase reindex no longer reports false "added" files
- Constructor multi-line parameters captured correctly across all parsers