/hoon-mode.el

Primary LanguageEmacs LispGNU General Public License v2.0GPL-2.0

This package provides hoon-mode, which provides syntax highlighting for the language Hoon which is part of the Urbit ecosystem. Additionally, it provides documentation extracted from [developers.urbit.org] via eldoc.

Installing

Currently this package must be installed manually.

For Doom Emacs, add the following to /.doom.d/packages.el:

(package! hoon-mode :recipe (:host github :repo "urbit/hoon-mode.el"))

For users of the elpaca package manager and use-package, the installation may be done using

(use-package hoon-mode
  :elpaca (hoon-mode
           :host github
           :protocol ssh
           :repo "urbit/hoon-mode.el"
           :branch "master"
           :files (:defaults "*.json")))

Configuring

Add the following to your configuration:

(add-hook 'hoon-mode
          (lambda ()
            (define-key hoon-mode-map (kbd "C-c r") 'hoon-eval-region-in-herb)
            (define-key hoon-mode-map (kbd "C-c b") 'hoon-eval-buffer-in-herb)))

Documentation support

To conveniently read the documentation associated with a symbol, put this in your configuration:

(setq eldoc-echo-area-prefer-doc-buffer t)

and open a documentation buffer with 'M-x eldoc-doc-buffer.

Language Server

Install the Hoon Language Server and add the following to your configuration

(add-hook 'hoon-mode #'lsp)