Что нового

Au3ToPost - Инструмент для расскраски AutoIt-кода

Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
сейчас заметил искажение кода
Это напрямую связано с проблемой указанной madmasles'ом выше.

#cs - блок комментариев взятый в апострофах подсвечивается как комментарий, а не как обычный текст
Пример? понял, до меня долго доходило что значит «апостроф» :smile:.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
OffTopic:
CreatoR [?]
видимо кроме меня и madmasles'а никто этой утилитой не пользуется
Это неправда, надеюсь.

:IL_AutoIt_1:
Если честно, то учитывая Ваше знание AutoIT, сперва я винил свои кривые руки, потом несколько раз перезагрузился, и только после этого, решился на свой пост. :smile:
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
Новая версия...

Список изменении:
v2.5 [17.05.2010]
* Исправлена проблема с интеграцией в SciTE. Программа копировалась в ту же папку в которой был выбран файл настроек, которая не всегда совпадает с корневой папкой SciTE.
* Исправлена проблема с функцией предпросмотра сгенерированного кода. Программа некорректно сворачивалась на панель задач.
* Исправлена проблема с подсветкой синтаксиса (проблема вызвана предыдущим исправлением для неподсвеченных строк комментариев).
* Исправлена проблема связанная с подсветкой блока комментариев присутствующих внутри строк (баг в Au3SyntaxHighlight.au3).
* Мелкие поправки в коде.
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
Проверил режимы
Код:
/Selection:Code - передаст на обработку "Код" (Code)
/FilePath:File - передаст на обработку файл (File)
Всё работает чётко, только при обработке файлов пишет "Выделенный текст обрабатывается" заменить на "Файл обрабатывается"
Теперь из NP++ по горячим клавишам у меня три тихих режима, обработка буфера, обработка открытого файла, обработка выделенного текста.
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
CreatoR
Сейчас экспериментировал на ресурсе ucoz оставлять код, если включена поддержка BB кодов, то иногда вылазиют глюки, но на руборде тот же код нормально получается, а если переключил в html, то мне пришлось изменить цветовую схему, для текста пришлось заключить в тег SPAN, после применения кода даже текст в меню сайта поменялся как будто теги не закрыл.

Если не трудно, сделай цветовую схему для html в отдельном файле, как это сделано для BB кодов в файле au3.styles.properties, то есть используя тот же au3.styles.properties.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
сделай цветовую схему для html в отдельном файле, как это сделано для BB кодов в файле au3.styles.properties
Так этот файл используется как раз для Html-результата, а уже потом конвертируется в BBCode.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
CreatoR
В одной из последних версий, не скажу в какой, т.к. сам не знаю, сегодня случайно заметил, стал некорректно отображаться текст за ';'.
Скриншот с зеленым цветом с forum.oszone.net от 19.04.2010, а второй от сегодняшнего дня.
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
CreatoR
Вот кусок кода из недавних скриптов, что я выкладывал:

Код:
; вариация <span class="S3">1</span>
_Beep<span class="S8">(</span><span class="S3">5</span><span class="S8">,</span><span class="S3">5</span><span class="S8">,</span><span class="S3">130</span><span class="S8">)</span>

1. возврат предыдущей ошибки, когда комментарий первой строкой подсвечивается неправильно, но это лучше чем искажение кода.
2. Текст "_Beep" должен иметь тип #White space, и в BBкоде это работает, а в html игнорируется, то есть я делал замену _Beep на <span class="my_class">Beep</span>

3. первая строка
Код:
<pre class="codebox"><span>Global
не подсвечивается, а второй
Код:
<span class="S5">Global</span>
подсвечивается.

CreatoR
CreatoR сказал(а):
Так этот файл используется как раз для Html-результата, а уже потом конвертируется в BBCode.
Фон используется стандартный.

Чтоб стиль не пересекался со стилем сайта использовал перфиксы автоита для имён классов
Код:
<head>
<style type="text/css">

.codeboxautoit
{
	border: #AAAAAA 1px solid;
	padding: 8px 8px 8px 8px;
	font-size: 12px;
	font-family: Arial, Courier New, Verdana, Courier, Helvetica, sans-serif, "MS sans serif";
	white-space: pre;
	background: #3F3F3F; color: #72ADC0;
	line-height: normal;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}



.AU31
{
	font-style: italic;
	color: #71AE71;
}

.AU32
{
	font-style: italic;
	color: #71AE71;
}

.AU33
{
	color: #C738B9;
}

.AU34
{
	color: #AAA6DB;
}

.AU35
{
	color: #0080FF;
}

.AU36
{
	color: #FF46FF;
}

.AU37
{
	color: #999999;
}

.AU38
{
	color: #FF8080;
}

.AU39
{
	color: #D29A6C;
}

.AU310
{
	font-weight: bold;
	color: #EA9515;
}

.AU311, .AU311 span
{
	color: #F000FF;
}

.AU312, .AU312 span
{
	color: #0080C0;
}

.AU313
{
	font-weight: bold;
	color: #FF8080;
}

.AU314
{
	font-weight: bold;
	color: #0080FF;
}

.AU315
{
	color: #7D8AE6;
}

</style></head>

то есть стиль pre внёс в переименованный codeboxautoit, иначе у меня стиль сайта изменяется. Убрал обший стиль span, его данные перенёс в codeboxautoit, достаточно pre для которого применён индивидуальный стиль.

