From 6f1d521a6902686b7746752aaf5f2301be7571e9 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Mon, 3 Aug 2026 08:55:58 +0300 Subject: [PATCH] CLAUDE.md: cautare pe simboluri VFP (vfp_symbols.ps1) Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01A5okKjUKMM5Xk1egq2w81P --- CLAUDE.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 00ffeb0..e0a4b97 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -33,6 +33,25 @@ Then search the `.??2` files in-tree with Grep, citing `file:line`. Write-back t only in the VFP IDE. 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\ROAFACTURARE', '-ProjectRoot', 'D:\ROA\ROAFACTURARE', '-IndexFile', 'D:\ROA\_vfp_textcache\roafacturare\_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`. + `COMUN/` is excluded from this repo's git — it is shared by every ROA product and versioned by its **own git repo**, `gitea.romfast.ro:romfast/comun.git`. Run git commands for `COMUN/` from inside that directory, and treat any change there as cross-project.