ripgrep: Bleskové vyhledávání nejen v Delphi
Během testování použití Kai mě zaujalo hlášení, které Kai zobrazil v okně Chatu: „‚rg‘ tu není dostupné, přepínám na PowerShell.“ Jak jsem jednoduše dohledal, rg je příkaz pro spuštění nástroje ripgrep. Nástroj vytvořil Andrew Gallant (v GitHub komunitě známý jako BurntSushi) a je napsán v jazyce Rust. Mezi vývojáři si získal popularitu především díky své výkonosti a jednoduchému ovládání. Pracuje z příkazové řádky a je určený pro velmi rychlé vyhledávání textu a regulárních výrazů v adresářových strukturách. Rekurzivně prochází textové soubory a vyhledá umístění hledaných řetězců. Proto jej nástroje AI často využívají pro inspekci zdrojového kódu. Pokud jej Kai nenalezne, vyhledává potřebné informace za pomoci PowerShellu, ale to je výrazně pomalejší.
Ripgrep vs. reFind
Jak většina uživatelů Delphi a C++Builderu ví, součástí instalace RAD Studia je také reFind (naleznete jej v adresáři $(BDS)\bin\reFind.exe). Logicky se tak nabízí otázka, proč instalovat ripgrep. ReFind je součástí RAD Studia je již mnoho let, dokáže prohledávat zdrojové soubory pomocí regulárních výrazů a vývojáři mají pro řadu úkolů již vytvořené skripty. Ve skutečnosti však každý nástroj vznikl v jiné době a s jinou filozofií.
- ReFind byl navržen především jako pomocník pro vyhledávání a dávkové nahrazování textů ve zdrojových souborech. Typicky například migrace z jedněch komponent na jiné (BDE -> FireDAC a podobně).
- Ripgrep byl od počátku vyvíjen jako extrémně rychlý vyhledávací nástroj pro moderní zdrojové kódy. Automaticky respektuje .gitignore, vynechává binární soubory a je optimalizován pro paralelní prohledávání rozsáhlých stromů adresářů. Je dostupný pro Windows, Linux i macOS.
Proč si ripgrep nainstalovat
Prvním důvodem je již zmiňovaný Kai. Použití ripgrepu citelně zlepšuje odezvu na odeslané požadavky. Navíc ripgrep umí efektivně zhustit vyhledané informace pro úsporu tokenů. Sám o sobě sice nemá specifický „AI režim“, ale pomocí parametrů vyhledávání dokáže drasticky ořezat balast (jako je okolní kód, duplicity nebo prázdné řádky) a předat LLM pouze čistá data.
Další možnost použití je orientace ve zdrojovém kódu. Velmi rychle lze získat přehled o použití určité proměnné, funkce nebo jednotky v rámci celého projektu.

Instace
Oficiálním zdrojem projektu je GitHub repozitář (https://github.com/BurntSushi/ripgrep). Zde najdete předkompilované binární verze pro Windows, Linux a macOS. Projekt rovněž nabízí vlastní web s dokumentací a odkazy ke stažení.

Na Windows 10 a Windows 11 lze využít správce balíčků Winget. Nejprve si můžete ověřit v PowerShellu ověřit, zda již ripgrep není instalovaný (příkaz „rg –version“). Pokud ne, je zahlášena chyba. Pro instalaci pak stačí zavolat příkaz „winget install BurntSushi.ripgrep.MSVC“.

Pokud jste ripgrep doposud nevyzkoušeli, věnujte mu deset minut. Je velmi pravděpodobné, že se brzy stane stejně nepostradatelným pomocníkem jako kdysi grep, reFind nebo integrované vyhledávání v samotném RAD Studiu.