А ви помічали що Клавдій ввечорі зазвичай починає тормозити? Просинаються американці і Клавдій від них потерпає і вже зовсім не відчувається тим свіжим огірочком, як зранку. 😁
І я оце якось попав на ситуацію, де він 15 хвилин міняв по 1 рядочку в 30 файлах, окремими викликами, аж боляче дивитися було. І оце шось подумалося, що це ж тому шо ripgrep не вміє заміну, а тіки пошук — але ж мій старий проєкт goreplace вміє і те і інше! Тіки тормоз порівняно з ріпгрепом, прям капітально повільніше.
А що це значить? Ну якби очевидно, що: тре написать нову тулзу для пошуку і заміни, але тепер на Zig’е, без оцих всіх GC і взагалі напіонерить модних технік із ріпгрепа: zeegrep. Реально швидко працює! Не як ріпгреп, авжеж, але в принципі на тому самому рівні, якщо не юзать занадто складні регулярки (бо все-таки PCRE з бектрекінгом це очевидно повільніше регулярок ріпгрепа), а при просто словах навіть швидше шукає.
Але найголовніше — він вміє заміняти у файлах. Не треба отих всіх танців з sed’ом чи якимись обгортками навколо ріпгрепа. Ну й прямо в рідмі є блок тексту, який можна вставити в AGENTS.md і агенти його підхоплять.
В принципі — працює. Але я оце думаю чи не інтегрувати tree-sitter і зробить AST-aware заміну, бо це ж куди більш гуманна історія (чим замінити слово “гуманний” по відношенню до аі-агентів?..), алеее потребує роздумів над інтерфейсом взагалі. Якісь наброски в мене є, але якось не довів ще до робочого стану…