📜 ⬆️ ⬇️

Convenient development for OS Inferno in Vim

FAQ: What is OS Inferno and why is it needed?

Under the inferno, software can be written both inside the inferno itself (using Acme IDE , the compiler limbo and mk for building), and outside, in host os (using any editor / IDE, and host os versions of limbo and mk) - while launching the inferno need only to run tests or debug. I have prepared several projects / scripts that are intended to simplify development for inferno in general, and development using Vim running on host os in particular.

Syntax highlighting for different file formats: limbo , sh , mk (mkfile) . If you are already using backlight for limbo - update the file, it has been rewritten and now fully supports the current limbo syntax.

The viewdoc viewer plugin now supports Inferno man pages. For example, you can press <F1> on a call to the delete function in the source code on limbo, and the documentation for the corresponding module lists (2) will be opened.
')
Syntax check plugin via Syntastic : limbo.vim (save to ~/.vim/syntax_checkers/ ).

Snippets for SnipMate (just as an example) : limbo.snippets (save to ~/.vim/snippets/ ).

inferno-opt-setup : scripts for “installing” (more precisely, bind-a) 3rd-party projects located in /opt .
inferno-opt-mkfiles : a set of mkfiles, designed specifically to simplify the development of conventional and / opt projects, support building and testing a project both inside the inferno and in host os, generating man pages from documentation in asciidoc , etc.
inferno-opt-skel : an example of a project with an application, library, tests, documentation - for use as an example and a template for quickly starting new projects.
inferno-contrib-tap : a limbo library that makes it easy to write tests with the output of the result in TAP (Test Anything Protocol) format. When developing on host os using the mkfiles mentioned above, this allows you to run tests using the very convenient prove command (included in perl).

For everything to work, you need to set the $INFERNO_HOME environment variable in the host os directory that should be connected as your home directory inside the inferno, and always call mk with the ROOT=// parameter in the host os - create the script wrapper ~/bin/mk :
 #!/bin/bash exec /usr/inferno/Linux/386/bin/mk "$@" ROOT=/usr/inferno 

Source: https://habr.com/ru/post/162287/


All Articles