Page 2 of 7

Posted: Thu Mar 29, 2012 12:08 pm
by Infocatcher
Fr0sT wrote:установкой значения в 0
Да, пожалуй.
Только попробуем обойтись без самодеятельности – не очень хочется, чтобы параметры по-разному работали: https://github.com/einars/js-beautify/pull/110

Posted: Thu Mar 29, 2012 12:09 pm
by VladSh
Instructor wrote:3. Создаем вызов в ToolBar или ContextMenu или HotKeys плагине:

Code: Select all

-"AStyle" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AStyle.exe" --style=allman`, "", "", "", -1, -1, 1052673) Icon(0)
Требуется Log плагин версии 2.4 или выше.
Log плагин версии 2.4, получаю сообщение:
Log плагин wrote:---------------------------
Не удается запустить команду: "C:\Program Files\AkelPad\AkelFiles\Tools\AStyle.exe" --style=allman
---------------------------
ОК

Posted: Thu Mar 29, 2012 12:23 pm
by Instructor
VladSh
1. Скачиваем AStyle.
2. Помещаем файл AStyle.exe в папку "[AkelPad]\AkelFiles\Tools".
3. Создаем вызов в ToolBar или ContextMenu или HotKeys плагине:

Code: Select all

-"AStyle" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AStyle.exe" --style=allman`, "", "", "", -1, -1, 1052673) Icon(0)

Posted: Thu Mar 29, 2012 12:57 pm
by VladSh
Instructor
Спасибо за терпение :)

В моём случае теперь достаточно:

Code: Select all

-"AStyle форматирование кода" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AStyle\AStyle.exe" -b -N -o -t -S -w -Y -M -H -U -p`, "", "", "", -1, -1, 1052673) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 28)
Здорово, работает влёт! 8)

Posted: Thu Mar 29, 2012 1:32 pm
by CleriC
Infocatcher wrote:
CleriC wrote:Если с курсором все так сложно - фиг с ним.
Вроде, получилось подкрутить исходный скрипт: https://github.com/einars/js-beautify/pull/109
Как его оттуда скачать? Я там нашел только строки, которые изменились в исходном коде. Вы можете выложить куда-нибудь целиком весь .js?
Fr0sT wrote:Кстати насчет maxChar. Можно ли сделать, чтобы по дефолту разбивка была отключена? Либо чтобы срабатывала установкой значения в 0.
Что имеется в виду? Возможно для меня это тоже будет полезно.
Можете привести пример (скрин) как это выглядит до и после форматирования?

У меня еще почему-то иконка на кнопке обновления не показывается и при нажатии на кнопку ничего не происходит:
http://s2.ipicture.ru/uploads/20120329/5JfES5hT.png

Posted: Thu Mar 29, 2012 2:30 pm
by Infocatcher
CleriC wrote:Как его оттуда скачать? Я там нашел только строки, которые изменились в исходном коде. Вы можете выложить куда-нибудь целиком весь .js?
Да, пожалуй, у них некоторые проблемы с юзабилити. :)
Скачать-то можно: https://github.com/Infocatcher/js-beaut ... ll/patch-1, но это оригинальный скрипт – в виде веб-странички. Там это тоже не помешает, а мне меньше правок при обновлениях. :)
А для AkelPad'а пока нету. И все еще
Infocatcher wrote:Осталось понять, как в AkelPad'е не просто восстанавливать положение прокрутки, а пересчитывать с учетом изменений.

Posted: Fri Mar 30, 2012 5:17 am
by CleriC
Процитирую свой вопрос с предыдущей страницы:
CleriC wrote: Можно ли настроить jsBeautifier таким образом, что бы содержимое внутри тега не переносилось на следующиую строку.
Вот поясняющий скриншот:
http://s1.ipicture.ru/uploads/20120329/csfhHy2s.png
У меня есть длинный тег <group id="СЗ" name="Статическое зондирование" fullname="Оборудование для статического зондирования" img="" order="1">
jsBeautifier переносит кусок img="" order="1"> на следующую строку (см. скрин 4 и 5 строчки). Этого можно избежать?
Я попробовал подрегулировать maxChar, но все равно получается так себе.
У скрипта есть еще аргумент -unformattedTags=["a"] - list of tags, that shouldn't be reformatted (only for HTML). Но у меня это почему-то не работает. По идее ведь должно работать, если я вызываю скрпит с параметром -unformattedTags=["group"] ? Тогда описанная выше проблема не проявится? Но работает ли этот аргумент со сложными тегами, не просто <b></b>, а такими, как в моем случае?

