AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Форматтер кода XML и С++
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Tue Jun 26, 2012 7:49 am    Post subject: Reply with quote

А также AStyle.
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Mon Sep 17, 2012 6:34 am    Post subject: Reply with quote

Обновил AkelPad до версии 4.7.9, плагин Coder 10.2, Scripts 11.7.
При открытии файла в формате xml вылезают ошибки:
http://i42.fastpic.ru/big/2012/0917/9c/3658193ca0a65e7612d517636184459c.png
http://i42.fastpic.ru/big/2012/0917/da/1d9061e9371ecb7d91a752d0b528c8da.png
И не срабатывает подсветка кода. Раньше подсвечивал теги, текст в кавычках, скобки и пр. Сейчас все одним цветом.
При попытки отформатировать документ с помощью jsBeautifier.js выдает ошибки:
http://i42.fastpic.ru/big/2012/0917/a7/f556ce4c7781219bf84a7a1b7fe868a7.png
http://i42.fastpic.ru/big/2012/0917/5d/5a1dd1410846686015216cbbbc5f745d.png
и потом
http://i42.fastpic.ru/big/2012/0917/66/14659ea99fe379785155940090df1f66.png
форматирование не работает.

Что делать?
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Mon Sep 17, 2012 8:48 am    Post subject: Reply with quote

CleriC
Скопировать текст ошибки без названия переменных и воспользоваться поиском по форуму.
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Mon Sep 17, 2012 10:57 am    Post subject: Reply with quote

С подсветкой разобрался.
Но jsBeautifier.js все равно отказывается работать.
Раньше я вызывал его так
Code:
Call("Scripts::Main", 1, "jsBeautifier.js", "-unformattedTags=['li','td','p'] -maxChar=110")

Сейчас упростил, но даже так он не вызывается и выдает ошибку
Code:
Call("Scripts::Main", 1, "jsBeautifier.js", "")
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Mon Sep 17, 2012 11:15 am    Post subject: Reply with quote

Какая версия jsBeautifier.js?
Должно быть
Code:
// version 0.2.1 - 2012-08-28
// Based on scripts from http://jsbeautifier.org/ [2012-08-28 03:42:01 UTC]
или
Code:
// version 0.2.1 - 2012-08-28
// Based on scripts from http://jsbeautifier.org/ [2012-09-06 07:26:47 UTC]
(если обновить через Call("Scripts::Main", 1, "jsBeautifier.js", "-update=true"))

Какая версия плагина Scripts?
У меня на 11.7 работает.
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Mon Sep 17, 2012 11:29 am    Post subject: Reply with quote

Все, разобрался, спасибо большое.
У меня была старая версия скрипта: // version 0.1.33 - 2012-03-08
Back to top
View user's profile Send private message
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Wed Sep 19, 2012 5:27 am    Post subject: Reply with quote

Заметил, что после форматирования xml файла с помощью jsBeautifier. Цветовая схема меняется с XML на HTML.
Почему такое может быть?

До:
http://i43.fastpic.ru/big/2012/0919/43/2ae74792c85b09b8b5895ad991c86743.png
После:
http://i43.fastpic.ru/big/2012/0919/4b/20b76c7faec0ab1cfdf200a1e528ca4b.png

AkelPad до версии 4.7.9, плагин Coder 10.3, Scripts 11.7.
jsBeautifier // version 0.2.1 - 2012-08-28
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Wed Sep 19, 2012 8:28 am    Post subject: Reply with quote

CleriC wrote:
Заметил, что после форматирования xml файла с помощью jsBeautifier. Цветовая схема меняется с XML на HTML.
Почему такое может быть?
А было бы там сверху «<?xml version="1.0"?>», подсветило бы как XML.

Сейчас в любом случае принудительно выставляется синтаксическая тема.
Пожалуй, вот так: Add -setSyntax argument.

Только там сейчас сделаны и другие экспериментальные изменения, а тестировать (как и разбираться с вот этим) мне некогда. Smile
Но попробовать уже можно: /master/jsBeautifier.js -> Raw
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Wed Sep 19, 2012 1:06 pm    Post subject: Reply with quote

Infocatcher wrote:
Raw

Вот с этим скриптом тема не меняется. И мне нравится, что весь документ не выделяется, курсор остается где и был. Спасибо большое!

А как мне следить за изменениями в развитии jsBeautifier?
Просто запускать время от времени?
Code:
Call("Scripts::Main", 1, "jsBeautifier.js", "-update=true")


Еще вопрос: как мне сделать, что бы конструкцию
Code:
<link to="ШВ">ШВ60</link> с комплектом регистрации

скрипт не переносил так
Code:
         <link
         to="ШВ">ШВ60</link>с комплектом регистрации

Переход на следующую строку после link явно ни к чему и пропадает пробел между закрывающим тегом (</link>) и словом, следующим за ним.

Еще, текст вида
Code:
<li><a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a></li>

форматируется как
Code:
         <li>
            <a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a>
         </li>

Если поставить настройку -unformattedTags=['td','li'], то скрипт совсем перестает форматировать этот тег и вместо
Code:
<ul>
         <li>
            <a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a>
         </li>
         <li>Протокол штампового опыта;</li>
         <li>Развитие деформаций во времени;</li>
</ul>

получается
Code:
<ul>   <li>
            <a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a>
         </li>
   <li>Протокол штампового опыта;</li>
   <li>Развитие деформаций во времени;</li>

</ul>

