Subversion Repositories Kolibri OS

Rev

Rev 2159 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1476 IgorA 1
2
3
Оглавление
4
5
48
49
 
50
51

TextEditor syntax file converter версия от 31.05.2010

52

О программе

53

Программа для работы с файлами текстового редактора формата *.syn.

54

55

Лицензия свободная.

56
 
57

Алгоритм работы программы

58

Перед использованием записать файл te_synt.kex в папку с редактором t_edit.kex.

59

1) загрузить файл синтаксиса .syn

60

2) ввести путь и новое имя для сохранения в формате .asm

61

3) изменить в файле .asm интересующие пользователя параметры, это могут быть:

62
    63
  • цвета интерфейса
  • 64
  • подсвечиваемые слова (должны ити в порядке следования ascii кодов)
  • 65
  • справка по словам
  • 66
    67

    4) компилировать в fasm

    68

    5) исправить расширение .bin на .syn

    69

    Если пропустить 3-й пункт, то в результате пользователь должен получить такой же файл синтаксиса, который был изначально.

    70
     
    71

    Формат преобразованого файла подсветки *.asm

    72

    count_colors_text - колличество цветов для текста

    73

    count_key_words - колличество подсвечиваемых слов

    74

    Цветовые параметры:

    75

    color_cursor - цвет курсора

    76

    color_wnd_capt - цвет полей вокруг окна

    77

    color_wnd_work - цвет фона в окне

    78

    color_wnd_bord - цвет текста на полях

    79

    color_select - цвет выделения

    80

    color_cur_text - цвет символа под курсором

    81

    color_wnd_text - метка после которой идут цвета текста в окне

    82
     
    83

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

    2159 IgorA 84
    macro wo txt,f1,p1,p2,p3{
    1476 IgorA 85
    @@: db txt
    86
    rb @b+40-$
    2159 IgorA 87
    dd f1+0
    88
    db p1
    89
    dw p2+0
    90
    db p3
    1476 IgorA 91
    }
    92

    параметры макроса:

    93

    txt - подсвечиваемое слово

    2159 IgorA 94

    f1 - смещение начала справки по данному слову относительно метки f1 (если справки нет то параметр можно оставить пустым)

    1476 IgorA 95

    p1 - опции влияющие на выделение слова. Возможно всего 5 опций, каждая из которых включается определенным битом:

    96
      97
       
    • 20=1 - слева не текст,
    • 98
       
    • 21=2 - справа не текст,
    • 8929 IgorA 99
       
    • 22=4 - использовать конечный символ,
    • 100
       
    • 23=8 - слева любая цифра,
    • 101
       
    • 24=16 - справа любая цифра.
    • 1476 IgorA 102
      2159 IgorA 103

      p2 - (ascii код экранирующего символа * 256) + ascii код конечного символа. Используется в случаях, когда нужно задать выделение заранее не известной длинны, например: комментарии, строки в кавычках. Для его использования предыдущий параметр должен содержать 2-й бит или цифру 4 = 22.

      1476 IgorA 104

      p3 - номер цвета из массива color_wnd_text, которым будет выделятся слово

      105
       
      106

      Пример 1. Нужно задать слово or, что-бы по ошибке комбинации из символов входящих в слово не выделялись в других словах, например: form, color используем в p2 биты 0 и 1 получаем число 3 = 20+21 = 1+2.

      107

      Пример 2. Фрагмент файла, полученого в результате работы программы:

      108
      wo<'word'>,f1.600-f1,3,,8
      2159 IgorA 109
      wo<'xadd'>,,3,,1
      1476 IgorA 110
      wo<'xchg'>,f1.602-f1,3,,1
      2159 IgorA 111
      wo<'xlat'>,,3,,1
      112
      wo<'xlatb'>,,3,,1
      113
      wo<'xmm0'>,,3,,2
      114
      wo<'xmm1'>,,3,,2
      115
      wo<'xmm2'>,,3,,2
      116
      wo<'xmm3'>,,3,,2
      117
      wo<'xmm4'>,,3,,2
      118
      wo<'xmm5'>,,3,,2
      119
      wo<'xmm6'>,,3,,2
      120
      wo<'xmm7'>,,3,,2
      1476 IgorA 121
      wo<'xor'>,f1.613-f1,3,,1
      122
      wo<'zf'>,f1.614-f1,3,,2
      2159 IgorA 123
      wo<'||'>,,0,,1
      1476 IgorA 124

      Параметры p2 почти во всех словах равны 3-м, а в последнем слове 0, потому что для последнего слова не важно какие символы будут слева и справа от него.

      125
       
      126

      Формат файла подсветки *.syn

      127
      128
      ЭлементРазмер (байт)
      129
      Количество цветов текста
      130
        
      4
      131
      Количество подсвечиваемых слов
      132
        
      4
      133
      Цвета интерфейса
      134
        
      4*6
      135
      Цвета для текста
      136
        
      4*(кол. цв. текста)
      137
      Структуры со свойствами и описаниями слов
      138
        
      sizeof(TexColViv)*(кол. слов)
      139
      Разделительный символ, означающий начало описаний слов (всегда равен 0)
      140
        
      1 байт
      141
      Описания слов (строки текста с 0-ми в конце)
      142
        
      (длинна справочного текста + 1)
      143
      144

      Замечания.

      145
        146
      • Все слова должны быть расположены в порядке следования их ASCII кодов.
      • 147
          Возможно в будущих версиях формат файлов подсветки будет изменен.
        148
        149
         
        150

        151

        Автор

        152

        Игорь А. (IgorA) - разработка программы.

        153
         
        154
        155