All Projects â†’ p3r7 â†’ clojure-essential-ref

p3r7 / clojure-essential-ref

Licence: MIT license
🔖 cider-doc to "Clojure, The Essential Reference"

Programming Languages

emacs lisp
2029 projects
Makefile
30231 projects

Projects that are alternatives of or similar to clojure-essential-ref

cljs-tooling
[DEPRECATED] Tooling support for ClojureScript
Stars: ✭ 58 (+34.88%)
Mutual labels:  cider
emidje
Test runner, report viewer and formatting tool for Midje within Emacs
Stars: ✭ 25 (-41.86%)
Mutual labels:  cider
Cider
The Clojure Interactive Development Environment that Rocks for Emacs
Stars: ✭ 3,229 (+7409.3%)
Mutual labels:  cider
cider
Submit your builds to the Apple App Store in seconds
Stars: ✭ 19 (-55.81%)
Mutual labels:  cider
Cider
A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind. 🚀
Stars: ✭ 3,146 (+7216.28%)
Mutual labels:  cider
re-jump.el
emacs navigation for re-frame projects
Stars: ✭ 63 (+46.51%)
Mutual labels:  cider
spacemacs
Content for the book - Clojure Development with Spacemacs
Stars: ✭ 86 (+100%)
Mutual labels:  cider

clojure-essential-ref

Emacs packages providing commands to browse the Clojure documentation of a symbol in book Clojure, The Essential Reference:

  • clojure-essential-ref: browse the default way (see Configuration)
  • clojure-essential-ref-web: browse online in the web version of the book (liveBook)
  • clojure-essential-ref-nov: browse offline in a local ebook (provided by optional sibling package clojure-essential-ref-nov, depends on nov.el)

They require a CIDER session to be launched to perform fully-qualified symbol resolution. Likewise, the source file must be known to CIDER. So, when adding a new source file during interactive development your might need to re-evaluate a require of this source file or even cider-eval-buffer it.

They behave similarly to cider-clojuredocs-web, including the default proposal of symbol-at-point. They are a nice companion to the latter (alongside cider-doc).

For more context, read the accompanying blog post.

Installation

To get only the web browsing mode:

(use-package clojure-essential-ref)

MELPA MELPA Stable

To also get the offline ebook browsing mode (depends on nov.el):

(use-package clojure-essential-ref-nov
  :init
  (setq clojure-essential-ref-nov-epub-path "~/Downloads/Clojure_The_Essential_Reference_v29_MEAP.epub"))

MELPA MELPA Stable

Configuration

ebook file

The offline ebook browing mode needs you to configure the path to the book (EPUB format):

(use-package clojure-essential-ref-nov
  ;; ...

  :init
  (setq clojure-essential-ref-nov-epub-path "~/Downloads/Clojure_The_Essential_Reference_v29_MEAP.epub")

Default browsing mode

The default browing mode (command clojure-essential-ref) is the online liveBook.

To use the offline ebook browing mode instead:

(use-package clojure-essential-ref-nov
  ;; ...

  :init
  (setq clojure-essential-ref-default-browse-fn #'clojure-essential-ref-nov-browse)

Usage

Under a CIDER session, just call the command:

M-x clojure-essential-ref

For convenience sake, you can bind it to a keyboard shortcut:

(use-package clojure-essential-ref
  ;; ...
  :bind (
         :map cider-mode-map
         ("C-h F" . clojure-essential-ref)
         :map cider-repl-mode-map
         ("C-h F" . clojure-essential-ref)))

Legibility

This code uses form feeds (^L character) as separators.

Either package form-feed or page-break-lines makes them appear as intended.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].