Какими-то настройками можно добиться чего-то такого?
Code:
<ul>
         <li><a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a></li>
         <li>Протокол штампового опыта;</li>
         <li>Развитие деформаций во времени;</li>
</ul>
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Wed Sep 19, 2012 5:25 pm    Post subject: Reply with quote

Quote:
А как мне следить за изменениями в развитии jsBeautifier?
Как-то с централизованной проверкой обновлений скриптов пока никак. Sad

Кстати, -update=true проверяет обновление только оригинального скрипта.
Просто мне надоело делать это вручную. Smile А так и применение патчей автоматизируется.
А вот index.html не обновляется – он сильно изменен.
В общем, после такого обновления скрипт может сломаться – на этот случай автоматически создается резервная копия.

Для отслеживания можно подписаться на RSS:
https://github.com/einars/js-beautify/commits/master.atom
https://github.com/Infocatcher/AkelPad_scripts/commits/master.atom
Только там одна лента на весь репозиторий... А заводить по репозиторию на каждый скрипт – это как-то слишком. Very Happy

Или можно проверять обновления, когда будет переставать работать. Smile

Quote:
как мне сделать, что бы конструкцию [...] скрипт не переносил

Можно попробовать увеличить -maxChar или выставить его в 0 для отключения переносов.
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Wed Sep 19, 2012 5:45 pm    Post subject: Reply with quote

Quote:
Какими-то настройками можно добиться чего-то такого?

Видимо, нельзя.
Разве что -unformattedTags=["a"] делает нечто вроде. Только там, видимо, баг.

Или вот можно сделать -unformattedTags=[] и потом уже заменой поверх:
">\s+<a " => "><a "
"</a>\s+<" => "</a><"
(с галочкой «регулярные выражения»)
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Tue Sep 25, 2012 1:35 pm    Post subject: Reply with quote

Скрипт версии
Code:
// version 0.2.2pre2 - 2012-09-19
// Based on scripts from http://jsbeautifier.org/ [2012-09-06 07:26:47 UTC]

вызываемый как
Code:
Call("Scripts::Main", 1, "jsBeautifier.js", "-unformattedTags=['td','link'] -maxChar=0")

Из конструкции
Code:
штампом <link to="ШВ">ШВ60</link> с комплектом регистрации

делает:
Code:
штампом<link to="ШВ">ШВ60</link>с комплектом регистрации

то есть он убирает пробелы до и после тегов. Потом приходится править файл вручную (иначе будет косяк со ссылкой). Этого можно избежать?

Infocatcher wrote:

Или вот можно сделать -unformattedTags=[] и потом уже заменой поверх:
">\s+<a " => "><a "
"</a>\s+<" => "</a><"
(с галочкой «регулярные выражения»)

Это где прописывать? Необходимо сам скрипт редактировать или просто как-то по особому его вызывать?
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1629

PostPosted: Tue Sep 25, 2012 4:20 pm    Post subject: Reply with quote

CleriC wrote:
то есть он убирает пробелы до и после тегов.

У меня, вроде, не убирает. Нужен пример побольше.

И еще дело может быть в старой версии JScript.
Что выводит вот такой version.js:
Code:
ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()
?
У меня там 5.8.

CleriC wrote:
Это где прописывать? Необходимо сам скрипт редактировать или просто как-то по особому его вызывать?
Вызывать с -unformattedTags=[], а потом делать замену или по Ctrl+H, или через SearchReplace.js (там можно шаблоны сохранять).
Только встроенная замена что-то глючит сейчас. Smile

Через SearchReplace.js:
Что: (>)\s+(<a )|(</a>)\s+(<)
Чем: $1$2$3$4
[v] Регулярные выражения

Было:
Code:
<ul>
   <li>
      <a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a>
   </li>
   <li>
      <a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a>
   </li>
   <li>Протокол штампового опыта;</li>
   <li>Развитие деформаций во времени;</li>
</ul>

Стало:
Code:
<ul>
   <li><a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a></li>
   <li><a href="/docs/rp_spw1.pdf">Паспорт штампового опыта;</a></li>
   <li>Протокол штампового опыта;</li>
   <li>Развитие деформаций во времени;</li>
</ul>
Back to top
View user's profile Send private message Visit poster's website
CleriC



Joined: 27 Mar 2012
Posts: 34

PostPosted: Wed Sep 26, 2012 11:28 am    Post subject: Reply with quote

Infocatcher wrote:
CleriC wrote:
то есть он убирает пробелы до и после тегов.

У меня, вроде, не убирает. Нужен пример побольше.


Положил сюда свой xml файлик для примера.

Infocatcher wrote:

И еще дело может быть в старой версии JScript.
Что выводит вот такой version.js:
Code:
ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion()
?
У меня там 5.8.

Как мне это сделать? Где именно прописать стоку что бы получить результат? Возможно у меня вовсе нет version.js? Вот список моих скриптов.

Infocatcher wrote:
Через SearchReplace.js:
Что: (>)\s+(<a )|(</a>)\s+(<)
Чем: $1$2$3$4
[v] Регулярные выражения

Да, так получилось сделать, спасибо.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2614
Location: Киев, Русь

PostPosted: Wed Sep 26, 2012 12:36 pm    Post subject: Reply with quote

CleriC wrote:
Как мне это сделать? Где именно прописать стоку что бы получить результат? Возможно у меня вовсе нет version.js? Вот список моих скриптов.
А вот и вот (подробнее) инфа, как пользоваться скриптами.
Код скрипта, состоящий из одной строки, Infocatcher предоставил выше.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group