#+TITLE:   editor/lispy
#+DATE:    October 27, 2018
#+SINCE:   v2.0
#+STARTUP: inlineimages

* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#prerequisites][Prerequisites]]
- [[#troubleshooting][Troubleshooting]]
  - [[#mouse-wheel-and-wrapadditional-wrap-key-themes-in-tty-emacs-2573][Mouse wheel and =wrap=/=additional-wrap= key themes in TTY Emacs (#2573)]]

* Description
This module adds [[https://github.com/noctuid/lispyville][lispy]] key functionality in Lisp languages.

This includes:

- Common Lisp
- Emacs Lisp
- Scheme
- Racket
- [[http://docs.hylang.org/en/stable/][Hy]]
- [[http://lfe.io/][LFE]]
- Clojure
- [[https://fennel-lang.org][Fennel]]

If evil is enabled, lispyville would also be activated for every mode where
lispy is active

The default key themes that are set are as follows:

#+BEGIN_SRC emacs-lisp
'((operators normal)
  c-w
  (prettify insert)
  (atom-movement normal visual)
  slurp/barf-lispy
  additional
  additional-insert)
#+END_SRC

To change the key themes set ~lispyville-key-theme~. Think of
~lispyville-key-theme~ as the equivalent of ~parinfer-extensions~. See
lispyville's [[https://github.com/noctuid/lispyville/blob/master/README.org][README]] for more info on the specific keybindings of each key theme
(starting [[https://github.com/noctuid/lispyville#operators-key-theme][here]]).

* Prerequisites
This module has no prerequisites.

* Troubleshooting
** Mouse wheel and =wrap=/=additional-wrap= key themes in TTY Emacs ([[https://github.com/hlissner/doom-emacs/issues/2573][#2573]])
lispyville binds =M-[= to ~lispyville-wrap-brackets~ when the =wrap= or
=additional-wrap= key theme are enabled. In terminal Emacs, this is the key
Emacs receives when you scroll with your mouse wheel.
