Format plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

Instructor wrote:Доработано.
Наконец-то дошли руки попробовать... Отлично! Правда я имел ввиду именно опцию... И жаль что не сохраняется изначальная сортировка...
Но все равно спасибо!

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Изменено: увеличение скорости выполнения всех Line* функций и в особенности функций LineGetUnique, LineGetDuplicates, LineRemoveDuplicates, у которых изменен механизм обработки.
Изменено: LineGetDuplicates не меняет порядок строк.

Changed: increase execution speed of Line* functions, and in particular LineGetUnique, LineGetDuplicates, LineRemoveDuplicates functions, in which changed the mechanism of processing.
Changed: LineGetDuplicates does not change the lines order.


Format plugin v2.3

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

увеличение скорости
Instructor, отлично работает, только что проверил метод Call("Format::LineSortStrAsc") на документе в 1.327.560 строк - время работы 15-18 секунд, когда раньше можно было и не дождаться!!!
Call("Format::LineRemoveDuplicates") - 13 сек - здорово!!!

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Сортировка строк по возрастанию добавляет в конце лишний перевод строки.
MouseOptions=23, WordBreak=265, SmartSel::NoSelEOL включен.

P.S. Остальные функции не проверял.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
65-ый раз - отключаем "SmartSel::NoSelEOL".

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
В 65-ый же - он нужен.

По функции сортировки строк по возрастанию.
Баг всё равно присутствует, только с выключенным SmartSel::NoSelEOL он выглядит иначе - перебрасывает курсор на строку, после которой было выделение.
Например выделил 3 строки, курсор стоит в конце 3-й строки, после отработки функции он стоит в начале 4-й.
У нас по этому поводу уже было длительное обсуждение "по поводу захватов переводов всех выделенных строк", и это может быть 256 раз правильно, но но с точки зрения пользователя это баг, - если пользователь выделил 3 строки и это видно визуально, то после отработки различных функций оно так и должно оставаться.

Offline
Posts: 7
Joined: Fri Mar 16, 2012 12:34 pm

Post by Tcheluskin »

Во первых, спасибо автору плагина.

Меня интересует только функция вставки разрывов строк в местах переноса (Format::LineFixWrap).

Проблемы:
1. Format::LineFixWrap не удаляет лишний пробел перед переносом строки.

2. Есть ли отдельный плагин/скрипт только с такой функцией? Прочие мне не нужны.

Спасибо.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Tcheluskin wrote:Проблемы:
1. Format::LineFixWrap не удаляет лишний пробел перед переносом строки.
Это не проблема. Это нормально. Ф-ция делает ровно то, что должна - "Вставка разрывов строк в местах переноса."
Для удаления концевых пробелов есть соответствующая встроенная (безо всяких плагинов) функция (Alt+Backspace = "убрать Tab'ы и пробелы в конце строк"). Для вызова её в скрипте используйте Command(4174) сразу после вызова LineFixWrap.

Offline
Posts: 7
Joined: Sun May 15, 2011 2:18 pm
Location: г.С.Петебург

Post by nikspb »

Уважаемые!
Не подскажете, что надо сделать, чтобы после применения Format::LineGetDuplicates номера оставшихся строк в тексте окна не изменялись ? (По сравнению с номерами этих строк до применения Format::LineGetDuplicates).
P.S. Плагин LineBoard включен.
Заранее благодарен за ответ.

Offline
Posts: 2
Joined: Sun Apr 21, 2013 12:47 pm

Post by dracosha »

Instructor спасибо большое за AkelPad.
У меня возник вопрос по данному плагину.
Вот что написано в описании:
Format::LineSortIntAsc
Сортировка строк текста по числовому возрастанию.

мне нужно сделать сортировку вот этих строк:

Code: Select all

Group0/Action0/descr=u13
Group0/Action1/descr=b3
Group0/Action10/descr=u5a
Group0/Action11/descr=u6
Group0/Action12/descr=u6a
Group0/Action13/descr=u7
Group0/Action14/descr=u7a
Group0/Action15/descr=u8
Group0/Action2/descr=u2
Group0/Action3/flags2=d1
Group1/Action0/descr=u13
Group1/Action1/descr=b3
Group1/Action10/descr=u5a
Group1/Action11/descr=u6
Group1/Action12/descr=u6a
Group1/Action13/descr=u7
Group1/Action14/descr=u7a
Group1/Action15/descr=u8
Group1/Action2/descr=u2
Group1/Action3/flags2=d1

