diff --git a/CLAUDE.md b/CLAUDE.md index cca28b6..543d0fe 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -46,6 +46,25 @@ Editing: write-back text→binary via `txt2vcx.ps1` is supported **only for `.vc (vcx/scx); `.frx/.mnx/.lbx/.pjx/.dbc/.dbf` are editable **only in the VFP IDE** (no write-back). See `D:\ROA\UTIL\foxbin2prg\CLAUDE.md` and `COMUN\docs\flux-editare-vfp-text.md`. +Grep can't tell **which class/method** a hit inside a `.vc2` belongs to (the class header may be +thousands of lines above it, and ~2/3 of the file is properties/metadata). `vfp_symbols.ps1` +indexes the line range of every class/method/procedure and labels hits with their owner — use it +before any `txt2vcx.ps1` edit to get the exact line range of the method you are changing. Its +built-in defaults target ROAACNPRO, so always pass this project's paths: + +```powershell +$s = 'D:\ROA\UTIL\foxbin2prg\vfp_symbols.ps1' +$c = @('-CacheRoot', 'D:\ROA\ROACONT', '-ProjectRoot', 'D:\ROA\ROACONT', '-IndexFile', 'D:\ROA\_vfp_textcache\roacont\_symbols.tsv') + +powershell -ExecutionPolicy Bypass -File $s @c -Grep '' -CodeOnly # hits labeled class.method, code only +powershell -ExecutionPolicy Bypass -File $s @c -Where '.vc2:' # who owns this line +powershell -ExecutionPolicy Bypass -File $s @c -Find '' # where it is DEFINED +powershell -ExecutionPolicy Bypass -File $s @c -Class '' # inheritance chain + methods +``` + +The index (`_symbols.tsv`) rebuilds itself when the text is newer, so refresh the text first — it +can't see IDE edits that were never converted. Full search guide: `COMUN\docs\cautare_vcx_vct.md`. + Orphan cleanup: on each full run `git_sync` deletes `.??2` text whose binary was removed from SVN (and `.db2` whose table left the per-project list) and reports it, so git records the deletion.