Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

ColumnCounter_mod.js
Меня довольно давно раздражало, что для случаев вроде вот такого

Code: Select all

var o = {
	a: 9,
	b: 15,
	c: 2
};
отрезаются символы справа (в данном случае – запятая после девятки).
Суть исправления:

Code: Select all

pLinesArray[nIndex]="" + nFirstNumber + pLinesArray[nIndex].replace(/^(0x[\da-f]+|\d+)/i, "");
То есть из начала строки вырезается число, а остаток прибавляется к результату.

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Несколько вопросов по скриптам: TabsToSpaces_mod.js и SpacesToTabs.js

VladSh,
Если пробельный символ один, то замены на табуляцию не происходит. Можно исправить (или добавить опцию, если так задумано)?

Infocatcher,
Если выбрана (или всего одна) строка без табуляции с пробелами, то при срабатывании скрипта первые пробелы заменяются табуляцией.
Пример:
Image
Image
В оригинальном скрипте так не происходит.

Можно ли добавить опцию, чтобы замена Tabs -> Spaces происходила на реальное количество символов указанных в настройках редактора, без smart штучек?
К примеру, при размере табуляции 8, что бы из этого:
Image
получалось не так:
Image
а так:
Image

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

Post by Infocatcher »

Deim0s wrote:Если выбрана (или всего одна) строка без табуляции с пробелами, то при срабатывании скрипта первые пробелы заменяются табуляцией.
Эээ... замена пробелов табуляциями в случае, когда в тексте нет ни одной табуляции, – практически единственное отличие от оригинального скрипта.
Deim0s wrote:Можно ли добавить опцию, чтобы замена Tabs -> Spaces происходила на реальное количество символов указанных в настройках редактора, без smart штучек?
В простейшем случае, без хитрых выделений целых строк:

Code: Select all

var nTabStop = AkelPad.SendMessage(AkelPad.GetEditWnd(), 3239 /*AEM_GETTABSTOP*/, 0, 0);
var text = AkelPad.GetSelText() || AkelPad.SetSel(0, -1) || AkelPad.GetSelText();
AkelPad.ReplaceSel(text.replace(/\t/g, new Array(nTabStop + 1).join(" ")));

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
замена пробелов табуляциями в случае, когда в тексте нет ни одной табуляции
Спасибо за пояснение, но всё же почему, в этом случае, только первые пробелы?
В простейшем случае, без хитрых выделений целых строк:
Не работает что то.

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

Post by Infocatcher »

Deim0s wrote:почему, в этом случае, только первые пробелы?
Потому что в большинстве случаев остальные пробелы нужны для выравнивания, и их лучше не трогать.
И не понятно, как определять, нужна ли замена.
Вот тут, например, не нужна (SearchReplace.js):

Code: Select all

//Direction
var DN_DOWN      =0x00000001
var DN_UP        =0x00000002
var DN_BEGINNING =0x00000004
var DN_SELECTION =0x00000008
var DN_ALLFILES  =0x00000010
А тут вообще все гораздо сложнее:

Code: Select all

      hWndDialog=oSys.Call("user32::CreateWindowEx" + _TCHAR,
                           0,               //dwExStyle
                           pClassName,      //lpClassName
Deim0s wrote:Не работает что то.
Да там даже не работать практически нечему...

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

Infocatcher,
Ясно, спасибо.
Не работает что то.
Прошу прощения, моя вина - всё работает. Хм... действительно и так просто.

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

Post by KDJ »

I changed the names of the following scripts:
ColumnsSort.js -> SortInColumns.js
LinesSort.js -> SortLines.js
ListSort.js -> SortList.js

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

Post by Instructor »

Скрипты сгруппированны по авторам в порядке плодовитости :)

Scripts grouped by authors.

Т.к. первое сообщение в теме принадлежит VladSh, он также имеет возможность вносить изменения.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor
так гораздо удобнее, респект за здравый смысл :wink:

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

Post by VladSh »

Deim0s wrote:Несколько вопросов по скриптам ... SpacesToTabs.js
Если пробельный символ один, то замены на табуляцию не происходит. Можно исправить (или добавить опцию, если так задумано)?
Дело в том, что я тогда пошёл по простому пути - написал скрипт, который преобразовывает всю строку целиком, а не только отступы. Если же заменять одиночные пробелы внутри строки, представьте, что получится... Меня это "соглашение" с самим собой :) по этой особенности скрипта полностью устраивало.
Если кто-то напишет паттерн для regexp, который будет работать только для начальных пробелов (т.е. только отступ перед текстом), то я с удовольствием вставлю его код себе в скрипт.
Специальный паттерн, чисто для отступов, - это хорошая идея, а замена одиночного пробела всё же, думаю, не очень, т.к. отступы могут съехать.

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

Post by VladSh »

Instructor wrote:Скрипты сгруппированны по авторам в порядке плодовитости :)
Т.к. первое сообщение в теме принадлежит VladSh, он также имеет возможность вносить изменения.
:)
Идея такая уже была, и я начинал даже формировать такой список, да что-то отвлекло и.. забыл.
Instructor, спасибо за скурпулёзную работу!

Авторам скриптов
Могу в конце каждого скрипта добавить его краткое описание (1 строка). Предлагаю не засорять предложениями тему, лучше в личке.

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh
Авторам скриптов
Могу в конце каждого скрипта добавить его краткое описание (1 строка). Предлагаю не засорять предложениями тему, лучше в личке.
Пройдись ка по постам-скриптам, если есть авторские особые замечания к скриптам, то они там(или в крайнем случае в начале самого скрипта)

Offline
Posts: 139
Joined: Fri Feb 12, 2010 11:33 am

Post by Deim0s »

VladSh,
чисто для отступов, - это хорошая идея, а замена одиночного пробела всё же, думаю, не очень
Хотелось бы, если можно, как раз любые одиночные, не только отступы.

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

Post by Infocatcher »

scriptToBookmarklet.js, scriptToBookmarklet_w2k.js
Улучшено удаление однострочных комментариев.
Теперь есть только два исключения:
var s = "http://example.com/";
и
var r = /\//;

P.S. Заодно появилась идея выделить новости скриптов в отдельную тему.

[Upd]
Кажется, экспериментальное наконец-то закончилось. :)

highlighter.js
Version 0.3.1 (2010-12-07)
[+] Added recognize mechanism for unsaved files or files without extension.

(This is just renamed test version from here.)

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

Post by KDJ »

A mistake in script collection.
Script SplitSwitch_alternative.js is assigned to VladSh.
Locked