- PVSM.RU - https://www.pvsm.ru -
FAQ: Что такое OS Inferno и зачем она нужна? [1]
Под инферно писать софт можно как внутри самой инферно (используя Acme IDE [2], компилятор limbo [3] и mk [4] для сборки), так и снаружи, в host os (используя любой редактор/IDE, и host os -версии limbo и mk) — при этом запускать инферно понадобится только для запуска тестов или отладки. Я подготовил несколько проектов/скриптов, которые предназначены упростить разработку под инферно вообще, и разработку используя Vim [5] запущенный в host os в частности.
Подсветка синтаксиса для разных форматов файлов: limbo [6], sh [7], mk (mkfile) [8]. Если вы уже используете подсветку для лимбо — обновите файл, он был переписан и теперь полностью поддерживает текущий синтаксис лимбо.
Плагин для просмотра документации viewdoc [9] теперь поддерживает инферновские man-страницы. Например, можно нажать <F1>
на вызове функции delete
в исходнике на лимбо, и будет открыта документация на соответствующий модуль lists(2) [10].
Плагин для проверки синтаксиса через Syntastic [11]: limbo.vim [12] (сохраните в ~/.vim/syntax_checkers/
).
Сниппеты для SnipMate [13] (просто в качестве примера): limbo.snippets [14] (сохраните в ~/.vim/snippets/
).
inferno-opt-setup [15]: скрипты для «установки» (точнее, bind-а) 3rd-party проектов расположенных в /opt
.
inferno-opt-mkfiles [16]: набор mkfile-ов, разработанных специально для упрощения разработки обычных и /opt-проектов, поддерживают сборку и тестирование проекта как внутри инферно, так и в host os, генерирование man-страниц из документации в формате asciidoc [17], etc.
inferno-opt-skel [18]: пример проекта с приложением, библиотекой, тестами, документацией — для использования в качестве примера и шаблона для быстрого старта новых проектов.
inferno-contrib-tap [19]: библиотека для лимбо, позволяющая легко писать тесты с выводом результата в формате 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
Источник [20]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vim/22410
Ссылки в тексте:
[1] Что такое OS Inferno и зачем она нужна?: http://habrahabr.ru/post/145993/
[2] Acme IDE: http://research.swtch.com/acme
[3] limbo: http://powerman.name/Inferno/Limbo.html
[4] mk: http://powerman.name/Inferno/man/1/mk.html
[5] Vim: http://www.vim.org/
[6] limbo: http://www.vim.org/scripts/script.php?script_id=3894
[7] sh: http://www.vim.org/scripts/script.php?script_id=4350
[8] mk (mkfile): http://www.vim.org/scripts/script.php?script_id=4343
[9] viewdoc: http://www.vim.org/scripts/script.php?script_id=3893
[10] lists(2): http://powerman.name/Inferno/man/2/lists.html
[11] Syntastic: http://www.vim.org/scripts/script.php?script_id=2736
[12] limbo.vim: http://powerman.name/download/vim/syntax_checkers/limbo.vim
[13] SnipMate: http://www.vim.org/scripts/script.php?script_id=2540
[14] limbo.snippets: http://powerman.name/download/vim/snippets/limbo.snippets
[15] inferno-opt-setup: http://code.google.com/p/inferno-opt-setup/
[16] inferno-opt-mkfiles: http://code.google.com/p/inferno-opt-mkfiles/
[17] asciidoc: http://www.methods.co.nz/asciidoc/
[18] inferno-opt-skel: http://code.google.com/p/inferno-opt-skel/source/detail?r=c13f46c1f8fc3bb7b4a23f73e3a86e437b231316
[19] inferno-contrib-tap: http://code.google.com/p/inferno-contrib-tap/
[20] Источник: http://habrahabr.ru/post/162287/
Нажмите здесь для печати.