Пользователь
0,0
рейтинг
12 декабря 2012 в 09:25

Разработка → Удобная разработка для OS Inferno в Vim

VIM*
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
Alex Efros @powerman
карма
302,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (2)

  • 0
    Круто! Спасибо! Пишите побольше об Inferno и Limbo, тема интересная, но плохо освещена на русском… Да и на английском не сильно. Коммунити слабо развита, наверно, потому что в основном эта система используется в интерпразе, не хватает таких ресурсов, наподобие лора и тп для легкого вхождения и обмена опытом… Ваша страничка — исключение…
    • +1
      На самом деле система настолько простая, что писать про неё почти нечего. Вникнуть с нуля в неё действительно не просто, слишком много всего сильно отличается от традиционных ОС, нужно суметь посмотреть на привычные вещи под необычным углом. Такие моменты я и стараюсь описывать в статьях.

      А когда понимание этих идей приходит, то больше особо вопросов не возникает, всё становится просто и понятно. Смысл описывать разработку разных приложений и особенности использования разных программ, если всё это делается совершенно одинаково (что и является сильной стороной этой ОС — простота и целостность как использования так и разработки)? С другой стороны, если есть конкретные темы или вопросы — пишите, я постараюсь на всё ответить или написать статьи.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.