Page 85 of 99

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

Posted: Sun Feb 28, 2016 12:46 pm
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)]

Posted: Sun Feb 28, 2016 1:12 pm
by InFive
VladSh wrote: А мне больше нравится такой вызов:

Code: Select all

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

Posted: Sun Feb 28, 2016 1:24 pm
by opk44
InFive

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

Posted: Sun Feb 28, 2016 2:28 pm
by Cuprum
VladSh, opk44
Обе галочки сняты. Также отключил автопереключение в Punto. Понятно что, теперь можно переключать язык по горячей клавише, но это немного не то...

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

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

Posted: Sun Feb 28, 2016 5:17 pm
by VladSh
InFive
Да, opk44 прав, это был косяк в логике скрипта.

Posted: Mon Feb 29, 2016 2:37 pm
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?

Posted: Mon Feb 29, 2016 2:39 pm
by VladSh
InFive wrote:и что, системный msxml настолько плох, что скрипт XMLValidator.js выводит несколько непонятные ошибки чем Tidy.js?
Именно так. Поэтому я больше пользуюсь tidy.


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

Code: Select all

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

Code: Select all

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

Posted: Mon Feb 29, 2016 4:14 pm
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 получится улучшить поиск ошибок...

Posted: Mon Feb 29, 2016 5:32 pm
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, так что можно не беспокоится.
Так что со случаем "не надо >>" придется искать какого-нибудь другого валидатора.

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

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

Posted: Mon Feb 29, 2016 7:49 pm
by KDJ
TextReplace_function.js
Added: support for runtime error Replace function (replace with function).

Posted: Tue Mar 01, 2016 3:49 am
by Skif_off
InFive
В XMLValidator.js можно добавить поиск ">>" с предупреждением, если есть, перед собственно валидацией. Вероятно, так и сделаю, т.к. чаще пользуюсь им и это проще возни с tidy.

Posted: Tue Mar 01, 2016 9:43 am
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);