Page 55 of 97

Posted: Sun Jan 30, 2011 12:55 am
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, "");
То есть из начала строки вырезается число, а остаток прибавляется к результату.

Posted: Sun Jan 30, 2011 2:33 am
by Deim0s
Несколько вопросов по скриптам: TabsToSpaces_mod.js и SpacesToTabs.js

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

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

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

Posted: Sun Jan 30, 2011 2:47 am
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(" ")));

Posted: Sun Jan 30, 2011 3:08 am
by Deim0s
Infocatcher,
замена пробелов табуляциями в случае, когда в тексте нет ни одной табуляции
Спасибо за пояснение, но всё же почему, в этом случае, только первые пробелы?
В простейшем случае, без хитрых выделений целых строк:
Не работает что то.

Posted: Sun Jan 30, 2011 3:19 am
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:Не работает что то.
Да там даже не работать практически нечему...

Posted: Sun Jan 30, 2011 3:31 am
by Deim0s
Infocatcher,
Ясно, спасибо.
Не работает что то.
Прошу прощения, моя вина - всё работает. Хм... действительно и так просто.

Posted: Sun Jan 30, 2011 3:34 pm
by KDJ
I changed the names of the following scripts:
ColumnsSort.js -> SortInColumns.js
LinesSort.js -> SortLines.js
ListSort.js -> SortList.js

Posted: Sun Jan 30, 2011 7:22 pm
by Instructor
Скрипты сгруппированны по авторам в порядке плодовитости :)

Scripts grouped by authors.

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

Posted: Sun Jan 30, 2011 7:30 pm
by se7h
Instructor
так гораздо удобнее, респект за здравый смысл :wink:

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

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

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

Posted: Mon Jan 31, 2011 11:30 am
by FeyFre
VladSh
Авторам скриптов
Могу в конце каждого скрипта добавить его краткое описание (1 строка). Предлагаю не засорять предложениями тему, лучше в личке.
Пройдись ка по постам-скриптам, если есть авторские особые замечания к скриптам, то они там(или в крайнем случае в начале самого скрипта)

Posted: Mon Jan 31, 2011 11:57 am
by Deim0s
VladSh,
чисто для отступов, - это хорошая идея, а замена одиночного пробела всё же, думаю, не очень
Хотелось бы, если можно, как раз любые одиночные, не только отступы.

Posted: Mon Jan 31, 2011 3:25 pm
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.)

Posted: Mon Jan 31, 2011 6:17 pm
by KDJ
A mistake in script collection.
Script SplitSwitch_alternative.js is assigned to VladSh.