forked from KolibriOS/kolibrios
6db5aa0119
2) add program 'TextEditor syntax file editor' git-svn-id: svn://kolibrios.org@1476 a494cfbc-eb01-0410-851d-a64ba20cac60
153 lines
5.6 KiB
HTML
153 lines
5.6 KiB
HTML
<html>
|
||
<head>
|
||
<title>Оглавление</title>
|
||
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
|
||
<style>
|
||
body
|
||
{
|
||
font-size: 15px;
|
||
font-family: "Bookman Old Style";
|
||
color: black;
|
||
text-align: justify;
|
||
}
|
||
h1 { color: green; font-size: 23px; }
|
||
h2 { color: green; font-size: 21px; }
|
||
h3 { color: green; font-size: 19px; }
|
||
h4 { color: #803f00; font-size: 17px; }
|
||
i { color: #0099cc; }
|
||
b { color: #0099cc; }
|
||
p {
|
||
text-indent: 1em;
|
||
margin-top: 3px;
|
||
margin-bottom: 2px;
|
||
margin-left: 0px;
|
||
margin-right: 0px;
|
||
}
|
||
ol, ul, dl{
|
||
margin-top: 3px;
|
||
margin-bottom: 2px;
|
||
}
|
||
pre
|
||
{
|
||
padding: 2px;
|
||
padding-left: 20px;
|
||
margin-top: 5px;
|
||
margin-bottom: 5px;
|
||
margin-left: 0px;
|
||
margin-right: 0px;
|
||
font-family: "Courier New";
|
||
font-size: 15px;
|
||
color: #004000;
|
||
background-color: #ffd0ff;
|
||
}
|
||
table
|
||
{
|
||
font-size: 15px;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<h1>TextEditor syntax file converter версия от 31.05.2010</h1>
|
||
<h2>О программе</h2>
|
||
<p>Программа для работы с файлами текстового редактора формата <b>*.syn</b>.</p>
|
||
<p><img src="te_syntax.png"></p>
|
||
<p>Лицензия свободная.</p>
|
||
|
||
<h2>Алгоритм работы программы</h2>
|
||
<p>Перед использованием записать файл <b>te_synt.kex</b> в папку с редактором <b>t_edit.kex</b>.</p>
|
||
<p>1) загрузить файл синтаксиса <b>.syn</b></p>
|
||
<p>2) ввести путь и новое имя для сохранения в формате <b>.asm</b></p>
|
||
<p>3) изменить в файле <b>.asm</b> интересующие пользователя параметры, это могут быть:</p>
|
||
<ul>
|
||
<li>цвета интерфейса</li>
|
||
<li>подсвечиваемые слова (должны ити в порядке следования ascii кодов)</li>
|
||
<li>справка по словам</li>
|
||
</ul>
|
||
<p>4) компилировать в <b>fasm</b></p>
|
||
<p>5) исправить расширение <b>.bin</b> на <b>.syn</b></p>
|
||
<p>Если пропустить 3-й пункт, то в результате пользователь должен получить такой же файл синтаксиса, который был изначально.</p>
|
||
|
||
<h3>Формат преобразованого файла подсветки *.asm</h3>
|
||
<p><b>count_colors_text</b> - колличество цветов для текста</p>
|
||
<p><b>count_key_words</b> - колличество подсвечиваемых слов</p>
|
||
<p>Цветовые параметры:</p>
|
||
<p><b>color_cursor</b> - цвет курсора</p>
|
||
<p><b>color_wnd_capt</b> - цвет полей вокруг окна</p>
|
||
<p><b>color_wnd_work</b> - цвет фона в окне</p>
|
||
<p><b>color_wnd_bord</b> - цвет текста на полях</p>
|
||
<p><b>color_select</b> - цвет выделения</p>
|
||
<p><b>color_cur_text</b> - цвет символа под курсором</p>
|
||
<p><b>color_wnd_text</b> - метка после которой идут цвета текста в окне</p>
|
||
|
||
<p><b>text</b> - метка после которой идут описания ключевых слов. Для более компактного описания ключевого слова используется макрос <b>wo</b>:</p>
|
||
<pre>macro wo txt,lf1,p1,p2,p3{
|
||
@@: db txt
|
||
rb @b+40-$
|
||
dd lf1
|
||
db p1,p2+0,p3
|
||
}</pre>
|
||
<p>параметры макроса:</p>
|
||
<p><b>txt</b> - <i>подсвечиваемое слово</i></p>
|
||
<p><b>lf1</b> - <i>смещение начала справки</i> по данному слову относительно метки <b>f1</b></p>
|
||
<p><b>p1</b> - <i>опции</i> влияющие на выделение слова. Возможно всего 5 опций, каждая из которых включается определенным битом:</p>
|
||
<ul>
|
||
<li>2<sup>0</sup>=1 - слева не текст,</li>
|
||
<li>2<sup>1</sup>=2 - справа не текст,</li>
|
||
<li>2<sup>3</sup>=4 - использовать конечный символ,</li>
|
||
<li>2<sup>4</sup>=8 - слева любая цифра,</li>
|
||
<li>2<sup>5</sup>=16 - справа любая цифра.</li>
|
||
</ul>
|
||
<p><b>p2</b> - <i>ascii код конечного символа</i> для выделения. Используется в случаях, когда нужно задать выделение заранее не известной длинны, например: комментарии, строки в кавычках. Для его использования предыдущий параметр должен содержать 2-й бит ил цифра 4 = 2<sup>2</sup>.</p>
|
||
<p><b>p3</b> - <i>номер цвета</i> из массива <b>color_wnd_text</b>, которым будет выделятся слово</p>
|
||
|
||
<p><b>Пример 1.</b> Нужно задать слово <i>or</i>, что-бы по ошибке комбинации из символов входящих в слово не выделялись в других словах, например: <i>f<b>or</b>m</i>, <i>col<b>or</b></i> используем в <b>p2</b> биты 0 и 1 получаем число 3 = 2<sup>0</sup>+2<sup>1</sup> = 1+2.</p>
|
||
<p><b>Пример 2.</b> Фрагмент файла, полученого в результате работы программы:</p>
|
||
<pre>wo<'word'>,f1.600-f1,<b>3</b>,,8
|
||
wo<'xadd'>,0,<b>3</b>,,1
|
||
wo<'xchg'>,f1.602-f1,<b>3</b>,,1
|
||
wo<'xlat'>,0,<b>3</b>,,1
|
||
wo<'xlatb'>,0,<b>3</b>,,1
|
||
wo<'xmm0'>,0,<b>3</b>,,2
|
||
wo<'xmm1'>,0,<b>3</b>,,2
|
||
wo<'xmm2'>,0,<b>3</b>,,2
|
||
wo<'xmm3'>,0,<b>3</b>,,2
|
||
wo<'xmm4'>,0,<b>3</b>,,2
|
||
wo<'xmm5'>,0,<b>3</b>,,2
|
||
wo<'xmm6'>,0,<b>3</b>,,2
|
||
wo<'xmm7'>,0,<b>3</b>,,2
|
||
wo<'xor'>,f1.613-f1,<b>3</b>,,1
|
||
wo<'zf'>,f1.614-f1,<b>3</b>,,2
|
||
wo<'||'>,0,<b>0</b>,,1</pre>
|
||
<p>Параметры <b>p2</b> почти во всех словах равны 3-м, а в последнем слове 0, потому что для последнего слова не важно какие символы будут слева и справа от него.</p>
|
||
|
||
<h3>Формат файла подсветки *.syn</h3>
|
||
<table>
|
||
<tr><th>Элемент</th><th>Размер (байт)</th></tr>
|
||
<tr><td>Количество цветов текста</td>
|
||
<td><pre>4</pre></td></tr>
|
||
<tr><td>Количество подсвечиваемых слов</td>
|
||
<td><pre>4</pre></td></tr>
|
||
<tr><td>Цвета интерфейса</td>
|
||
<td><pre>4*6</pre></td></tr>
|
||
<tr><td>Цвета для текста</td>
|
||
<td><pre>4*(кол. цв. текста)</pre></td></tr>
|
||
<tr><td>Структуры со свойствами и описаниями слов</td>
|
||
<td><pre>sizeof(TexColViv)*(кол. слов)</pre></td></tr>
|
||
<tr><td>Разделительный символ, означающий начало описаний слов (всегда равен 0)</td>
|
||
<td><pre>1 байт</pre></td></tr>
|
||
<tr><td>Описания слов (строки текста с 0-ми в конце)</td>
|
||
<td><pre>(длинна справочного текста + 1)</pre></td></tr>
|
||
</table>
|
||
<h4>Замечания.</h4>
|
||
<ul>
|
||
<li>Все слова должны быть расположены в порядке следования их ASCII кодов.
|
||
Возможно в будущих версиях формат файлов подсветки будет изменен.</li>
|
||
</ul>
|
||
|
||
<hr>
|
||
<h2>Автор</h2>
|
||
<p>Игорь А. (IgorA) - разработка программы.</p>
|
||
|
||
</body>
|
||
</html> |