FAQ: Что такое OS Inferno и зачем она нужна?
Под инферно писать софт можно как внутри самой инферно (используя Acme IDE, компилятор limbo и mk для сборки), так и снаружи, в host os (используя любой редактор/IDE, и host os -версии limbo и mk) — при этом запускать инферно понадобится только для запуска тестов или отладки. Я подготовил несколько проектов/скриптов, которые предназначены упростить разработку под инферно вообще, и разработку используя Vim запущенный в host os в частности.
Подсветка синтаксиса для разных форматов файлов: limbo, sh, mk (mkfile). Если вы уже используете подсветку для лимбо — обновите файл, он был переписан и теперь полностью поддерживает текущий синтаксис лимбо.
Плагин для просмотра документации viewdoc теперь поддерживает инферновские man-страницы. Например, можно нажать <F1>
на вызове функции delete
в исходнике на лимбо, и будет открыта документация на соответствующий модуль lists(2).
Плагин для проверки синтаксиса через Syntastic: limbo.vim (сохраните в ~/.vim/syntax_checkers/
).
Сниппеты для SnipMate (просто в качестве примера): limbo.snippets (сохраните в ~/.vim/snippets/
).
inferno-opt-setup: скрипты для «установки» (точнее, bind-а) 3rd-party проектов расположенных в /opt
.
inferno-opt-mkfiles: набор mkfile-ов, разработанных специально для упрощения разработки обычных и /opt-проектов, поддерживают сборку и тестирование проекта как внутри инферно, так и в host os, генерирование man-страниц из документации в формате asciidoc, etc.
inferno-opt-skel: пример проекта с приложением, библиотекой, тестами, документацией — для использования в качестве примера и шаблона для быстрого старта новых проектов.
inferno-contrib-tap: библиотека для лимбо, позволяющая легко писать тесты с выводом результата в формате TAP (Test Anything Protocol). При разработке в host os с использованием упомянутых выше mkfile-ов это позволяет запускать тесты используя очень удобную команду prove (входит в perl).
Чтобы всё работало, нужно установить переменную окружения $INFERNO_HOME
в каталог host os который должен подключаться как ваш домашний каталог внутри инферно, и в host os всегда вызывать mk с параметром ROOT=/каталог/инферно
— проще всего это обеспечить создав скрипт-обёртку ~/bin/mk
:
#!/bin/bash
exec /usr/inferno/Linux/386/bin/mk "$@" ROOT=/usr/inferno
Автор: powerman