Имитация многострочного редактирования как в SciTE

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
Wave
Posts: 1887
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Имитация многострочного редактирования как в SciTE

Post by Wave »

Latest post of the previous page:

Ставлю выделение нулевой ширины после слова подготовим и начинаю писать текст.

Code: Select all

подготовим поле куликово
подготовим поле куликово
подготовим поле куликово
подготовим поле куликово
подготовим поле куликово
подготовим поле куликово
Получаю

Code: Select all

подготовимся ипнастроимсяоилотладимсяеи отдебажимсякнафигуликово
подготовимся ипнастроимсяоилотладимсяеи отдебажимсякнафигуликово
подготовимся ипнастроимсяоилотладимсяеи отдебажимсякнафигуликово
подготовимся ипнастроимсяоилотладимсяеи отдебажимсякнафигуликово
подготовимся ипнастроимсяоилотладимсяеи отдебажимсякнафигуликово
подготовимся и настроимся и отладимся и отдебажимся нафиг поле куликово
А вот здесь отступ от начала строки в четыре символа, выделяю нулевой блок в начале строки.

Code: Select all

    group="EditorInput";
    action=function(Rec)
начинаю редактировать, получаю

Code: Select all

some = other ? heregroupg:rrolloup="EditorInput";
some = other ? heregroup : roll    action=function(Rec)
То-есть в первом примере пробелы вообще не вставлялись, во втором вставлялись до момента, пока редактируемый текст в верхней строке не доехал до имеющегося текста.


В общем, как будет время и настроение, я поэкспериментирую, что из имеющегося у меня набора влияет на скрипт. Но когда это будет, хз. В любом случае точно влияет WordCompletion и любые плагины, которые закрывают скобки-кавычки при печати открывающей, а также печатающие пробел после нажатия запятой.
Пользуюсь ФАРом больше 20 лет © собирательный.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Wave, на оба ваши примера нет времени, а в первом у меня проблем не возникло, пробелы прекрасно вставляются. Видимо что-то влияет у вас, чего нет у меня.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Имитация многострочного редактирования как в SciTE

Post by sToLp »

Wave
точно влияет WordCompletion
В win10x64entRu в сегодняшней ночной сборке с выключенными постоянными блоками и установленным WordCompletion (Завершение слов в редакторе v4.0) последняя версия макроса работает вполне нормально в т.ч. в приведённых Вами примерах.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Ну и ещё одна версия на ночь. Добавлена обработка Left и Right, кое-что пофиксено, но возможны новые баги.
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: Добавлена обработка Left и Right
А что они должны делать? Зависит ли это от Постоянных блоков?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Они перемещают выделение. Не должно зависеть.
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: Они перемещают выделение
Хм, у меня не перемещают — только выделение сбрасывается. Независимо от постоянных блоков. Проверял без прочих скриптов.
5 минут спустя: а, если блок ширины 1, то и впрямь перемещается. Желательно, чтобы и при любой другой ширине тоже перемещался…
10 минут спустя: при наличии скриптов Turbo не работает и при ширине 1.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Но ведь при другой ширине и раньше не работало. Это понимать как виш?
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: Это понимать как виш?
Да, но менее востребованный, чем мои июльские и сегодняшние пожелания.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Что касается Turbo, то я с ним не знаком, но полагаю, что найти общий знаменатель для нескольких скриптов, одновременно управляющих редактором, весьма проблематично.
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: найти общий знаменатель для нескольких скриптов, одновременно управляющих редактором, весьма проблематично
HaRT wrote: Есть ли какой-то простой способ заставить оба макроса (в смысле, здешний и тамошний) выполниться в предопределённом порядке?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Глянул на Turbo. Там на Left и Right повешены макросы. Макрос исполняется всегда раньше обработчика EditorInput (который используется в сабже).
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: Макрос исполняется всегда раньше обработчика EditorInput (который используется в сабже)
Полезное знание. Однако те макросы только перемещают каретку и не меняют выделение (во всяком случае, внешне). Что же тогда мешает обработчику выполнить свою задачу? В частности, почему выделение сбрасывается?
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Вычеркнуто неверное
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

HaRT wrote: Однако те макросы только перемещают каретку и не меняют выделение
Как это не меняют? Там каждый из обоих макросов заканчивается вызовом Editor.Sel(RESET).
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel, да, в самом деле. Почему-то я был уверен, что выделение сбрасывается самим Фаром из-за непостоянства блока.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Вообще-то эти макросы отношения к Turbo вроде не имеют, они как бы сами по себе.
Post Reply

Return to “Полезные макросы и скрипты”