Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Cuprum
Стандартные контролы PS правильно обрабатывает. В AkelPad вроде как модифицированный InputBox.
У меня проблема с PS в полях Otter-браузера, - при переводе текста в другую раскладку он просто исчезает. Это видимо из-за того, что PS слабо понимает контролы Qt.
Тут 2 варианта: либо прого-писатели подтачивают код, либо долго и нудно просить разрабов PS добавить поддержку таких контролов (но у них это не быстро - вспомнить, как недавно поддержку нового Офиса пытались сделать несколько месяцев...). Либо ещё суровее - добавить прогу в список исключения)), что для текстового редактора не вариант.

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

Post by opk44 »

Cuprum
1. Punto не обязательно выгружать, достаточно снять галочку с "Автопереключение" и работать с ним только хоткеями.
2. Есть предположение, что уши могут торчать из интегрированного в AkelPad (с версии 4.6) плагина TextLayout. Можно попробовать убрать галочки с двух пунктов тут:
[Settings...]-->[Advanced]-->[Auto switch keyboard layout]
[Settings...]-->[Advanced]-->[Remember keyboard layout of each tab (MDI)]

Offline
Posts: 96
Joined: Tue Nov 10, 2015 4:56 am

Post by InFive »

VladSh wrote: А мне больше нравится такой вызов:

Code: Select all

Call("Scripts::Main", 1, "XMLValidator.js", `-msgOpts=48 -lClose=1`)
спасибо, попробую и так, я просто к тому писал, что у меня именно в версии 2.0 скрипта только и стало отображаться инфа о валидном документе... может это от того, что у меня WinXP и в нем может и в правду что-то с MSXML... но теперь работает...

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

Post by opk44 »

InFive

Совершенно очевидно, что будь у вас "что-то с MSXML", то никакая новая версия скрипта этого бы не исправила. Скорее всего компьютер слишком шустрый, и вы просто не успевали заметить появлявшуюся и тут же закрывающуюся панель Log-плагина (поэтому и предлагалось закомментировать/убрать строчку закрытия данного плагина)

Offline
Posts: 382
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

VladSh, opk44
Обе галочки сняты. Также отключил автопереключение в Punto. Понятно что, теперь можно переключать язык по горячей клавише, но это немного не то...

Instructor
Если проблема в AkelPad.InputBox, можно ли сделать, чтобы раскладка языка не менялась, когда начинаешь вводить текст?

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

