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.
Default indentation is provided by jsonnet-calculate-indent and
accommodates basic indentation. It isn't consistent with jsonnetfmt
and will be replaced by an SMIE based implementation in the near
future. If you prefer the newer implementation, you may enable it by
setting jsonnet-use-smie to t.
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 three customizable parameters that you may configure in this mode:
jsonnet-commandallows you to indicate which Jsonnet binary should be used to render a JSON document.jsonnet-library-search-directoriesspecifies the sequence of Jsonnet library search directories use during evaluation.
Relative paths in this sequence must resolve from the directory of the buffer being evaluated.jsonnet-enable-debug-printwill cause methods in jsonnet-mode to write messages to the status bar if enabled.jsonnet-use-smieenables SMIE-provided indentation.