Удобная разработка для OS Inferno в 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
    
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

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

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

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