Page 6 of 96
Posted: Sat Oct 08, 2011 5:05 pm
by Infocatcher
jsBeautifier.js
Updated:
https://github.com/einars/js-beautify/c ... 69ff16fcf1
https://github.com/einars/js-beautify/c ... c4b7ab303a
Fixed bug of JScript in WSH with string.split(regexp) ("\n\n\n|".split(/\n/).length == 1) – empty lines in comments are wrongly stripped.
Posted: Sat Oct 15, 2011 12:25 pm
by KDJ
EnumTopLevelWindows_function.js
Changed script name for
EnumerateWindows_functions.js
Added function EnumChildWindows().
Adapted the script
WindowsList.js
Posted: Sun Oct 16, 2011 11:38 am
by KDJ
EnumerateWindows_functions.js
In the function EnumChildWindows(), changed property name from "Enable" to "Enabled".
WindowsList.js
Added: child windows list.
Posted: Sun Oct 16, 2011 3:40 pm
by KDJ
Posted: Mon Oct 17, 2011 6:46 pm
by KDJ
WindowsList.js
Changed: after calling the functions Maximize, Restore and Center for another window, WindowsList script window remains in the foreground.
Fixed: Center function.
Posted: Tue Oct 18, 2011 9:31 am
by VladSh
Небольшие, но приятные улучшения:
•
selCompleteLine.js - теперь работает не со строками, отображаемыми редактором, а с реальными строками, ограниченными \r /б
лагодарности Instructor'у за GetOffset/;
•
InsertBefore.js - добавлена вставка в текущую позицию курсора.
Posted: Tue Oct 18, 2011 9:40 am
by FeyFre
KDJ, while trying to reproduce bug reported by You in Bugs topic using WindowsList.js, AP crashed(and I things it is script's fault).
Posted: Tue Oct 18, 2011 2:03 pm
by Instructor
Infocatcher
toggleComments.js 0.4.0
Если закомментировать и раскомментировать следующим вызовом:
Code: Select all
-"toggleComments.js" Call("Scripts::Main", 1, "toggleComments.js", "-method=0 -addSpaces=false -preferLineComments=true")
то пробелы в начале строк уменьшаются на одну штуку.
Хотел комментировать
Code: Select all
if (hbrTab=CreateSolidBrush(hlp.dwActiveBk))
{
FillRect(to.hDC, &rcSpace, hbrTab);
DeleteObject(hbrTab);
}
как
Code: Select all
//if (hbrTab=CreateSolidBrush(hlp.dwActiveBk))
//{
// FillRect(to.hDC, &rcSpace, hbrTab);
// DeleteObject(hbrTab);
//}
и полагал что параметр -lineCommentsAtStart=false предназначен для этого, однако результат после вызова не изменился.
Posted: Tue Oct 18, 2011 3:17 pm
by opk44
Instructor wrote:то пробелы в начале строк уменьшаются на одну штуку.
Не воспроизводится. Проверял на версии 0.3.7 и 0.4.0 (для расширений c/js/sql).
Posted: Tue Oct 18, 2011 3:18 pm
by Infocatcher
Instructor wrote:то пробелы в начале строк уменьшаются на одну штуку.
А вот с табами такой проблемы нет.

Надо добавить к аргументам -removeSpaces=false
Хотя в данном случае удалять пробелы вообще не надо (потому как «//if» без пробелов), доработал:
toggleComments.js.
Instructor wrote:и полагал что параметр -lineCommentsAtStart=false предназначен для этого, однако результат после вызова не изменился.
Этот параметр влияет только на добавление комментариев. При true будет вот так:
Code: Select all
// if (hbrTab=CreateSolidBrush(hlp.dwActiveBk))
// {
// FillRect(to.hDC, &rcSpace, hbrTab);
// DeleteObject(hbrTab);
// }
Posted: Tue Oct 18, 2011 3:29 pm
by Instructor
Infocatcher wrote:При true будет вот так...
Посмотрел "-lineCommentsAtStart=false" оказывается он чаще работает, чем не работает
Пример нерабочего комментирования:
http://akelpad.cvs.sourceforge.net/view ... c?view=log
Ревизия 1.172. Выделяем:
Code: Select all
if (hlp.dwActiveBk != hlp.dwDefaultBk)
{
//Fill tab space
rcSpace.left=(int)(to.ptFirstCharInLine.x + to.nDrawLineWidth);
rcSpace.top=(int)to.ptFirstCharInLine.y;
rcSpace.right=rcSpace.left + nCharWidth;
rcSpace.bottom=rcSpace.top + ae->ptxt->nCharHeight;
if (hbrTab=CreateSolidBrush(hlp.dwActiveBk))
{
FillRect(to.hDC, &rcSpace, hbrTab);
DeleteObject(hbrTab);
}
}
в файле AkelEdit.c и пытаемся вызвать
Code: Select all
-"toggleComments.js" Call("Scripts::Main", 1, "toggleComments.js", "-method=0 -addSpaces=false -preferLineComments=true -lineCommentsAtStart=false")
в результате комментарии размещаются в начале строк. Причем такое поведение во всей функции "void AE_Paint(AKELEDIT *ae)".
Posted: Tue Oct 18, 2011 3:46 pm
by opk44
Instructor wrote:Пример нерабочего комментирования:...
Похоже "проблема" скрипта в строке 12641
Т.е. если выделенный блок уже содержит строку с комментарием, скрипт действительно при раскоментировании удаляет по одному лишнему пробелу по всему блоку.
Posted: Tue Oct 18, 2011 4:03 pm
by Infocatcher
Instructor wrote:в результате комментарии размещаются в начале строк.
Угу, комментирование блока с комментариями не совсем доделано.
Code: Select all
var hasLineCmmPattern = new RegExp("(^|\\r\\n|\\n|\\r)([\\t ]*)" + this.escapeRegExp(cmmLine));
var atStart = hasLineCmmPattern.test(this.exclude(block))
? true
: this.lineCmmAtStart;
Если это убрать, то надо будет дорабатывать удаление комментариев. То есть чтобы можно было раскомментировать к исходному состоянию, например, такое:
Комментируем:
Сейчас при удалении все комментирование снимется.
Posted: Tue Oct 18, 2011 5:49 pm
by KDJ
FeyFre wrote:KDJ, while trying to reproduce bug reported by You in Bugs topic using WindowsList.js, AP crashed(and I things it is script's fault).
I do not see the error in the script. Help me locate it.
Posted: Tue Oct 18, 2011 7:25 pm
by Infocatcher
Infocatcher wrote:Угу, комментирование блока с комментариями не совсем доделано.

Вроде, так лучше:
toggleComments.js
Например, теперь можно вот так:
=>
И обратно.
При этом проверяется, что останется, если удалить только один набор комментирующих символов:
=>
(сработает старый алгоритм)