что бы в итоге получилось вот так:

Code: Select all

Group0/Action0/descr=u13
Group0/Action1/descr=b3
Group0/Action2/descr=u2
Group0/Action3/flags2=d1
Group0/Action10/descr=u5a
Group0/Action11/descr=u6
Group0/Action12/descr=u6a
Group0/Action13/descr=u7
Group0/Action14/descr=u7a
Group0/Action15/descr=u8
Group1/Action0/descr=u13
Group1/Action1/descr=b3
Group1/Action2/descr=u2
Group1/Action3/flags2=d1
Group1/Action10/descr=u5a
Group1/Action11/descr=u6
Group1/Action12/descr=u6a
Group1/Action13/descr=u7
Group1/Action14/descr=u7a
Group1/Action15/descr=u8

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

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

dracosha
You can do this using the script SortInColumns.js with following settings:

Sort range:
Columns: From: 1, To: 26
Lines: From: 1, To: 20

Sort keys - columns:
Key 1: From: 6, To: 7, Numerically
Key 2: From: 14, To: 16, Numerically

To make easy to see, in AkelPad you should set monospace font (eg.: Consolas, Courier New, Lucida Console).

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

dracosha
Можно сначала отсортировать все строки, а потом выделить нужный столбец с зажатым Alt и отсортировать еще раз. Правда, Group0 и Group1 придется сортировать отдельно...

Offline
Posts: 2
Joined: Sun Apr 21, 2013 12:47 pm

Post by dracosha »

KDJ
По ссылке какой-то код, в котором я ничего не понимаю :)


Infocatcher
Дело в том что у меня таких групп аж 145 :)

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

dracosha
Только без обид. Оказание помощи предполагает от просящего, как минимум, желание понять. Если вопрос так стоит, что Вы не желаете даже попробовать самостоятельно разобраться "как воспользоваться чужим скриптом", то предлагаю Вам воспользоваться каким-либо офисным пакетом (MS Excel или LibreOffice). Вероятно для Вас это будет проще и быстрее. Кроме того, это еще и избавит от необходимости "шаманить" над текстом из-за переменной длины и начальной позиции ключей сортировки (0-145).

Code: Select all

1) открыть текстовый файл с сортируемым списком. 
2) в мастере текстов указываем 
на первом шаге: "с разделителями", 
на втором шаге: "символом разделителем является" ставим птичку в [другой:], и указываем символ слэш [/] 
3) Получаем текст в трех колонках.
Group0	Action0	descr=u13 
Group0	Action1	descr=b3 
Group0	Action10	descr=u5a 
Group0	Action11	descr=u6 
Group0	Action12	descr=u6a 
...
4) В первых двух столбцах сделать замену "Group" и "Action" на "ничего". Получится так: 
0	0	descr=u13 
0	1	descr=b3 
0	10	descr=u5a 
0	11	descr=u6 
0	12	descr=u6a 
...
5) Сделать сортировку диапазона, указав последовательность (Столбец A, затем Столбец B, затем Столбец C)
6) Осталось склеить текст обратно, восстановив выброшенные слэши, "Group" и "Action". Для русской версии Excel формула будет такой (для второй строки): 
	=СЦЕПИТЬ("Group";A2;"/";"Action";B2;"/";C2)
7) Растягиваете формулу на все строки. Получаете что хотели
Group0/Action0/descr=u13 
Group0/Action1/descr=b3 
Group0/Action2/descr=u2 
Group0/Action3/flags2=d1 
Group0/Action10/descr=u5a 
Group0/Action11/descr=u6 
...
8) Копируете результат обратно в текстовый файл.

В случае с LibreOffice Calc разница в том, что он не умеет сортировать списки без заголовков, поэтому возможно придется добавить одну строку с "заголовками". И формулы там по английски (на примере второй строки): 
	=CONCATENATE("Group";A2;"/";"Action";B2;"/";C2)


Есть ограничение по максимальному количеству строк. Для Excel2003 - 65536 строк, LibreOffice - 1048575 строк (минус 1 на заголовки).

Offline
Posts: 89
Joined: Wed Aug 27, 2008 11:16 am

Post by Mr.Merak »

"Извлечение ссылок из HTML текста"?

а можно сделать более универсальнее? у меня файл вида
[URL=
а не a href

или может можно просто все ссылки из любого файла?
Post Reply