CLAUDE.md: cautare pe simboluri VFP (vfp_symbols.ps1)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A5okKjUKMM5Xk1egq2w81P
This commit is contained in:
2026-08-03 08:55:58 +03:00
parent 56bcbb20a2
commit b8a4f093fa

View File

@@ -20,6 +20,19 @@ Git rulează în paralel cu SVN-ul legacy, nu îl înlocuiește. SVN rămâne su
- Eșec cunoscut `git_sync`: `Clase\registry.vcx` (copie FFC din 2008, memo `.vct` corupt — Error 41 la bin→text). Nereferențiat de proiect (`.pj2` folosește `comun\clase\registry.vcx`); rămâne binar netracked, doar `registry.h` e în git.
- Editare cod în `.vcx`/`.scx`: editezi textul `.vc2`/`.sc2` (format pozițional, byte-preserving — nu Edit/Write UTF-8, doar PowerShell CP1252/raw bytes), apoi write-back cu `txt2vcx.ps1 -TextFile <fișier> -ProjectRoot 'D:\ROA\ROAREGISTRATURA'`. `.frx/.mnx/.lbx/.pjx/.dbc/.dbf` rămân doar-citire (editare în IDE). Ținte sub `COMUN\` cer `-AllowComun` + aprobare explicită. Detalii: `D:\ROA\UTIL\foxbin2prg\CLAUDE.md` și `COMUN\docs\flux-editare-vfp-text.md`.
- **Cine deține un hit**: Grep nu poate spune din ce clasă/metodă vine un hit din `.vc2` (header-ul clasei poate fi la mii de linii deasupra, iar ~2/3 din fișier e proprietăți/metadate). `vfp_symbols.ps1` indexează intervalul de linii al fiecărei clase/metode/proceduri și etichetează hit-urile cu proprietarul — folosește-l înainte de orice editare `txt2vcx.ps1` ca să afli intervalul exact al metodei pe care o modifici. Valorile implicite țintesc ROAACNPRO, deci trimite mereu căile acestui proiect:
```powershell
$s = 'D:\ROA\UTIL\foxbin2prg\vfp_symbols.ps1'
$c = @('-CacheRoot', 'D:\ROA\ROAREGISTRATURA', '-ProjectRoot', 'D:\ROA\ROAREGISTRATURA', '-IndexFile', 'D:\ROA\_vfp_textcache\roaregistratura\_symbols.tsv')
powershell -ExecutionPolicy Bypass -File $s @c -Grep '<expresie>' -CodeOnly # hit-uri etichetate clasa.metoda, doar cod
powershell -ExecutionPolicy Bypass -File $s @c -Where '<fisier>.vc2:<linie>' # cine deține această linie
powershell -ExecutionPolicy Bypass -File $s @c -Find '<nume>' # unde e DEFINIT
powershell -ExecutionPolicy Bypass -File $s @c -Class '<nume_clasa>' # lanțul de moștenire + metode
```
Indexul (`_symbols.tsv`) se reconstruiește singur când textul e mai nou, deci reîmprospătează textul întâi — nu vede editările din IDE neconvertite. Ghid complet: `COMUN\docs\cautare_vcx_vct.md`.
## Reguli de lucru si testare