Instructor
Метод AkelPad.InputBox добавлен почти 9 лет назад.
Пользуясь случаем рискну все же покритиковать.
Подобного диалогового окна, с кнопкой сворачивания, ни когда не видел. Может кто-то просил об этом, тогда ладно.
Но баг при работе с InputBox точно есть:
если его вызвать из какого-нибудь своего диалога, по ошибке, скажем, указав AkelPad.InputBox(hMainWnd... вместо AkelPad.InputBox(hDialogWnd...,
а потом закрыть "свой" диалог, нажав на крестик - до AkelPad уже не достучаться.
Вдогонку к
Cuprum wrote:можно ли сделать
Можно ли исправить? :)

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

Post by VladSh »

InFive
Да, opk44 прав, это был косяк в логике скрипта.

Offline
Posts: 96
Joined: Tue Nov 10, 2015 4:56 am

Post by InFive »

opk44 wrote:Скорее всего компьютер слишком шустрый, и вы просто не успевали заметить появлявшуюся и тут же закрывающуюся панель
компьютер у меня как раз не мощный, а вот панель да, вроде бы начинала появляться, но тут же сразу закрывалось то, что успело появиться...
VladSh wrote:InFive
Да, opk44 прав, это был косяк в логике скрипта.
я ничего не имею против скрипта XMLValidator.js, я много создаю/редактирую документов именно в xml, поэтому для меня проверка xml очень важна, и именно на скрипт XMLValidator.js я назначил горячую клавишу, и именно с него я всегда начинаю проверку xml... но, к сожалению, если пользоваться только им, то возникают проблему, и часто приходится запускать скрипт Tidy.js...

например (это реальный пример), из тега <chapter> я убираю закрывающий знак ">"...

проверяю xml с помощью XMLValidator.js - он мне говорит

Code: Select all

XML validation error:
(47,5)		Имя начинается с ошибочного знака.
после такого сообщения я буду грешить на начальный знак и искать в чем проблемы не там, где надо... это хорошо, что я знаю где ошибка ибо я её сам сознательно сделал... я если не знать где ошибка, то придется начать искать проблему в документе не там где надо (то есть, не в конце тега, а в начале)...

а вот что показывает скрипт Tidy.js

Code: Select all

line 46 column 17 - Warning: <chapter> missing '>' for end of tag
вот он сказал чётко, что проблема в знаке в конце тега...

просто хотел узнать, чтобы знать для себя, скрипт Tidy.js использует сторонний tidy.exe, а через что работает XMLValidator.js? через системный msxml? и что, системный msxml настолько плох, что скрипт XMLValidator.js выводит несколько непонятные ошибки чем Tidy.js?

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

Post by VladSh »

InFive wrote:и что, системный msxml настолько плох, что скрипт XMLValidator.js выводит несколько непонятные ошибки чем Tidy.js?
Именно так. Поэтому я больше пользуюсь tidy.


Добавлено: хотя tidy тоже пропускает, хоть и меньше. Например на такой текст раньше не реагировало:

Code: Select all

<div></div>какая-либо_ерунда<div></div>
или такое:

Code: Select all

<title>></title>
Как обстоят дела в новых версиях, не знаю; не ставлю их, т.к. размер exe-шника сильно вырос.

Offline
Posts: 96
Joined: Tue Nov 10, 2015 4:56 am

Post by InFive »

VladSh wrote: хотя tidy тоже пропускает, хоть и меньше. Например на такой текст раньше не реагировало:

Code: Select all

<title>></title>
Как обстоят дела в новых версиях, не знаю; не ставлю их, т.к. размер exe-шника сильно вырос.
да, спасибо за пример, ни скрипт XMLValidator.js ни Tidy.js не считают это ошибкой, хотя для меня обязательно чтобы не было двойных ">>"... надо будет тогда документы вручную проверять на их наличие...

а про какой exe вы говорите, что его размер сильно вырос? что-то меня стали терзать смутные сомнения, а тот ли я tidy.exe использую?

вы какой имеете ввиду?
HTML Tidy for HTML5? - он к сожалению в WinXP не запускается...
HTML Tidy for Windows? - безнадежно устарел и выдает слишком много ошибок там где их нет...
а я использую HTML Tidy вот отсюда - работает хорошо, только правда ">>" не ловит... это очень плохо... но в любом случае, эти HTML Tidy весят копейки... tidy.exe который я использую, весит всего 340 кб...

а как должен называться config-файл для Tidy.js - config.txt ? попробую разобраться в командах, может через config получится улучшить поиск ошибок...

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

Post by FeyFre »

Code: Select all

<title>></title>
да, спасибо за пример, ни скрипт XMLValidator.js ни Tidy.js не считают это ошибкой, хотя для меня обязательно чтобы не было двойных ">>".
Это не есть ошибкой.
Ни в XML 1.0, ни в XML 1.1
The ampersand character (&) and the left angle bracket (<) MUST NOT appear in their literal form, except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section. If they are needed elsewhere, they MUST be escaped using either numeric character references or the strings " & " and " < " respectively. The right angle bracket (>) may be represented using the string " > ", and MUST, for compatibility, be escaped using either " > " or a character reference when it appears in the string " ]]> " in content, when that string is not marking the end of a CDATA section.
compatibility о котором идет речь - с SGML, так что можно не беспокоится.
Так что со случаем "не надо >>" придется искать какого-нибудь другого валидатора.

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

Post by VladSh »

InFive wrote:tidy.exe который я использую, весит всего 340 кб...
У меня 111kb, это вроде 2.0.4, не помню точно.
InFive wrote:а как должен называться config-файл для Tidy.js - config.txt ? попробую разобраться в командах, может через config получится улучшить поиск ошибок...
Да как угодно он может называться. И их может быть сколько угодно штук.
Другое дело, что в одной строке вызова можно указать один конфиг или задать знак вопроса, тогда будет выдан запрос на выбор конфига.
Только конфиг здесь мало поможет, т.к. он используется для форматирования, а не для валидации.

Добавлено: чтобы проще было разобраться с tidy.js и его настройками, качните мою сборку, а я, если меня завтра вдохновение не покинет, попробую написать нормальную доку по его настройке.

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

Post by KDJ »

TextReplace_function.js
Added: support for runtime error Replace function (replace with function).

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

InFive
В XMLValidator.js можно добавить поиск ">>" с предупреждением, если есть, перед собственно валидацией. Вероятно, так и сделаю, т.к. чаще пользуюсь им и это проще возни с tidy.

Offline
Posts: 96
Joined: Tue Nov 10, 2015 4:56 am

Post by InFive »

Skif_off wrote:InFive
В XMLValidator.js можно добавить поиск ">>" с предупреждением
ну и как это сделать?

KDJ

Code: Select all

Usage in menu or toolbar: 
   Call("Scripts::Main", 1, "EvalCmd.js", `if (AkelPad.Include("TextReplace_function.js")) TextReplace(sFindIt, ReplaceWith[, sFlags[, nRangeStart[, nRangeEnd]]]);`)
а что собственно должно происходить? вываливается ошибка и бросает в скрипт EvalCmd.js на строку 84 eval(pArgLine);
Locked