Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/russell/cue-mode

CUE language mode for GNU Emacs
https://github.com/russell/cue-mode

Last synced: 23 days ago
JSON representation

CUE language mode for GNU Emacs

Awesome Lists containing this project

README

        

[[https://www.gnu.org/licenses/gpl-3.0][file:https://img.shields.io/badge/License-GPL%20v3-blue.svg]]

* cue-mode

Provides Emacs font-lock, indentation, and some useful functions for
the CUE data validation language.

** Dependencies

Depends on the CUE Lang CLI tool for formatting and evaluating
files. This can be installed by following this [[https://cuelang.org/docs/install/][documentation]].

** Features

*** Indentation

Indentation is implemented via the SMIE package, it has only been
tested with some sample files. There are test cases so any fixes
should come with a test.

*** Keybindings

| Key Binding | Function | Purpose |
|-------------+-----------------------+-------------------------------------------------|
| `C-c C-r` | `cue-reformat-buffer` | Reformat the current buffer |
| `C-c C-c` | `cue-eval-buffer` | Evaluate the current buffer and show the output |

** Testing

This project is using Bazel for testing, if you don't have it the
easiest way to get it is by installing [[https://github.com/bazelbuild/bazelisk][Bazelisk]].

You can run the following command to run the tests
#+begin_src sh
basel test //... --test_output=errors
# or, depending on how you installed
bazelisk test //... --test_output=errors
#+end_src

** Updating Autoloads

Updating autoloads can be done via this command
#+begin_src sh
bazel run //:generate-autoloads
#+end_src