Page 1 of 1

code folding

Posted: Sat 17 Dec, 2005 10:39
by Anonymous
hi all

сегодня вот здесь:
http://plugring.farmanager.com/cgi-bin/ideas.cgi
на 10-ой позиции стоит Идея по поводу коде-фолдинга.
И, видимо, из-за того, что на странице Идей ссылки на форум ведут на Яхо-групс а не сюда, она там так и потерялась.

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

Re: code folding

Posted: Sat 17 Dec, 2005 12:13
by zg
ValeNT wrote:А, согласитесь, для многих девелоперов которые юзают фар как классический редактор для программера - сворачивания кусков кода - ой какая нужная фича!
фича конечно нужная, но учитывая что в фаре от любого дуновения отваливается в самых неожиданных местах, а в редакторе и дуть не надо, оно там само отваливается переодически — ожидать этого в ближайшее десятилетие не стоит.

Posted: Sat 21 Jan, 2006 17:14
by Tim Sobolev
Есть плаг на
http://plugring.farmanager.com/cgi-bin/ ... ext=conden

С автором делайте что хотите, но нужно это дело продолжать...

Posted: Sat 21 Jan, 2006 17:25
by t-rex
=Tim Sobolev= wrote:Есть плаг на
http://plugring.farmanager.com/cgi-bin/ ... ext=conden

С автором делайте что хотите, но нужно это дело продолжать...
Ну автор тебе не нужен, можно даже за базу взять колорер чтоб работало на любом языке, он в плагине просто в рисует на экране - типа эмулирует вьювер. Главное это знать начало конец блока а как нарисовать их на экране это уже дело простое.

Posted: Sat 21 Jan, 2006 17:37
by Tim Sobolev
Насколько я понял, там такой алгоритм:

1. Для каждого типа файлов есть отступы в пробелах и табуляциях, после которых не берем строку
[1а]. Есть последовательность начала строк, которые игнорим
2. Получаем те строки, которые прошли, запоминаем их позиции и выводим список...
3. При выборе нужного пункта переходим на нужную строку...

Я вот думаю, прикрутить ли это в ТТ, или ожидать внешней реализации...

Posted: Sat 21 Jan, 2006 17:39
by Tim Sobolev
t-rex
Использовать сложный парсинг имхо нет смысла...

Posted: Sat 21 Jan, 2006 18:08
by Tim Sobolev
ValeNT
В упомянутом мною Condensed View один большой недостаток -- не прорисовывается курсор после выхода из плагина, если его вызывать вручную, а не макросом...
А так как там производится свертка всех строк с отступом больше текущей позиции в строке, то он относительно универсальный...

BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 06:38
by AleXH
У плагинописателей нет желания воплотить?

Настройки плагина:
1. Поле (строка) с группами подстрок (RegExp), окаймляющих блоки.
2. Опция: определять блоки по смещению.
3. Опция: символ(кнопка?) свёртки со смещением. Неотмеченная - символ свёртки в начале строки, иначе после пробельных символов.

Найденные блоки маркируются лишь визуально, т.е. изменения в сам текст не вносятся. При свёртке оставлять лишь 1-ю строку блока. Свёрнутый блок маркировать "+ ", либо "[+] ", развёрнутый "- ", либо "[-] ". Команды по шоркатам: свернуть/развернуть все блоки, свернуть/развернуть текущий блок. Возможно кроме триггерных команд будут востребованы в макросах и не триггерные. Под текущим подразумевается тот, на котором стоит курсор. При свёртке блока курсор переносится на первую строку блока.

Наверное, это можно было бы реализовать и макросом, внося маркеры в текст, а при сохранении вызывать функцию "развернуть всё", если бы не проблема с откатами.

Re: BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 08:50
by zg
AleXH wrote:Наверное, это можно было бы реализовать и макросом, внося маркеры в текст, а при сохранении вызывать функцию "развернуть всё", если бы не проблема с откатами.
а что, у плагинов есть какие-то магические возможности, которых нет у макросов?

Re: BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 09:23
by AleXH
zg, без понятия. Но предполагаю, что в отличие от макросов, плагины могут изменять содержимое экрана редактора без изменения самого текста - или не могут?

Re: BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 09:30
by John Doe
AleXH wrote:плагины могут изменять содержимое экрана редактора без изменения самого текста
Это не так.
Макросам (через LuaFAR) доступны практически все возможности плагинов, за исключением создания панелей.

Re: BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 09:40
by AleXH
Жаль. Возможность трансформации вывода на экран не помешала бы.

Свёртка блоков макросом возможна только в длинные строки с заменой ПС на теги, например <eol>, с восстановлением после развёртывания и при закрытии редактора.

Re: BlockWrap — свёртка блоков в редакторе

Posted: Wed 23 Jul, 2014 11:13
by HaRT
Думаю, для реализации этой функциональности могут применяться техники, подобные использованным в плагине EditWrap и в скрипте Virtual string wrap.

Функционал из notepad++

Posted: Sun 15 Nov, 2015 15:02
by wakh
Очень хочется чтобы во встроенном редакторе появилась "сворачивалка" из нпп.
Есть текст
+<p>
|text
|text
-</p>
которая нажатием на "+" превращает в
[-]<p></p>
а может уже есть?