Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/clojure-emacs/clojure-cheatsheet

[DEPRECATED] The Clojure Cheatsheet for Emacs
https://github.com/clojure-emacs/clojure-cheatsheet

Last synced: 3 months ago
JSON representation

[DEPRECATED] The Clojure Cheatsheet for Emacs

Awesome Lists containing this project

README

        

*This repository is now deprecated*, as the functionality was moved
upstream to [[https://github.com/clojure-emacs/cider][CIDER]] and
[[https://github.com/clojure-emacs/helm-cider][helm-cider]].

* Clojure Cheatsheet for Emacs
The incredibly handy [[http://clojure.org/cheatsheet][Clojure Cheatsheet]], updated for Clojure 1.7.0 and
packaged into an easy, fast, searchable, offline form:

[[screenshot1.png]]

** Status
Ready to use. Based on Clojure 1.7.0.

** Installation

If you're hooked up to [[http://melpa.milkbox.net/][MELPA]]:

#+BEGIN_EXAMPLE
M-x package-refresh-contents
M-x package-install RET clojure-cheatsheet
#+END_EXAMPLE

Alternatively just grab the single =clojure-cheatsheet.el= file and
install that in your preferred way.

*** Keybindings

The cheatsheet doesn't ship with keybindings - people tend to have
strong opinions on them. As a reminder, here's how to define custom
=clojure-mode= keybindings in your own =.emacs= config:

**** Regular Emacs
#+BEGIN_EXAMPLE
(eval-after-load 'clojure-mode
'(progn
(define-key clojure-mode-map (kbd "C-c C-h") #'clojure-cheatsheet)))
#+END_EXAMPLE

**** Evil Users
#+BEGIN_EXAMPLE
(evil-define-key 'normal
clojure-mode-map "H" 'clojure-cheatsheet)
#+END_EXAMPLE

** Basic Usage

Call =M-x clojure-cheatsheet= and the cheatsheet will appear. Type
in some terms (space separated) to narrow down the list. For example,
try typing in =sort map= to see some functions that deal with sorting maps.

*** Keys

| =C-n= | Next item. |
| =C-p= | Previous item. |
| =C-o= | Next section. |
| =RET= | Jump to the Clojure docs for the current selection. |
| =C-z= | Jump to the Clojure docs for the current selection /without closing the cheatsheet/. |
| =C-e= | Jump to the Clojure src for the current selection. |
| =C-h m= | Full list of keyboard shortcuts. |

** Advanced Usage

This package stands on top of Helm. The variable
=helm-source-clojure-cheatsheet= is available if you want to mix it in
as a Helm source.

** See Also
If you like this, and you like org-mode, then you'll probably like
[[https://github.com/emacs-helm/helm-orgcard][helm-orgcard]] too...

** Building

The constant =clojure-cheatsheet-hierarchy= defines the contents of
the cheatsheet. See the docstring of that constant for a full
description of the format.

There is a test suite in =clojure-cheatsheet-tests.el=
that checks that every symbol defined in the cheatsheet is valid, and
that every symbol defined by Clojure is in the sheet (with a few
explicit exceptions).

To run the test suite:

- Clone the project.
- Open =clojure-cheatsheet-tests.el=.
- Call =M-x eval-buffer=.
- Call =M-x cider-jack-in= to start a Clojure REPL.
- Call =M-x ert = to run the test suite.
- Optional: Marvel at Emacs' support for test suites.