Еще у меня почему-то не работает аргумент -keepArrayIndentation=true - keep array indentation
если я не ошибаюсь - если вызываю с ним, то не будут удалятся пустые строки. Но у меня все равно удаляются, хотя вызываю с ним.

Как правильно построить вызов скрипта?
Например я вызываю его так:

Code: Select all

Call("Scripts::Main", 1, "jsBeautifier.js", "-preserveNewlines=true -unformattedTags=['group']")
А в результате он мне удаляет пустые строки и варпает теги group (как на скрине выше). Что я делаю не так?

Еще, почему у меня акельпад не отображает спец-символы типа диаметра (Ø): http://s1.ipicture.ru/uploads/20120330/OQTeJh7a.png

Posted: Fri Mar 30, 2012 6:42 am
by Fr0sT
почему у меня акельпад не отображает спец-символы типа диаметра
В используемом шрифте его нет, видимо

Posted: Fri Mar 30, 2012 8:10 am
by CleriC
Возможно в плагинах такое уже есть, но если нет - как мне самому написать скрипт который обрамляет выделенный текст тегами?
Например я выделил слово, нажал ctrl+b, например и текст обрамился тегами <b>ТЕКСТ</b>.

Posted: Fri Mar 30, 2012 9:00 am
by VladSh
CleriC
Гляньте доку на ContextMenu, метод Insert.

Posted: Fri Mar 30, 2012 9:06 am
by CleriC
VladSh wrote:CleriC
Гляньте доку на ContextMenu, метод Insert.
Нашел:

Code: Select all

Insert("<B>\s</B>", 1)
Работает, спасибо! :)

Posted: Fri Mar 30, 2012 9:29 am
by VladSh
CleriC
Ага :) Там ещё позицию курсора можно указать после отработки этого действия.

И на всякий случай - для использования значений из буфера обмена и др. "расширений" были даже скрипты insertTag.js от Infocatcher'а и затем альтернативный от Instructor'а.

Posted: Fri Mar 30, 2012 12:25 pm
by CleriC
VladSh wrote: Что-то похожее и с HTMLTidy.js.
Строку

Code: Select all

eval(AkelPad.ReadFile(AkelPad.GetAkelDir() + "\\AkelFiles\\Plugs\\Scripts\\ShowMenuEx.js")); 
надо заменить на

Code: Select all

if (! AkelPad.Include("ShowMenuEx.js")) WScript.Quit();
C AStyle более-менее разобрался, но я сейчас с кодом на Си почти не работаю, так что особо не копался.
А вот с xml хотелось бы разобраться.
Пока с Beautifier не выходит, попробовать бы с HTMLTidy поработать что ли.
Вобщем я сделал то что написано выше в цитате, скрипт, судя по всему вызывается, но ничего не происходит кроме того, что курсор убегает на последнюю строчку документа. Ничего не форматируется. Что это может быть?

Posted: Fri Mar 30, 2012 3:04 pm
by Instructor
CleriC wrote:А вот с xml хотелось бы разобраться.
viewtopic.php?p=17372#p17372

Posted: Fri Mar 30, 2012 4:45 pm
by CleriC
Instructor wrote:
CleriC wrote:А вот с xml хотелось бы разобраться.
viewtopic.php?p=17372#p17372
Да, действительно, все расписано, как-то я пропустил пост.
Все получилось сделать, форматирует, но все-же менее удобно чем jsBeautifier.
Видимо Tidy берет весь текст открытого документа и вставляет от курсора. Таким образом может получится, что с середины документа вставится весь документ. Получается, надо сначала выделить весь документ и только потом запускать Tidy.
И если поставить --wrap 80, то Tidy тоже варпает длинные теги типа:

Code: Select all

<group id="СЗ" name="Статическое зондирование" fullname="Оборудование для статического зондирования" img="" order="1">
чего мне хотелось бы избежать (я бы хотел видеть эти теги в одну строчку, но что бы обычный текст варпался).
Tidy тоже удаляет пустые строки, хотелось бы их оставить.