ТОМ - платформа для текстовых игр

Объявление

Платформа ТОМ предназначена для создания текстовых игр на русском языке и имеет развитый парсер, позволяющий взаимодействовать с играми с помощью команд на близком к естественному языке. В данный момент активно разрабатывается версия ТОМ 2.
Последнюю версию платформы можно скачать здесь.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ТОМ - платформа для текстовых игр » Визуальный конструктор » Подсветка кода ТОМ2 в SciTE


Подсветка кода ТОМ2 в SciTE

Сообщений 1 страница 6 из 6

1

Есть много текстовых редакторов с подсветкой кода для разных языков и даже с возможностью настройки под свой язык. Но во всех виденных мной редакторах все настройки настолько примитивны, что даже близко не позволяют задать подсветку такого необычного языка как ТОМ2.
Но вот недавно я увидел возможности программы SciTE. Сколько лет она лежала у меня под носом и я даже не подозревал о возможностях, которые в ней скрываются.
Если кратко: она позволяет без перекомпиляции и возни с исходниками описать сложный парсинг и подсветку кода на скриптовом языке lua. И это только вершина айзберга.
Если копнуть глубже, то там есть всё, что нужно для IDE:
* сложная подсветка кода
* сворачивание блоков кода (code folding)
* автодополнение (autocomplete)
* возможность задать любые дополнительные функции в меню и повесить их на горячие клавиши (простой пример: по горячей клавише закомментировать выделенный текст)
* возможность подключить внешний компилятор (и например повесить на F5 запуск платформы ТОМ2)
* ...скорее всего я что-то пропустил
Всё это можно сделать через скрипты на lua.

Предлагаю использовать SciTE как основу для редактора кода.
Уже начал писать простенький скрипт парсинга кода, но боюсь, это будет не просто. ТОМ2 имеет действительно сложный и необычный синтаксис.
Вот картинка для затравки:
http://s6.uploads.ru/t/wrD1v.png

2

В общем, начало положено. Довёл скрипт до состояния, когда он худо-бедно раскрашивает демо-игру Demo.tom.
Вот ссылка на архив с программой SciTE, настроенной для работы с ТОМ2. Пока не разбирался как правильно подключить свою подсветку, чтобы можно было выбирать в меню, так-что всё "захардкожено" по умолчанию. Просто запускаем и работаем.
Ещё есть много всего, что хотелось бы подсвечивать особым образом (морфологические ключи, код внутри строк и т.д.), но это уже в процессе допиливания. =)
Если хочется посмотреть на скрипт парсинга и раскраски, то можно открыть файл "tom2\TOM2Startup.lua", но там чёрт ногу сломит. Я пока "прощупываю почву" так сказать, пытаясь найти наиболее оптимальный способ закодить всю неописуемую красоту могучего языка ТОМ2 =). Не удивлюсь, если я сам через неделю там не смогу разобраться.
Ах да, парсер может споткнуться на каком-нибудь месте в коде с непонятным ему синтаксисом и после этого места пойдёт вырвиглазная подсветка. Прошу писать мне такие комбинации символов, на которых он "ломается". И ещё, маловероятны, но не исключены полные зависания SciTE при попытке распарсить текст (опять-же по причине сырости скрипта), так-что если пишешь что-то серьёзное, то рекомендую почаще сохраняться.

3

Подсветка доработана. Вот новая версия.
* Добавлена подсветка морфологических ключей
* Больше ключевых слов
* Моноширный шрифт
* Исправление глюков

4

Очень здорово! скачал, буду пробовать.

Было бы еще хорошо разобраться с подсветкой для Ace. Там тоже скриптовый язык - JS, но как там всё устроено даже еще не смотрел. Посмотри файлик \TOM_2.a.4.10\ace_src\mode-tom2.js
Я его скопировал с mode-javascript.js, и немного почистил от лишнего, но специфику ТОМ2 он не поддерживает, поэтому раскраска в WEB-IDE весьма условная.

5

У меня ключи как-то странно отображаются:
http://sd.uploads.ru/0ocYV.png

6

Похоже, проблема с русскими символами в кодировке UTF-8.
Если в другой программе сохранить файл в кодировке ANSI, то всё открывается нормально. Пока даже не знаю, как решить проблему нормально, не обходными путями.


Вы здесь » ТОМ - платформа для текстовых игр » Визуальный конструктор » Подсветка кода ТОМ2 в SciTE