Scripts discussion (4)
- Author
- Message
-
Offline
- Posts: 278
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
texter, и TextReplacer.js тоже крашит AkelPad при вызове команд с использованием LogHighlight.js. Или крашит, или появляется alert от LogHighlight с сообщениями «Текст не выделен», «Консоль закрыта» и напрочь замораживает окно AkelPad так, что приходится вырубать его из диспетчера.
И ещё: RenameFileAs.js от Kley Вы специально взяли старую версию 2015-10-07? Последняя у него 2016-05-25.
И ещё: RenameFileAs.js от Kley Вы специально взяли старую версию 2015-10-07? Последняя у него 2016-05-25.
-
Offline
- Posts: 278
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
-
Offline
- Posts: 348
- Joined: Mon Jun 03, 2019 2:33 am
yozhic
Попробуй как у тебя работает моя сборка. Вот оригинал LogHighLight.js если что. Он есть и в моей сборке.
Попробуй как у тебя работает моя сборка. Вот оригинал LogHighLight.js если что. Он есть и в моей сборке.
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Всем привет, давно не заходил, подскажите есть ли скрипт форматирования xml - чтобы из однострочный файл преобразовать в структуру.
Файлы до и после в архиве.
Если есть подобное для html и js тоже будет хорошо
xml.zip
Файлы до и после в архиве.
Если есть подобное для html и js тоже будет хорошо
xml.zip
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Для JS -- jsBeautifier.js от InfocatcherAndrey_A_A wrote:...скрипт форматирования xml ... для html и js тоже будет хорошо
Для XML/HTML -- специальных кажется нет, но есть "обертки" для использования Tidy от VladSh (сам Tidy прячется тут http://www.html-tidy.org/).
Оба скрипта есть в актуальных авторских коллекциях.
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
jsBeautifier.js в том числе поддерживает и HTML (и как следствие, на первый взгляд, приемлемо работает и с XML).opk44 wrote:Для JS -- jsBeautifier.js от Infocatcher
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Там такая история...opk44 wrote:Для XML/HTML -- специальных кажется нет, но есть "обертки" для использования Tidy от VladSh (сам Tidy прячется тут http://www.html-tidy.org/).
Стояла у меня какая-то старая версия, которая работала. Потом, спустя много лет, я один раз обновил саму утилиту tidy, потом другой, и закончилось тем, что я так и не смог потом заставить это работать. Какие-то серьёзные изменения разработчиком (он там не стесняется менять API, - от версии к версии об обратной совместимости говорить не приходится), которые сильно затронули формат вызова и флаги. Несколько дней я пытался подобрать флаги, но так ничего и не получилось. Там, где раньше код генерировался без ошибок, теперь валится множество ошибок и предупреждений.
Т.о. этот вариант на данный момент не рабочий, я им сам не пользуюсь.
Если кто-то подхватит и разберётся, будет очень хорошо. Но брать из моей сборки tidy и затачиваться на ту версию не имеет смысла, - сейчас API более-менее стабилизировался (последний релиз - июль этого года, и с августа больше коммитов нет), так что лучше восстанавливать работоспособность под неё.
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
tidy
И снова по поводу tidy.js.
Как оказалось, скрипт работает! Я перепробовал exe и dll версий 5.8.0 (stable) и tidy-5.9.14 (pre-release) и оказалось, что та гора ошибок, которые выдавал старый tydy, ушла. Видимо старые версии просто не поддерживали новую html5-вёрстку, а я подумал, что оно не работает...
Осталось непонятное - 'line 51 column 103 - Warning: unescaped & or unknown entity "&hl"' на строке:Вертикальной палкой указал позицию курсора. Да, "&hl" есть, но не на позиции 103, а в href. Это известный баг.
Плохо, что это предупреждение мешает выполнить форматирование с помощью tydy. Может конечно есть флаг, который отключает предупреждения валидации при форматировании...
Если кто знает, подскажите, буду очень благодарен.
Но вообще связка tydy.js + tydy работает. Её даже AZJIO использует в свое сборке.
Как оказалось, скрипт работает! Я перепробовал exe и dll версий 5.8.0 (stable) и tidy-5.9.14 (pre-release) и оказалось, что та гора ошибок, которые выдавал старый tydy, ушла. Видимо старые версии просто не поддерживали новую html5-вёрстку, а я подумал, что оно не работает...
Осталось непонятное - 'line 51 column 103 - Warning: unescaped & or unknown entity "&hl"' на строке:
Code: Select all
<li id="navextra2"><a href="//google.com/cse/home?cx=005032125877213764876:7_djx8ukuso&hl=ru">Поиск |Google</a></li>
Плохо, что это предупреждение мешает выполнить форматирование с помощью tydy. Может конечно есть флаг, который отключает предупреждения валидации при форматировании...
Если кто знает, подскажите, буду очень благодарен.
Но вообще связка tydy.js + tydy работает. Её даже AZJIO использует в свое сборке.
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Infocatcher
Взял код отключения скрола из скрипта converter.js, а он оказывается не работает...
Нашёл рабочий код у камрада KDJ
Переписал свой как-то так:
Закомментированными, для наглядности, оставил нерабочие строки из converter.js.
Взял код отключения скрола из скрипта converter.js, а он оказывается не работает...
Нашёл рабочий код у камрада KDJ

Переписал свой как-то так:
Code: Select all
var sText = "трам-парам-пам-пам...";
setRedraw(hWndEdit, false);
try {
var lpPoint = AkelPad.MemAlloc(_X64 ? 16 : 8 /*sizeof(POINT)*/);
if (lpPoint) {
//AkelPad.SendMessage(hWndEdit, 1245 /*EM_GETSCROLLPOS*/, 0, lpPoint);
AkelPad.SendMessage(hWndEdit, 3179 /*AEM_GETSCROLLPOS*/, 0, lpPoint);
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(sText);
//AkelPad.SendMessage(hWndEdit, 1246 /*EM_SETSCROLLPOS*/, 0, lpPoint);
AkelPad.SendMessage(hWndEdit, 3180 /*AEM_SETSCROLLPOS*/, 0, lpPoint);
AkelPad.MemFree(lpPoint);
}
else {
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(sText);
}
}
finally {
setRedraw(hWndEdit, true);
}
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Хм, странно. У меня, на первый взгляд, работает:VladSh wrote:Infocatcher
Взял код отключения скрола из скрипта converter.js, а он оказывается не работает...
Code: Select all
var oSys = AkelPad.SystemFunction();
insertNoScroll(new Array(101).join("Test\n"));
function insertNoScroll(str, selectAll) {
noScroll(function() {
selectAll && AkelPad.SetSel(0, -1);
//var ss = AkelPad.GetSelStart();
AkelPad.ReplaceSel(str, true);
//if(ss != AkelPad.GetSelStart())
// AkelPad.SetSel(ss, ss + str.length);
});
}
function noScroll(func, hWndEdit) {
if(!hWndEdit)
hWndEdit = AkelPad.GetEditWnd();
var lpPoint = AkelPad.MemAlloc(8 /*sizeof(POINT)*/);
if(!lpPoint)
return;
setRedraw(hWndEdit, false);
AkelPad.SendMessage(hWndEdit, 1245 /*EM_GETSCROLLPOS*/, 0, lpPoint);
func();
AkelPad.SendMessage(hWndEdit, 1246 /*EM_SETSCROLLPOS*/, 0, lpPoint);
setRedraw(hWndEdit, true);
AkelPad.MemFree(lpPoint);
}
function setRedraw(hWnd, bRedraw) {
AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);
bRedraw && oSys.Call("user32::InvalidateRect", hWnd, 0, true);
}
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Отсюда:Infocatcher wrote:...все равно выглядит работающим.
EM_* - это было давно; в том контексте применения, где API AkelEdit и RichEdit совпадают, оно будет работать, а где нет, то нет (вот как в моём случае).EM_* сообщения RichEdit'a. Посылаются окну редактирования. См. MSDN.
AEM_* сообщения AkelEdit'а. Посылаются окну редактирования. См. AkelEdit.h.
-
Offline
- Posts: 12
- Joined: Tue May 05, 2020 11:39 pm
Господа, а никто не пробовал обновлять или модифицировать скрипт jsBeautifier.js от уважаемого Infocatcher? А то он (скрипт, а не Infocatcher конечно же) с приватными полями в классах работать не обучен и в результате их названия портит малость (убирает пробел перед # и ставит после #). Может кто мог-бы исправить это досадное недоразумение?
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
(отсюда)
В разрабатываемой версии, основанной на более свежих оригинальных скриптах, должно работать корректно: https://github.com/Infocatcher/AkelPad_ ... f8fe793c8cArhaall wrote:Господа, а никто не пробовал обновлять или модифицировать скрипт jsBeautifier.js от уважаемого Infocatcher? А то он (скрипт, а не Infocatcher конечно же) с приватными полями в классах работать не обучен и в результате их названия портит малость (убирает пробел перед # и ставит после #). Может кто мог-бы исправить это досадное недоразумение?