Редактор кода
на базе HTML5
Компонент
предназначен для редактирования описания классов СУБД Cache в МИС
«Артемида®». Он
также может использоваться
отдельно
от МИС «Артемида®» в
качестве независимого
приложения. Особенностью редактора является то, что он предназначен для
исполнения в окне веб-браузера. Редактор написан на языке javascript и
использует для редактирования элемент HTML5 canvas. Редактор
может быть
легко адаптирован для распознавания описания других языков
программирования, таких как Cache
Object Script, javascript,
basic и
т.д. Это достигается за счет того, что редактор включает в себя
синтаксический LALR(1)-анализатор, не привязанный к конкретному языку.
Функциональные
особенности:
- Синтаксическая раскраска текста;
- Подсветка зоны синтаксической ошибки;
- Поддержка отмены действий;
- Поддержка автозавершения;
- Поддержка инкрементального парсинга;
- Поддержка буфера обмена.
Комбинации клавиш:
- Home – переместить курсор в начало строки;
- End – переместить курсор в конец строки;
- Ctrl+Home – переместить курсор в начало текста;
- Ctrl+End – переместить курсор в конец текста;
- Ctrl+Left – переместить курсор на один токен
влево (вверх);
- Ctrl+Right – переместить курсор на один токен
вправо (вниз);
- Ctrl+Z – отмена действия на шаг назад;
- Shift+Left – добавить в выделенный фрагмент
текста символ
слева от позиции курсора;
- Shift+Right – добавить в выделенный фрагмент
текста символ
справа от позиции курсора;
- Shift+Home – выделить фрагмент текста от начала
строки до
позиции курсора;
- Shift+End – выделить фрагмент текста от позиции
курсора до
конца строки;
- Ctrl+A – выделить весь текст в окне
редактирования;
- Ctrl+C – копирование выделенного фрагмента текста
в
буфер обмена;
- Ctrl+V – вставка текстового содержимого буфера
обмена в
текущую позицию курсора.
Демо-версия позволяет
редактировать упрощенное описание класса Cache.
Поддерживаются свойства, методы (только описание без кода метода),
параметры, индексы.
Пример описания класса:
///Desc of class
Class Child Extends Parent [ ProcedureBlock ]
{
Parameter P1 As STRING = "qwerty";
///Desc of property
Property F1 As Double [ Internal ];
Index I1 On F1 [ Unique ];
ClientMethod M1(Par1 As String) As String [ Language = javascript ]
{
}
}
Поддерживается веб-браузер Mozilla Firefox (версии 4 – 10).
Для ускорения отрисовки текста желательно в браузере включить
аппаратное
ускорение (Меню:
Инструменты->Настройки->Дополнительные->Общие->По
возможности использовать аппаратное ускорение).
Ознакомиться с демо-версией редактора можно здесь.
Для работы с буфером обмена необходимо скачать и установить дополнение
для Mozilla Firefox.
Скачать его можно отсюда.