Provides Emacs font-lock, indentation, and some useful functions for the Jsonnet templating language.
Table of Contents
The jsonnet-eval method depends on the jsonnet binary, which should be
available on your exec-path. Install this on OSX with Homebrew by running
brew install jsonnet.
The indentation rules are a set of rules which I put together based on my
experience with Jsonnet. You can see them by looking at the implementation of
jsonnet-calculate-indent.
Closely related to indentation is formatting. By running
jsonnet-reformat-buffer (bound to C-c C-r), the jsonnet fmt utility will
reformat your buffer and make it pretty.
To get a snapshot of what your Jsonnet file will render to, run jsonnet-eval
(bound to C-c C-e). This will popup another window and show the result of
running jsonnet-command on the current buffer.
jsonnet-mode also provides some methods to make navigation easier. In
particular, jsonnet-jump (bound to C-c C-f) allows you to jump to the
definition of a given identifier.
There are two customizable parameters which you may configure in this mode:
jsonnet-commandallows you to indicate which Jsonnet binary should be used to render a JSON document.jsonnet-enable-debug-printwill cause methods in jsonnet-mode to write messages to the status bar if enabled.