Восстановление буфера консоли

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Восстановление буфера консоли

Post by phidel »

Простой макрос, который вызывает утилиту fzf и печатает имя выбранного файла в контекст


После отработки макроса часть экрана, которая была под fzf, не восстанавливается. Я понимаю, что эта и другие программы, написанные на go, особым образом работают с альтернативным буфером консоли, и думаю что причина в этом. Можно ли это исправить.
Yegor
Posts: 1498
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 52 times
Been thanked: 94 times

Восстановление буфера консоли

Post by Yegor »

fzf ничего не затирает в консоли, а просто сдвигает буфер, выделяя место (60% видимой области в вашем случае), и рисует в нем.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Восстановление буфера консоли

Post by phidel »

Yegor, то есть просто смириться? 60% именно для того и поставлено чтобы консоль не улетала за пределы видимости. отмотать консоль обратно нельзя?
Yegor
Posts: 1498
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 52 times
Been thanked: 94 times

Восстановление буфера консоли

Post by Yegor »

Добавить в ваш макрос вызов ScrollConsoleScreenBuffer() или сделать по-тупому, включить [x] Use Virtual Terminal for rendering, поменять 60% на кол-во строк, например 15 и вызвать магию:

Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Восстановление буфера консоли

Post by phidel »

спасибо, магия сработала, хотя и с нюансами (теперь очищается верхняя часть экрана, но хоть видно чем дело закончилось в прошлой команде)
Post Reply

Return to “Нужна помощь”