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

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Post Reply
Anonymous

code folding

Post by Anonymous »

hi all

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

А, согласитесь, для многих девелоперов которые юзают фар как классический редактор для программера - сворачивания кусков кода - ой какая нужная фича!
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: code folding

Post by zg »

ValeNT wrote:А, согласитесь, для многих девелоперов которые юзают фар как классический редактор для программера - сворачивания кусков кода - ой какая нужная фича!
фича конечно нужная, но учитывая что в фаре от любого дуновения отваливается в самых неожиданных местах, а в редакторе и дуть не надо, оно там само отваливается переодически — ожидать этого в ближайшее десятилетие не стоит.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Есть плаг на
http://plugring.farmanager.com/cgi-bin/ ... ext=conden

С автором делайте что хотите, но нужно это дело продолжать...
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

=Tim Sobolev= wrote:Есть плаг на
http://plugring.farmanager.com/cgi-bin/ ... ext=conden

С автором делайте что хотите, но нужно это дело продолжать...
Ну автор тебе не нужен, можно даже за базу взять колорер чтоб работало на любом языке, он в плагине просто в рисует на экране - типа эмулирует вьювер. Главное это знать начало конец блока а как нарисовать их на экране это уже дело простое.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Насколько я понял, там такой алгоритм:

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

Я вот думаю, прикрутить ли это в ТТ, или ожидать внешней реализации...
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

t-rex
Использовать сложный парсинг имхо нет смысла...
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

ValeNT
В упомянутом мною Condensed View один большой недостаток -- не прорисовывается курсор после выхода из плагина, если его вызывать вручную, а не макросом...
А так как там производится свертка всех строк с отступом больше текущей позиции в строке, то он относительно универсальный...
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH »

У плагинописателей нет желания воплотить?

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

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

Наверное, это можно было бы реализовать и макросом, внося маркеры в текст, а при сохранении вызывать функцию "развернуть всё", если бы не проблема с откатами.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

AleXH wrote:Наверное, это можно было бы реализовать и макросом, внося маркеры в текст, а при сохранении вызывать функцию "развернуть всё", если бы не проблема с откатами.
а что, у плагинов есть какие-то магические возможности, которых нет у макросов?
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH »

zg, без понятия. Но предполагаю, что в отличие от макросов, плагины могут изменять содержимое экрана редактора без изменения самого текста - или не могут?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

AleXH wrote:плагины могут изменять содержимое экрана редактора без изменения самого текста
Это не так.
Макросам (через LuaFAR) доступны практически все возможности плагинов, за исключением создания панелей.
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

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

Post by AleXH »

Жаль. Возможность трансформации вывода на экран не помешала бы.

Свёртка блоков макросом возможна только в длинные строки с заменой ПС на теги, например <eol>, с восстановлением после развёртывания и при закрытии редактора.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

Думаю, для реализации этой функциональности могут применяться техники, подобные использованным в плагине EditWrap и в скрипте Virtual string wrap.
Фар есть инструмент, а не нянька. © 2009 DrKnS
wakh
Posts: 128
Joined: Wed 27 Apr, 2005 09:16
Location: Перогиреево
Has thanked: 6 times
Contact:

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

Post by wakh »

Очень хочется чтобы во встроенном редакторе появилась "сворачивалка" из нпп.
Есть текст
+<p>
|text
|text
-</p>
которая нажатием на "+" превращает в
[-]<p></p>
а может уже есть?
Занимаюсь роликами и SEO, обращайтесь :)
Post Reply

Return to “Предложения и идеи”