MICA Language — VS Code Extension
Полная поддержка языка программирования MICA в Visual Studio Code.
Возможности
🎨 Подсветка синтаксиса
- Все ключевые слова, в том числе темпоральные (
ЛЕТОПИСЬ, СОБЫТИЕ, ВЕРНУТЬСЯ_К)
- Встроенные функции по категориям (ввод/вывод, коллекции, строки, математика...)
- Ф-строки с подсветкой
{выражения} внутри
- Числовые литералы:
1_000_000, 0xFF, 3.14
- Комментарии
//
- Операторы, скобки, строки
💡 Автодополнение
- 70+ встроенных функций с описанием и примерами
- Все ключевые слова языка
- Переменные и ритуалы из текущего файла
📖 Подсказки при наведении (Hover)
- Сигнатура функции:
СОРТИРОВАТЬ(список, ключ?) → список
- Описание что делает функция
- Пример использования кода
- Подсказки для ключевых слов:
ЛЕТОПИСЬ, ВЕТКА, АЩЕ и т.д.
▶ Запуск программ
- F5 — запуск текущего файла
- Кнопка ▶ в заголовке редактора
- Запуск через контекстное меню (правая кнопка)
- Выбор: терминал (с вводом) или панель вывода
🔍 Переход к определению
- F12 — перейти к объявлению ритуала
- Ctrl+Click по имени ритуала
🔧 Отладочные инструменты
MICA: Показать токены — что видит лексер
MICA: Показать AST — дерево разбора
- Доступны через контекстное меню и командную палитру
🛠 Дополнительно
- Автозакрытие скобок и кавычек
- Автоотступ после
:
- Базовое форматирование (удаление пробелов в конце строк)
- Диагностика синтаксических ошибок (подчёркивание)
- Строка состояния с кнопкой запуска
- 45+ сниппетов для быстрого ввода конструкций
Установка
Из .vsix файла
cd mica-language
npm install
npm run compile
npx vsce package
code --install-extension mica-language-1.0.0.vsix
Разработка (F5 в VS Code)
cd mica-language
npm install
# Открыть папку в VS Code, нажать F5
Настройки
| Параметр |
По умолчанию |
Описание |
mica.interpreterPath |
"" |
Путь к mica.py или mica. Если пусто — ищется автоматически |
mica.pythonPath |
"python3" |
Путь к Python |
mica.runInTerminal |
true |
Запуск в терминале (ИСТИНА) или панели вывода |
mica.clearOutputBeforeRun |
true |
Очищать вывод перед запуском |
mica.enableDiagnostics |
true |
Подчёркивать ошибки в редакторе |
mica.diagnosticsDelay |
500 |
Задержка проверки синтаксиса (мс) |
Горячие клавиши
| Клавиша |
Действие |
F5 |
Запустить текущий .mica файл |
Ctrl+F5 |
Запустить (альтернативно) |
F12 |
Перейти к определению ритуала |
Ctrl+Space |
Открыть автодополнение |
Ctrl+Shift+P → MICA |
Все команды расширения |
Сниппеты (примеры)
| Префикс |
Вставляет |
ритуал |
Объявление РИТУАЛ |
ащ |
АЩЕ ... |
аще-иначе |
АЩЕ / ИНАЧЕ |
для |
ДЛЯ ... В ...: |
для-диапазон |
ДЛЯ и В ДИАПАЗОН(...): |
покуда |
ПОКУДА ...: |
пробовать |
ПРОБОВАТЬ / ПОЙМАТЬ |
летопись |
ЛЕТОПИСЬ с СОБЫТИЕ |
ветка |
ВЕТКА с шаблоном |
подключить |
ПОДКЛЮЧИТЬ "..." |
лямбда |
ЛЯМБДА(х): х |
генератор |
[выр ДЛЯ х В список] |
мемо |
Декоратор мемоизации |
игра-шаблон |
Полный шаблон игры |
Что такое MICA
MICA (Micha's Immutable Chronicle Architecture) — интерпретируемый язык программирования с русским синтаксисом и темпоральной парадигмой.
Ключевые идеи:
- Русский синтаксис:
РИТУАЛ, ПОКУДА, АЩЕ/ИНАЧЕ
- Темпоральная парадигма: переменные помнят свою историю, можно откатиться к любому прошлому состоянию
- Параллельные ветки: изолированное выполнение с независимым состоянием
ЛЕТОПИСЬ демо:
счёт = 0
СОБЫТИЕ "старт": счёт = 100
СОБЫТИЕ "ход_1": счёт = 75
СОБЫТИЕ "ход_2": счёт = 120
СКАЗАТЬ(ИСТОРИЯ(счёт)) // [0, 100, 75, 120]
ВЕРНУТЬСЯ_К "ход_1"
СКАЗАТЬ(счёт) // 75
GitHub репозиторий языка: micha-medici/mica
Лицензия
MIT
| |