Приноровился с html так:
1. Замена функции _name на <span class="AU316">_name</span>
2. Замена codebox на codeboxautoit
3. Удаление общего стиля <span></span>
4. Замена class="S на class="AU3
5. Вставка новой шапки стилей, одинаковой для всех
Всё.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
CreatoR
Еще маленький косячок обнаружил.
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
Ещё в копилку, для комплексного исправления:
Переменная $In в которой $ - цвет переменной, а In - цвет функции. В формате html.
$In > $In
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
3. первая строка
У меня подсвечивается, полный пример можно?

Фон используется стандартный
И там и там, поправлю.

madmasles [?]
Еще маленький косячок обнаружил
Поправлю.

AZJIO [?]
Переменная $In в которой $ - цвет переменной, а In - цвет функции
Поправлю...

P.S
Всё это проблемы не Au3ToPost, а библиотеки «Au3SyntaxHighlight.au3» которая в него включена...
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
CreatoR [?]
У меня подсвечивается, полный пример можно?
Вот я руками подправлял, но попробуй скопировать и обработать.
Попробуй ещё это, посмотри что с закомментированными строками проиходит, которые начинаются с начала новой строки.

Вариант сокращённой записи:
Код:
border: #AAAAAA 1px solid;
padding: 8px 8px 8px 8px;
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
Вот я руками подправлял, но попробуй скопировать и обработать.
Ок, понял в чём дело.

Ждите обновления...


Добавлено:
Сообщение автоматически объединено:

Доступна новая версия - 2.6. Проверяйте функцией автообновления :whistle:
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
CreatoR
Почему все-таки в au3.styles.properties отсутствует
Код:
#Background
style.au3.32=style.*.32=$(font.base),back:#3F3F3F
который должен вроде как добавиться в
Код:
.au3_codebox
{
	BACKGROUND-COLOR: #3F3F3F
}

На счёт "# White space", в этом я уже разобрался вчера, он должен добавиться в
Код:
.au3_codebox
{
	COLOR: #465584;
}
То есть для него не нужно создавать отдельный .au3_S0, так как 16-ый цвет выполняет именно общий цвет в au3_codebox. Ведь функция _Beep отсутствует в списке известных функций UDF поэтому её цвет дожен быть как нераспознанный, из au3_codebox.

И последний вопрос, зачем в шапке несколько вложенных стилей, которые в итоге применяются к одному коду? Например стиль span является последний и его настройки являются определяющими, только вот зачем он нужен если эти же параметры можно указать в au3_codebox. Если для pre определяется класс au3_codebox то по сути класс au3_codebox и pre суммируются, получается что можно заключить их в один стиль au3_codebox. Если проблема слияния кода с текстами или другими кодами, то тут тоже нет проблем. Просто хочется один раз указать настройки и не править полученный результат. Ко всему прочему добавить в au3.styles.properties общий цвет (COLOR), общий фон (BACKGROUND-COLOR) и общий шрифт (FONT-FAMILY), использую более читабельный для меня Arial.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
Почему все-таки в au3.styles.properties отсутствует
Там ещё многие стили отсутствуют, зачем мне добавлять все.

для него не нужно создавать отдельный .au3_S0
А если я хочу это для BBCode? :smile:

зачем в шапке несколько вложенных стилей
Напомню, что главная цель у данной утилиты была отправка кода на форумы, про html и речи в начале небыло, т.ч нечего так сильно удивляться... вот с твоей помощью приведём утилиту в желаемый вид ;)
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
стиль span является последний и его настройки являются определяющими, только вот зачем он нужен если эти же параметры можно указать в au3_codebox
А если кому то захочется использовать не au3_codebox, а свой стиль?
 

AZJIO

Меценат
Меценат
Сообщения
2,766
Репутация
1,154
CreatoR [?]
А если кому то захочется использовать не au3_codebox, а свой стиль?
Свой стиль можно указать в au3_codebox, он уже будет взят из au3.styles.properties. Если пользователь разбирается в стилях и тэгах html, то он с лёгкостью добавит дополнительные стили, а если не разбирается, то и span ему не поможет.
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
AZJIO [?]
Если пользователь разбирается в стилях и тэгах html, то он с лёгкостью добавит дополнительные стили
Ну так он также с лёгкостю может убрать ненужный стиль :smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
CreatoR
Обнаружил в версии 2.6 маленький косячок. При обработке строки вида
Код:
;$sString = ClipGet() ;вернуть строку из буфера
Обрезается вторая ; и все, что после нее до конца строки.

OffTopic:
Вы меня извините за то, что я все время косячки ищу. :-[
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,670
Репутация
2,463
madmasles [?]
Обрезается вторая ; и все, что после нее до конца строки
Спасибо, это из за удаления вложенных стилей, исправляется заменой первого блока на второй в «Au3SyntaxHighlight.au3»:

Код:
$aSplit_Comment = StringSplit($aSplit_Code[$i], ';')
			$aSplit_Code[$i] = $aSplit_Comment[1] & $aAu3SH_Styles[$iAu3SH_Cmnt_Style] & ';' & StringRegExpReplace($aSplit_Comment[2], $sPattern2, '') & $sAu3SH_CloseTag


2
Код:
$aSplit_Comment = StringRegExp($aSplit_Code[$i], '([^;]*);(.*?)$', 3)
			
			If UBound($aSplit_Comment) > 1 Then
				$aSplit_Code[$i] = $aSplit_Comment[0] & $aAu3SH_Styles[$iAu3SH_Cmnt_Style] & ';' & StringRegExpReplace($aSplit_Comment[1], $sPattern2, '') & $sAu3SH_CloseTag
			EndIf


Вы меня извините за то, что я все время косячки ищу
Не за что извиняться, без обнаружения подобных косячков программа не развивалась бы ;)
 
Верх